OLAPを初めて使用しましたが、2つ以上のエンティティ間でリレーションシップを作成する方法がまだわかりません。SSAS OLAP MDXとリレーションシップ
私はビューで立方体をベースにしています。単純化のための、このようにそれらを呼び出してみましょう:
viewParent(のParentID PK)
viewChild(たchildID PK、のParentID FK)
これらのビューは、複数のフィールドを持っているが、彼らは重要じゃありませんこの質問のために。
私のデータソースでは、リンクのParentIDを使ってviewParentとviewChildの間の関係を定義しました。
対策については、私は親と子のために別々の対策を作成することを余儀なくされました。しかし、MDXクエリでは
という関係はありません。私は親、子供のためのレコード数を選択して、親のためのいくつかのフィルタを追加すると、子の数が
SELECT {
[Measures].[ParentCount],[Measures].[ChildCount]
} ON COLUMNS
FROM [Cube]
WHERE {
(
{[Time].[Month].&[2011-06-01T00:00:00]}
,{[SomeDimension].&[Foo]}
)
}
選択ParentCountが正しい..ですそれを反映していないが、ChildCountはフィルタのいずれかに影響されません(親フィルタなので)。しかし、私は関係を定義して以来、どのようにWHERE句を使用して親によって子供をフィルタリングするためにそれを利用することができますか?
事実:
viewParent、viewChild
寸法:
ParentDimensionは ChildDimension(私が凝集したい子ビューからの属性が含まれています(私は上の集約たい親ビューからの属性が含まれています) on)
これは私が思いついたアイデアですが、おそらく私のデザイン/関係はオフです。
ディメンションとファクトの説明を追加すると役立ちます – ic3