1

私は MDX にかなり慣れていませんが、達成したいことはわかっていますが、非常に難しいことが証明されています。基本的に、各行が顧客の売上であるデータセットがあります。また、郵便番号のデータと各区の英国の人口も持っています。

次に、各病棟の総人口を、データ セット内の病棟コードの数で割ります。たとえば、病棟 A の人口は 1,000 人です。A 区に住んでいる顧客が 10 人いるので、人口値は 1,000/10 になります。

したがって、他のディメンションが選択されておらず、地域階層のみが選択されている限り、ドリルアップおよびドリルダウンでき、顧客数 / 計算された人口値としての人口浸透率は正しいです。しかし、より多くの次元を導入するとすぐに、総母集団はその真の値に加算されなくなります。

したがって、キューブ内で上記の計算を行う必要があり、これを行うための MDX 関数を見つけようとしています。

基本的に次のようなもの -

ステップ 1) 病棟コード (地理的階層の最下位レベル) の数を合計し、これを個別の病棟コード (例えば、wardcodeA = 5、wardcodeB=10 など) でグループ化します。

ステップ 2) 次に、各病棟の人口 (病棟レベルでの合計として保存し、平均を取ることができます) を取得し、これを前のステップの結果で割ります。

ステップ 3) 現在選択されている地理的レベルでの各病棟の結果を合計する

4

1 に答える 1

0

他の次元が顧客/人口の価値を変えているという事実は、モデリングの何かが間違っていることを意味します。

次のようなファクトテーブル(ビュー/コンセプトにすることができます)が必要です:

REGION_ID、CUSTOMER_COUNT、POPULATION_COUNT

これを取得したら、ファクトテーブルと、単一のディメンションがリンクされた顧客と人口をカウントするための特定のメジャーを作成します。これが重要なポイントです。メジャーを不要なディメンションにリンクしないでください。

于 2011-06-06T07:12:46.113 に答える