我在我的SSAS多維數據集中使用了上個月的上個月度量。我發現它在互聯網上的某個地方。它已被設置爲以下內容:當月份有不同天數時,MDX上個月的日期上一個月沒有顯示價值
iif (
[Date].[Calendar].currentmember.properties("level_number",Typed)<=2
,null
,
iif (
isempty (ParallelPeriod([Date].[Calendar].[Month],1,[Date].[Calendar].currentmember))
,Aggregate(
{
StrToMember(Ancestor([Date].[Calendar].currentmember,[Date].[Calendar].[Month]).Lag(1).FirstChild.uniquename)
:StrToMember(Ancestor([Date].[Calendar].currentmember,[Date].[Calendar].[Month]).Lag(1).LastChild.uniquename)
},[Measures].[Total actuals Prorata]
)
,SUM(
MTD(
ParallelPeriod([Date].[Calendar].[Month]
,1
,[Date].[Calendar].currentmember
)
),[Measures].[Sales]
)
)
它在按月級別按預期工作。即使當我在日常水平鑽取它的工作!但我的問題是,例如,7月31日,我的上個月迄今爲止有#VALUE,因爲6月31日沒有。對於所有其他月份而言,這與當前的日子較少有關。上述函數似乎在「iif語句」中擺脫了這個問題,但它不會!我的日曆層次按年,季,月,日組織。請幫忙嗎?
您對'StrToMember ... uniquename'的使用是完全無關緊要的。聚合返回到多維數據集中使用的聚合類型。 – whytheq