2017-02-21 5 views
1

、と(Fields!CSU.Value="CEG")和(IIF())は、特定のフィールド値に基づいて、マルチカテゴリの収入の割合を計算するには、次のステートメントを使用して複数のデータセット

=sum(iif(Fields!CSU.Value="CEG",cdbl(Sum(Fields!Multi_Cat__Rev.Value)/Sum(Fields!Est_Revenue_000_s.Value)/1000),0))

これは、現在のデータセットで正常に動作します私が使っていること。私はまた、2つのデータセット(同じ方程式)の違いを計算しようとしていますが、関数に2番目のデータセットを指定すると、ネストされた集計エラーが発生します。(下記参照)

計算フィールドに使用する式=Lookup(Fields!Opp__.Value,Fields!Opp__.Value,sum(iif(Fields!CSU.Value="CEG",cdbl(Sum(Fields!Multi_Cat__Rev.Value)/Sum(Fields!Est_Revenue_000_s.Value)/1000),0),"dsPriorWeek"))'集合体、RowNumberRunningValue、Previousまたはlookup関数が含まれます。 Aggregate, RowNumber

私はを通じて検索したし、私の問題の答えを見つけることができません、助けてください...ここで

は、私がこれを行うにしようとしています現在の方法です: =sum(iif(Fields!CSU.Value="CEG",cdbl(Sum(Fields!Multi_Cat__Rev.Value)/Sum(Fields!Est_Revenue_000_s.Value)/1000),0))-sum(iif(Fields!CSU.Value="CEG",cdbl(Sum(Fields!Multi_Cat__Rev.Value)/Sum(Fields!Est_Revenue_000_s.Value)/1000),0),"dsPriorWeek")

答えて

0

まず、あなた'LLはこの式をデータセットの計算フィールドではなく、レポートのテキストボックスに配置する必要があります。

第2に、Lookup関数の外で集計関数を呼び出す必要があります。ルックアップによって必要な列が戻され、集計されます。

編集: SSRSでは、ネスト集約は一般的に意味がありません。また、Sum関数でスコープを指定するパスを下げる場合は、1つのグループしか指定できません。したがって、テーブル内の複数の項目をグループ化する場合は、問題に迅速に対応できます。

説明に基づいて、1つのデータセットに必要なすべての値を取り込むようにクエリを書き直すことをお勧めします。 SSRSには、データセット全体をマージまたは集約する機能がありません。

+0

残念ですが、これはエラーです。テキストボックス 'Textbox13'の値式には、データセットスコープを指定する外部集計内の内部集計があります。データセットスコープを指定する集計には、他の集計を含めることはできません。 – John

+0

この式を使用すると次のようになります。= sum(iif(Fields!CSU.Value = "CEG"、cdbl(Sums!Fields!Multi_Cat__Rev.Value)/ Sum(Fields!Est_Revenue_000_s.Value)/ 1000)、0)) - sum (Fields!Est_Revenue_000_s.Value)/ 0)、0)、 "dsPriorWeek")フィールドの値を "CEG" – John

関連する問題