18

次のエラーが表示されます。

Error   1   [rsInvalidAggregateScope] The Value expression for the text box 
‘Textbox2’ has a scope parameter that is not valid for an aggregate function.  
The scope parameter must be set to a string constant that is equal to either 
the name of a containing group, the name of a containing data region, or 
the name of a dataset.

Textbox2 の背後にある式 (読みやすくするためにいくつかのスペースを追加しました):

Iif(Parameters!ReportParameterPersoneelsNr.Value.Equals(String.Empty),

       "Prestaties " + First(Fields!firmanaam.Value, "DataSetHrm") + 
        "(" + First(Fields!indienstfirmanr.Value, "DataSetHrm") + ")",

       "Prestaties " + First(Fields!naam.Value, "DataSetHrm") + " " +
       First(Fields!voornaam.Value, "DataSetHrm") + 
       "(" + First(Fields!personeelsnr.Value, "DataSetHrm") + ")")

フィールド:

      ReportParameterPersoneelsNr = Reportparameter of type Text
      firmanaam.Value = VARCHAR
      indienstfirmanr.Value = Long
      naam.Value = VARCHAR
      voornaam.Value = VARCHAR
      personeelsnr.Value = Long

Stackoverflow で検索すると、次の結果が得られました。しかし、これまでのところ、彼らは私の問題を解決するのに役立っていません

投稿 1: 集計関数の意味に対して無効なスコープ パラメータ

投稿 2: SqlTeam

誰かが私が間違っていることを指摘できますか?

:tostring()をどこにでも追加しても役に立ちませんでした

注2:「+」を「&」に置き換えても問題は解決しませんでした

注 3 : データセット名は正しく、データセットはこの SSRS レポートに存在する唯一のものです。

画像 Tds

更新:データセットに含まれるデータは有効であり、データセットの読み取りは機能しませんでした (エイリアスの有無にかかわらず試行されました)

4

7 に答える 7

10

DatasetName異なるinを使用しているときに、このエラーが発生することがありますExperssion

私の場合のように、以下のことを行うことでこのエラーを解決しました。

以前は以下のようでしたが、

="For Man " + 
   IIF(Len(First(Fields!Lname.Value, "DataSet1")) > 0,
   First(Fields!Lname.Value, "DataSet1"),"") & IIF(Len(First(Fields!Fname.Value, "DataSet1")) > 0,
   ", " + First(Fields!Fname.Value, "DataSet1"),"")

以下に変更した後、現在は正常に動作していますが、

="For Man " + 
    IIF(Len(First(Fields!Lname.Value, "LastChangedDataSetName")) > 0,
    First(Fields!Lname.Value, "LastChangedDataSetName"),"") & IIF(Len(First(Fields!Fname.Value, "LastChangedDataSetName")) > 0,
    ", " + First(Fields!Fname.Value, "LastChangedDataSetName"),"")

注:ここでの間違いは、 DataSet Name FromDataSet1変更し、 DataSet Name を変更する前に既に書いLastChangedDataSetNameた名前を最後に変更し続けたことです。Expression

于 2016-01-12T07:34:03.843 に答える
2

最近、レポートの 1 つで同様の問題に直面しました。このエラーが発生する理由は、データ セットの名前とレポートの式が一致しないためです。

ユーザー設定が入力された日付フィールドがあり、式は First(Fields!column.Value, "datasetname")です。データセット名とレポート データで指定されたデータセット名は一致する必要があります。

于 2016-03-22T14:50:08.757 に答える
1

スコープ参照が適切ではありません (「DataSetHrm」)。テキストボックスからのエラーメッセージが示すように、参照できるのは、テーブル内のグループ (スコープ名 = グループ名)、テーブル自体 (データ領域 -> スコープ名 = データ領域名)、または属するデータセットであることができる包含スコープのみです。データ領域 (スコープ名 = データセット名) に。

上記の領域がデータセットに埋め込まれている場合 (データセット -> データ領域 -> データ グループ)、テキスト ボックスから参照できます。あなたの例では、そうではありません。

テキスト ボックスで実際のデータセット (テーブルのデータセット) とは異なる別のデータセットを使用する場合は、lookup() 関数を使用する必要があります。

于 2014-02-04T18:43:26.287 に答える