我有YTD的MDX:
YTD( StrToMember(" [Time].[Year - Month - Date] .&[" + Format(now(), "yyyy-MM-" + "01T00:00:00") + "]"))
这很好用。
现在我试图让YTD去年的MDX如此:
PARALLERPERIOD([Time].[Year - Month - Date].[Year],1,YTD)
但它不起作用。
我应该如何处理?
答案 0 :(得分:0)
根据MSDN,ParallelPeriod接受Member_Expression作为第三个参数。这意味着你可以使用这样的代码:
但是你无法使用SET表达式或实际SET(即{A:B}或轴引用)作为ParallelPeriod参数
答案 1 :(得分:0)
更好的选择是如下定义您的PY措施:
CREATE MEMBER CURRENTCUBE.[Measures].[Value PY] AS Null
并将此代码添加到脚本
([Measures].[Value PY] , [Time].[Year - Quarter - Month - Week - Day].MEMBERS) = Sum(Existing [Time].[Year - Quarter - Month - Week - Day].[Day].MEMBERS, (ParallelPeriod([Time].[Year - Quarter - Month - Week - Day].[Year]), [Measures].[Value]))
此解决方案适用于您的所有查询,如果您想在查询中使用单个成员或成员集,则无关紧要。