2016-10-31 14 views
1

このMDX関数raiseエラーを取得エラー:MDX CURRENTMEMBERは私が

with member measures.x as 
(
    [Date].[Date].[Date].&[20160101] : [Date].[Date].[Date].currentmember.value 
    , 
    [Measures].[current balance] 
) 

select measures.x on columns, 
[Branch].[HeadOffice Branch].[Head Office Code] on rows 
from MyCube 

エラーは次のとおりです。 CURRENTMEMBER機能は1つの引数の階層表現を期待しています。メンバ式が使用されました。

しかし、私は [日付]。[日付]。[日付]を使用します。 & [20160101]:[日付]。[日付]。[日付]。 & [20160131] 正常に動作します

なぜですか?

+0

こんにちは - 私はcurrentmemberの使用の理由が不明なので、あなたはこのスクリプトで達成しようとしていることを詳述する別の質問を投稿したいかもしれません。今日の日付を取得しようとしていますか? (もしあなたがちょうど探検しているなら - mdxでうまくいけば - 私は無視する) – whytheq

答えて

2

これは有効なMDXです:

[Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember 

これではありませんが:

WITH member measures.x AS 
    (
    [Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember 
    , 
    [Measures].[current balance] 
) 

ラウンド括弧(...)はタプルを意味するのでそれが有効ではないですが、最初のように、タプルが正確な座標が必要です引数を設定することはできません。

あなたはSUMなどの集約を追加することができます。

WITH member measures.x AS 
    SUM 
    (
    [Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember 
    , 
    [Measures].[current balance] 
    ) 

これはmdx有効ですが、あなたがWHEREまたはSELECT句で文脈、すなわちで[Date].[Date]を持っていない場合、それが戻っているすべてはAllメンバーです。

なぜ[Date].[Date].currentmemberを使用していますか?

1

CURRENTMEMBERは、属性階層(あなたのケース[日付]。[日付])で動作します。だから[日付]。[日付] .CURRENTメンバーが動作します。

また、値セレクタを取り出す必要があります。式は日付の集合を返します(member:memberは、その2つのメンバー間のすべてのメンバーのセットを返します)。