1

多数のKPIスコアを示すReportingServicesレポートがあります。各KPIには、レポートに独自の行があり、各行について、過去3年間のSUMまたはAVG(KPIタイプに応じて)スコアを表示し、次に、現在の年の1か月あたりのSUM、AVG、または(理想的には)合計YTD値を表示します。 :

KPI                     2009 2010 2011  Jan Feb Mar Apr May etc.
Bagels Eaten (Total)    100   90    70  10  20  9   13  14
Sandwiches (Cumm. YTD)  90    75    86  13  23  46  65  76

私が見ている問題は、RunningValue関数が、フィルター処理された列グループと、1月、2月、3月の列を構成する現在の行(年と月でグループ化され、フィルター処理された月次データ)内ではなく、行全体で機能しているように見えることです。今年)。したがって、出力は上記のようにはならず、代わりに、行のすべての値に基づいたかなりランダムな数値になります(ランダムではないことを確信しています)。

列グループは「MonthNum」と呼ばれ、セル値の式は、ソースデータの「AggregationType」値に基づいて適用する集計を決定します。

=Switch(Fields!AggregationType.Value="SUM", Sum(Fields!ScoreValue.Value), 
       Fields!AggregationType.Value="AVG", Avg(Fields!ScoreValue.Value), 
       Fields!AggregationType.Value="YTD", 
       RunningValue(Fields!ScoreValue.Value,Sum,"MonthNum"))

どんな助けでも大歓迎

更新: 使用されているデータセットの数行(1か月あたりのスコア、kpiあたりのスコア)の例を次に示します(フォーマットは少し注意が必要です)。集計タイプが「YTD」のアイテムには、累積YTD式が適用され、それ以外はすべて、当月のSUMになります。

KpiID   Title   KPIOwner    ScoreValue  YearNum MonthNum    ReportingGroupTitle ScoreType   DisplayOrder    DisplayPrecision    UnitOfMeasure   AggregationType
5   Donuts Served   Donut Manager   35  2007    1   Catering Services   Actual  10020   0   Number  YTD
5   Donuts Served   Donut Manager   42  2007    2   Catering Services   Actual  10020   0   Number  YTD
5   Donuts Served   Donut Manager   86  2007    3   Catering Services   Actual  10020   0   Number  YTD
5   Donuts Served   Donut Manager   14  2007    4   Catering Services   Actual  10020   0   Number  YTD
6   Donuts Cooked   Donut Manager   45  2007    1   Catering Services   Actual  10020   0   Number  SUM
6   Donuts Cooked   Donut Manager   48  2007    2   Catering Services   Actual  10020   0   Number  SUM
6   Donuts Cooked   Donut Manager   93  2007    3   Catering Services   Actual  10020   0   Number  SUM
6   Donuts Cooked   Donut Manager   32  2007    4   Catering Services   Actual  10020   0   Number  SUM
6   Donuts Cooked   Donut Manager   18  2007    5   Catering Services   Actual  10020   0   Number  SUM
4

1 に答える 1

1

あなたの質問から私が理解していることから、これは私がすることです:

集計タイプYTDが、MonthNumまで(およびそれを含む)累積合計を返すと仮定します。

KpiIDに2つのグループ、AggregationTypeに子グループ、および年と月に1つずつ(隣接する)2つの列グループ(年グループでは、現在のグループを含めないようにフィルターを作成)でマトリックスを作成します。年および月のグループは、年が現在の年ではない値を除外します)。

次に、年と月のグループの両方に次の式を使用できます(最後の式は、各年の最後の月のYTD値を示します)

=Switch(Fields!AggregationType.Value="SUM", Sum(Fields!ScoreValue.Value), 
       Fields!AggregationType.Value="AVG", Avg(Fields!ScoreValue.Value), 
       Fields!AggregationType.Value="YTD", Last(Fields!ScoreValue.Value))
于 2012-10-02T17:49:15.183 に答える