2017-10-05 11 views
0

一部のレポートを復元する処理中です。これを行うには、ここでメソッドRDLファイルを取得して再作成する必要がありました:Where does a published RDL file sitSSRS 2016「関数がすべてのコードパスで値を返しません」

私は他のスレッドのクエリからの出力を取って、結果を保存します(1人のコメント作成者が別の方法でデータをすべて取得しない可能性があると指摘していました)、テキストエディタで開き、 2つの二重引用符を連続して1つの二重引用符に置き換えてから、RDLファイルをレポートサーバーにアップロードします。

これは、任意のカスタム関数なしでレポートのために、これまで取り組んできた - 私はSumLookupとAvgLookup機能とレポートに着いたらしかし、私は次のエラーを取得する:

An error has occurred.

An unexpected error occurred while compiling expressions. Native compiler return value: '[BC42353] Function 'AvgLookup' doesn't return a value on all code paths. Are you missing a 'Return' statement?'.

IオリジナルAvgLookup機能

:私は単に1を返す単純な関数でこれを交換しようとした

Function AvgLookup(ByVal items As Object()) As Decimal 
If items Is Nothing Then 
    Return Nothing 
End If 
Dim suma As Decimal = 0 
Dim avga As Decimal = 0 
Dim counta As Integer = 0 
For Each item As Object In items 
    If Not item Is Nothing Then 

    counta += 1 

    suma += Convert.ToDecimal(item) 
    End If 
Next 
If counta > 0 Then 
    avga = suma/counta 
Else 
    avga = 0 
End If 
Return avga 
End Function 

:ある前にGoogleで検索して、今まで罰金取り組んできました

しかし、これは私に同じエラーを与えます。

これまでに検索したものは、実際には必ずしも返り値がないわけではないので、単純な "返り値1"関数が同じエラーを返すという損失があります。

私が考えることができることは、RDLファイルとそれらの関数への参照からすべてのカスタムコードを削除し、アップロード後にそれらを置き換えることだと思います。別の解決策がありますか?

+0

これは機能しますか? 機能AvgLookup()As 10進数 返信1 最終機能 –

+0

私は応答を感謝します - ちょうどそれを試み、同じエラーが発生しました。私がやったこと:.rdlから関数を削除し、 "Code.AvgLookup"を "AVg"(大文字を書き留めてください)に置き換え、このファイルをアップロードし、レポートビルダーでAvgLookup関数を追加し、.rdlをダウンロードし、検索します"AVg"(大文字と小文字を区別)を "Code.AvgLookup"に置き換え、再アップロードします。私はこの機能を使ったレポートがあまりにも多くなかったので、それほど大きな問題ではありませんでした。しかし、私はこのことが起こるのを知りたいのは興味があります。 –

+0

hmmm、私が試してみる最後のもの。 uiロジックに奇妙なエッジケース変換があるかどうかを確認してください。結果としてAs Stringを使用し、 "1"を返します。それがより重要なものが得られない場合は、ssrsから既存の.rdlを削除し、新しく再デプロイします。 –

答えて

0

だから、私は結局問題を理解しました。

本質的に、レポートファイルの実際のコードをレポートサーバーから取得したクエリは、コードをすべて1行に残します。関数は新しい行に各コマンドを持つ必要があります。 RDLファイルを編集したとき、同じ行にすべての機能を保持していました。

は、だから私は正確代わりに、彼らは本当に存在しない場合には、はるかに早く問題を解決してきたことと、読みやすくするために新しい行を作成するのではなく、助けを求めるとき、私が持っているコードを貼り付けるために私のレッスンを学びました。

関連する問題