0

以下は写真の私の要件です

サンプルデータ

1 番目のテーブルは、少なくとも粒度です。平均は によって計算されます。Date + Placeしたがって、平均は565 = (2865/5)です。

2 番目のテーブルに来ます。702 位の平均は 114 で、704 は 866 で、これも正しいです。しかし、最終的な ans は、5 つのレコードすべての平均と同じです。

しかし、私の出力はDate + Place単一のレベルでの平均のようになるはずですDate + Placeが、2つの場所が選択されている場合は、場所レベルで平均する必要がありますが、合計出力で合計する必要があります..最終値は980(合計(114 + 866))

誰かがこれに対する解決策を持っていますか?

4

2 に答える 2

1

SSAS 多次元の平均と同様に、2 つの物理的メジャーを作成する必要があります。1 つ目は、AggregateFunction=Sum である A の合計です。2 つ目は、AggregateFunction=Count である行数です。

計算を実装するより迅速な方法は、次の計算されたメジャーを使用することです。

SUM(
 EXISTING [Place].[Place].[Place].Members,
 DIVIDE( [Measures].[Sum of A], [Measures].[Count of Rows] )
)

ただし、パフォーマンスを向上させ、複数選択フィルターを適切に処理する場合は、Avg A という物理メジャーを作成します。これは、AggregateFunction=Sum が常に 0 である SQL テーブルの新しい列から除外されます。次に、そのメジャーの値を次のスコープ ステートメント:

SCOPE([Place].[Place].[Place].Members);
     [Measures].[Avg A] = DIVIDE( [Measures].[Sum of A], [Measures].[Count of Rows] );
END SCOPE;
于 2018-03-16T04:06:30.957 に答える
0

これを試して:

AvgA = SUMX(SUMMARIZE(Table2, Table2[Place], "A", AVERAGE(Table2[A])), [A])

Aこれは、それぞれのグループ化の平均を取りPlace、小計のためにそれらを合計します。

于 2018-03-15T22:53:55.473 に答える