質問
私のキューブからの関連構造が、私は「クラス」と「サブクラス」との階層を持っているということです。私はまた、イム取得しようとするものである「バリュー」と呼ばれる測定があります。
単純なクエリは次のようになります:
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY ([Some Dimension].[Class Hierarchy].[Class]) ON ROWS
FROM [MyCube]
そして、私は明らかにADOMDに返される階層を使用してサブクラスを読むことができます。
CellSetを中に個別のメンバーとしての両方のクラスとサブクラスを受けるように私の問題は二つあると、まずどのように私はこの階層を「フラット化」でしょうか?これは動作しません。
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY (
[Some Dimension].[Class Hierarchy].[Class],
[Some Dimension].[Class Hierarchy].[Sub Class]
) ON ROWS
FROM [MyCube]
クラス階層階層はCROSSJOIN関数で複数回使用される
私はactuually何をする必要があるか第二の問題は、特定のクラス、上記と同じ理由で、再び、この文句を言わない仕事に上記のフィルタです。
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY (
{[Some Dimension].[Class Hierarchy].[Class].&[ClassA],[Some Dimension].[Class Hierarchy].[Class].&[ClassB]},
[Some Dimension].[Class Hierarchy].[Sub Class]
) ON ROWS
FROM [MyCube]
すべてのヘルプははるかに高く評価。 MDXは私にナットを運転しています!
解決
あなたはあなたの次元のMEMBERSプロパティを表示されません。
あなたの最初の例では、これを試してみてください
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY {(
[Some Dimension].[Class Hierarchy].[Class].MEMBERS,
[Some Dimension].[Class Hierarchy].[Sub Class].MEMBERS)} ON ROWS
FROM [MyCube]
あなたの第二の例では、これを試してみてください
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY {(
[Some Dimension].[Class Hierarchy].[Class].&[ClassA],
[Some Dimension].[Class Hierarchy].[Class].&[ClassB],
[Some Dimension].[Class Hierarchy].[Sub Class].MEMBERS)} ON ROWS
FROM [MyCube]
他のヒント
あなたのWHERE句での
を使用するサブクエリ。 MDXは常に一つだけ軸上の1次元の使用を制限されます。
サブクエリは、その周りを取得する方法です。 MDXは、同様にナット私を運転した後、私は最近、このトリックを学んだ..
こんにちは、このクエリは、私のために働いています。
SELECT NON EMPTY { [Measures].[App Count] }
ON COLUMNS,
NON EMPTY
{(
EXISTING
(
[MART TIME DIM].[Date].[Date] .MEMBERS) *
[New Ren DIM].[New Ren CODE].[New Ren CODE].ALLMEMBERS
)}
ON ROWS FROM [SubmissionCube]
where
({
[MART BROKER DIM].[BROKER ID].&[10812]},{[MART TIME DIM].[Year].&[2015],
{[MARTTIME DIM].[Year].&[2016]}
})
クエリが持っているとして、where句で「}」に注意してください。
所属していません StackOverflow