1

階層[Measures].[Days in the period]の日数を計算するものがあります。Time

今日までの日数を返す計算メンバーを作成したいと思います。たとえば、今日が 11 月 14 日の場合、11 月は (30 日ではなく) 14 日表示する必要があります。そして、今後の月 (12 月など) は null になります。SQL の GetDate() のようなものはないので、簡単に実装する方法について少し混乱しています。私の最初のコードにはあまりありません:

member [Measures].[Days in the period passed] as [Measures].[Days in the period] 
4

1 に答える 1

1

自分で解決しました。以下のコードはその仕事をします:

WITH
MEMBER [Measures].[Days in the period passed] AS 
FILTER 
(
Descendants([Time].[Calendar], [Time].[Calendar].[Day]),
[Time].[Day].Properties("Day key") <= FORMAT(NOW(), "yyyyMMdd")
).COUNT

編集:よりエレガントで正しい方法はスコープです:

SCOPE
( 
[Measures].[Days in the period passed], [Time].[Day].[Day].Members
);   

THIS =  IIF([Time].[Day].CurrentMember.Properties( "Key0" ) <= FORMAT(NOW(), "yyyyMMdd"),
                        [Measures].[Days in the period],
                        NULL); 
END SCOPE; 

選択を確認しています:

SELECT 
([Time].[Calendar].[Mouth]) ON COLUMNS,
(([Measures].[Days in the period passed])) ON ROWS
FROM [TestCube]
于 2013-11-03T19:19:19.590 に答える