クエリ スコープの計算メジャーを使用してエイリアスを作成できます。例として、AdventureWorks キューブを使用しています。次のクエリは、指定したメンバーのカレンダー階層の最後の子を取得します。
SELECT [Date].[Calendar].[All Periods].[CY 2014].[H1 CY 2014].lastchild on 0
FROM [Adventure Works]
あなたが述べたように、最後の子は時間の経過とともに変化するため、メンバー名が変化し、定数名を提供するためにエイリアスを作成する必要があります。これを行うには、計算メジャーを作成します。ロジックを WITH MEMBER ステートメントに移動し、メンバーの代わりにメンバー キャプションを取得してから、新しい計算メジャーを 0 軸で使用します。
WITH MEMBER [Measures].[MyLastChild] AS
[Date].[Calendar].[All Periods].[CY 2014].[H1 CY 2014].LASTCHILD.MEMBER_CAPTION
SELECT {Measures.MyLastChild} on 0
FROM [Adventure Works]
したがって、クエリは次のようになります
WITH MEMBER [Measures].[Last Day] AS
[Calendar].[Report Days].[All Members].[WantInReport].[Yesterday].LastChild.MEMBER_CAPTION
SELECT [Measures].[Last Day] ON 0
FROM [MyCube]
MDX クエリを実行してその結果を SSIS に返すのに問題がある場合は、いくつかのオプションがあります。
- ここに示すように、OLE DB ソースを使用します。
- リンク サーバーをセットアップし、OpenQuery を使用して MDX の結果を T-SQL の結果として返します(この状況ではお勧めしません)。