1

このDrillhrough回避策を使用する代わりに、MDXコマンドを使用してSSASキューブから単純なグリッド(基本的にSQL selectステートメントのように見える)を表示するより良い方法はありますか?

これが私がこれまで使ってきたものです:

DRILLTHROUGH  
Select  
([Measures].[Some Measure]) on columns 
From (
  Select
    {
      [PeriodSpan].&[201301] : [PeriodSpan].&[201304]
    }

    on columns
  From [CubeName]
  )
RETURN 
[$Dimension1].[Attribute1],[$Dimension1].[Attribute2],[$Dimension1].[Attribute3],[$Dimension1].[Attribute4],[$Dimension1].[Attribute5],
[$Dimension2].[Attribute1],[$Dimension2].[Attribute2],[$Dimension2].[Attribute3],
[$Dimension3].[Attribute1],[$Dimension3].[Attribute2],[$Dimension3].[Attribute3],[$Dimension3].[Attribute4],
IIF([Dimension4].[Attribute1]=[Dimension4].[Attribute1].&[False],[Dimension4].[Attribute2],[Dimension4].[Attribute3])

問題は、IFF条件を機能させる方法がわからないことです。コマンドを実行しようとすると、「IIF MDX 関数に渡された引数が多すぎます。引数は 1 つしか許可されません。」というエラー メッセージが表示されます。また、計算スクリプトを使用して、キューブ レベルで新しいメンバーを作成しようとしました。

SCOPE (some hierarchy here which I'm still not clear on how to use);
 IF [$Dimension4].[Attribute1] IS [$Dimension4].[Attribute1].&[False] THEN this = [Dimension4].[Attribute2] END IF;
 IF [$Dimension4].[Attribute1] IS [$Dimension4].[Attribute1].&[True] THEN this = [Dimension4].[Attribute3] END IF;
END SCOPE

計算メンバーと名前付きセットも試しましたが、結果はありませんでした。

私は SSAS と MDX にかなり慣れていませんが、私が達成しようとしていることを理解していただければ幸いです。前もって感謝します。どんな助けでも大歓迎です。

4

0 に答える 0