(ブログは向かない・・・怠惰なオイラ)計算されるメンバー MSDNネタ

思い立った時が、書くとき。。。おいらの基本方針としよう。

SSASは、自動で事前集計データを内部で保持してくれるから、集計検索が高速におこなえる。
RelationalDatabaseは、クエリ発行時に集計操作を行うので、これほど高速にはならない。

でも、スタンダードな使い方ではないケースも出てくるわな。そりゃ。

で今回MSDNに出ていた質問が、「メジャーについて、全体集計が表示されなくしたい」という特異なケース。
【数量は「全組織合計」を出したいけど、金額は「全組織合計」を空欄にしたい】
というご要望でした。(金額・数量ではそんなことはレアなんだけど、例として)

こういう時に使えるのが、「計算されるメンバー」です。
MDXの式を定義しておくことで、出力される値を制御できます。


今回の要望だと

CASE WHEN [«dimension»].[«Hierarchy»].CurrentMember IS [«dimension»].[«Hierarchy»].[All]
THEN Null
ELSE [Measures].[«Target Measure»]
END

てな感じの式で 実現できます。


MDX式は、取り付きにくいし、解説本もレアだというのが難点ですが、
製品のヘルプ(MSのサイト)がよくできているので、挑戦してみる価値はあります。