2017-01-03 7 views
0

SQL Server 2014 Enterprise EditionでAnalysis Servicesを使用しています。集計の最後の期間が有効でないmdx

最後の3か月の値を集計するTimeframeディメンションの新しいメンバーを作成しようとしています。次のmdxコードはエラーなしでコンパイルされますが、小節で参照すると、最後の3か月の合計ではなく、月の数値が表示されます。私は間違って何をしていますか?どんな助けもありがとうございます。

CREATE MEMBER CURRENTCUBE.[Timeframe].[Timeframe].[ROLLING 3 MONTH] 
AS IIF([Accounting Date].[Accounting Date].CurrentMember.Level.Name="Month", AGGREGATE(LASTPERIODS(3),[Timeframe].[Timeframe].&[1]), NULL), 
VISIBLE = 1; 

ありがとうございました。

答えて

1

次のことを試してください:

CREATE MEMBER CURRENTCUBE.[Timeframe].[Timeframe].[ROLLING 3 MONTH] 
AS 
IIF(
    [Accounting Date].[Accounting Date].CurrentMember.Level.Name="Month", 
    AGGREGATE(
    LASTPERIODS(3, [Accounting Date].[Accounting Date].CurrentMember), 
    [Timeframe].[Timeframe].&[1] 
    ), 
NULL), 
VISIBLE = 1; 

LASTPERIODS機能でメンバーを指定するあなたが欠落してうまくいけば何です。 SSASはおそらく他のDate階層を想定していたか、階層や次元に適切なマークが付けられていない可能性があります。それで大丈夫です。メンバーを指定するだけで動作するはずです。

ところで、パフォーマンス上の理由から、レベル名を確認する代わりに、SCOPEというステートメントが好きです。あなたが持っているものはうまくいくはずですが、パフォーマンスの問題が発生した場合はSCOPEの文を調べるか、そのMDXを最適化するように求める新しいスレッドを作成してください。

あなたはExcel 2010以上を使用していることを前提としています。そうでなければwatch out

関連する問題