Mdx 动态选择日期
目标是若当前月份为1,则通过上一年,否则通过当前年度。我总是想要上个月的数据。我有动态月逻辑工作,只是一年给我带来了问题。我试图用IIF声明来说明这一点,但始终返回当年Mdx 动态选择日期,mdx,Mdx,目标是若当前月份为1,则通过上一年,否则通过当前年度。我总是想要上个月的数据。我有动态月逻辑工作,只是一年给我带来了问题。我试图用IIF声明来说明这一点,但始终返回当年 SELECT ( { IIF( Month(Now()) = '1', Strtomember(" [Posting Date].[Year].&[" + cstr(year(dateadd('yyyy',-1,now()))) + "] "),
SELECT ( { IIF( Month(Now()) = '1', Strtomember(" [Posting Date].[Year].&[" + cstr(year(dateadd('yyyy',-1,now()))) + "] "),
Strtomember(" [Posting Date].[Year].&[" + cstr(year(now())) + "] "))
} ) ON COLUMNS
我已经验证了当我移除IIf时,每个stroMember
部件都能独立正常工作。我可以查询当前年份,然后交换Strtomember并返回当前年份-1
注意:出于测试目的,我有
IIF(Month(Now())=“6”
,因为在发布时它是当前月份。我应该返回当前年份-1,但我返回当前年份。尝试将“1”改为数字1:
而不是Month(Now())=“1”
使用
Month(Now())=1
上述更改在我的多维数据集上运行良好:
SELECT
{
IIF
(
Month(Now()) = 6
,StrToMember
("[Date].[Date - Calendar Month].[Calendar Year].&["
+
Cstr(Year(Dateadd('yyyy',-1,Now())))
+ "]"
)
,StrToMember
(
"[Date].[Date - Calendar Month].[Calendar Year].&[" + Cstr(Year(Now()))
+ "] "
)
)
} ON COLUMNS