SQL には精通していますが、MDX は初めてなので、次のことを理解するのに苦労しています。
毎月の口座残高のスナップショットを含むファクト テーブルがあります。残高を半加法的尺度としてロールアップする必要があります。明らかに、残高に対して単純な合計は機能しません。ただし、すべてのアカウントの残高を合計して、各月内のすべての残高を個別に合計する必要があるため、「lastnonempty」の概念も機能しません。例、事実が次のように見える場合:
Date AccountNo Balance
2009-01-31 1111 $100
2009-01-31 2222 $100
2009-01-31 4444 $100
2009-01-31 5555 $100
2009-02-28 1111 $100
2009-02-28 2222 $200
2009-02-28 3333 $500
2009-02-28 5555 $50
etc.
また、アカウントをメジャー カテゴリ/マイナー カテゴリ/アカウント階層にグループ化するアカウント ディメンションがあります。すべてのアカウントの各月の残高を合計する次のような出力が必要です。
Month Total
January 09 $400
February 09 $850
また、アカウントの種類ごとに分類すると、次のようになります。
Month Total
January 09 $400
Type 1 $200
1111 $100
2222 $100
Type 2 $200
February 09 $850
Type 1 $300
Type 2 $550
ただし、残高は月、四半期、または年にまたがって合計するべきではありません。意味がなく、2 回カウントされるからです。時間間隔が長くなると、期間の終わりが表示されます。
Quarter WRONG Correct
Q1 $1250 $850 // should be the sum of balances for the *last* month in Q1
Type 1 $500 $300
Type 2 $759 $550
株式の「lastnonempty」集計を使用すると、先月の口座残高の合計ではなく、1 か月の文字通り最後の口座行のみが取得されるようです。あたかもその月の合計が、合計ではなく、その月に存在する 1 つのランダムな口座から取られた残高を示しているかのようです。(私はそれが本当にランダムではないことを確信しています、おそらく保管順序または何かに基づいて1つを選んでいます)
私は単純で間違ったことをしているだけだと確信しています...