2017-01-19 26 views
1

時間の経過とともに販売活動を評価するSQL Server Report Builderのtablixレポートがあります。MS SSRS Tablixグループの平均の合計

会社ごとの列は、日付でグループ化されています。このような何か:

   2015 2016 2017 
Company1   10  12  1 
Company2   6  5  0 
Company3   8  10  7 

(報告書はまた、数ヶ月に列を拡大)

私は毎年の合計の平均に基づいて算出した背景を、列を追加、または着色したいと思います。例えば、2017年を含むと、Company1の平均は7.6 /年です。私は2015年が平均の131%、2016年が平均の157%、2017が平均の13%であると言いたいと思います。現在の年を平均から除外できればボーナスポイント。ソースデータが行ごとに販売を持っている、とのTablix日付でグループ化され、カウントを作成しているものですので、私は実行することができないよう

   2015   2016   2017 
Company1   10 (131%)  12 (157%)  1 (7.6%) 
Company2   6 (%%)  5 (%%)  0 (%%) 
Company3   8 (%%)  10 (%%)  7 (%%) 

結果は次のようになります。私はカウントの列を数えているという事実のため、ちょうど私に "1"を与えている。ソースデータは次のようになります。

CompanyName Date  SalesRep  Amt  Count 
Company1, 1/1/2015, salesrepname, 50000, 1 
Company1, 2/1/2015, salesrepname, 20000, 1 
Company1, 3/1/2015, salesrepname, 50000, 1 
Company1, 4/1/2015, salesrepname, 10000, 1 
Company1, 5/1/2015, salesrepname, 5000, 1 
... 

年平均を取得するにはどうすればよいですか?

答えて

0

あなたが会社と年だけでグループ化していた場合は、グループ名で集計の範囲を上書きできます。しかし、SSRSにはグループの組み合わせを指定する方法はありません。したがって、あなたの場合、それらの部分計算を別の方法で利用できるようにする必要があります。通常、SQLでこれを行うのが最善です。既存のクエリにサブクエリを追加するか(推奨)、追加のデータセットを追加することができます。別のデータセットを使用する場合は、値をLookup関数と一致させる必要があります。

カスタムコードのような巧妙な回避策を考えたり、テキストボックスを参照しようとすると、維持が難しくなり、非常に非効率になります。

0

この作品のような公式はありませんか?

=sum(Fields!count.Value)/ 
(sum(Fields!count.Value,"Year")/countdistinct(Fields!CompanyName.Value,"Year")) 

あなたの列グループ名を年とすると、

+0

"Year"がテーブル/マトリックス内の唯一のグループである場合にのみ有効です。 – StevenWhite