Analysis Servicesには、過去3つの期間に基づいた場所の1日の平均収益を返す計算されたメジャーがあります。期間は場所によって定義された期間であるため、ある場所では月ごとに期間を閉じ、別の場所では四半期ごとに期間を閉じることができます。
1日の平均収益を返すために、ある期間の収益とその期間に寄与する日数を返すfactPeriodsテーブルがあります。次のMDXは、ロケーションレベルで正しい値を返します([Measures]。[Days In AR Charges])/([Measures]。[Days In AR Days])。
問題は、より高いレベルにロールアップする場合です。たとえば、州ごとの1日の平均収益を返したい場合、最初に期間に寄与する日数を集計してから除算するため、計算が正しくありません。最初に最低レベルで平均化を行い、次に1日の平均収益の結果を合計したいと思います。これは、何が起こるかと私が何をしたいのかという例です。
AとBの2つの場所しかないとします。Aは毎月閉店し、Bは四半期ごとに閉店します。最後のクローズの結果は次のとおりです。
場所/収益/収益に貢献する日数
場所A/$3000/30日場所B/$1800/90日
ロケーションAは1日あたり100ドルの収益を生み出しており、ロケーションBは1日あたりわずか20ドルの収益を生み出しています。私の合計は120ドルになるはずです。代わりに、1日あたり40ドルを返します。これが計算レベルで起こることです。
数式を擬似コードSUM(([Measures]。[Days In AR Charges])/([Measures]。[Days In AR Days]))にしたいと思います
しかし、実際には(SUM([Measures]。[Days In AR Charges]))/(SUM([Measures]。[Days In AR Days]))
誰かが私がこれを望み通りに機能させるための適切な式を決定するのを手伝ってもらえますか?最終的には、$ 4800/120日ではなく、$100/日+$20/日になるはずです。子孫を使用する必要があるのではないかと疑っていますが、子孫をどのように使用するのか、またはそれが正しい方向であるかどうかはわかりません。