从SSAS开始日期到今天的销售总和SSAS中MDX计算
问题描述:
我正在尝试在ssas计算选项卡中编写一个查询,以便产生下面的结果。这就像我计算从2016年2月1日至今的YTD计算。我在Management Studio中编写了以下查询,但我需要将其转换为SSAS计算并将其写入“计算”选项卡。从SSAS开始日期到今天的销售总和SSAS中MDX计算
WITH
MEMBER [Measures].[ytd Sales Target 2] AS
Sum
(
StrToMember
(
'[Sales Date].[Date].&[' + Format(Now(),'yyyy-') + '02-01T00:00:00]'
)
:
StrToMember
(
'[Sales Date].[Date].&[' + Format(Now(),'yyyy-') + Format(Now(),'MM-')
+
Format
(
Now()
,'dd'
)
+ 'T00:00:00]'
)
,[Measures].[sales target]
)
SELECT
[Measures].[ytd Sales Target 2] ON 0
FROM [sales];
答
它应该是简单的:
CREATE MEMBER CURRENTCUBE.[Measures].[ytd Sales Target 2]
AS
Sum
(
StrToMember
(
'[Sales Date].[Date].&[' + Format(Now(),'yyyy') + '-02-01T00:00:00]'
)
:
StrToMember
(
'[Sales Date].[Date].&[' + Format(Now(),'yyyy-MM-dd')+'T00:00:00]'
)
,[Measures].[sales target]
),
VISIBLE = 1;
这样不会占用您的时间考虑。但只要稍作改动就可以“时间意识到”。我在2月1日之前添加了一些检查日期以便忽略。
CREATE MEMBER CURRENTCUBE.[Measures].[ytd Sales Target 2]
AS
iif(
[Sales Date].[Date].CURRENTMEMBER.MEMBER_KEY < StrToMember('[Sales Date].[Date].&[' + Format(Now(),'yyyy') + '-02-01T00:00:00]').MEMBER_KEY
,NULL
,Sum (
StrToMember
(
'[Sales Date].[Date].&[' + Format(Now(),'yyyy') + '-02-01T00:00:00]'
)
:
StrToMember
(
[Sales Date].[Date].CURRENTMEMBER
)
,[Measures].[sales target]
)
),
VISIBLE = 1;
你有任何一种日期层次与年 - >月 - >日期?会使创建更加动态的计算更容易。 – mxix