SSAS MDX上一年-忽略筛选器

SSAS MDX上一年-忽略筛选器,ssas,mdx,mdx-query,analysisservices,Ssas,Mdx,Mdx Query,Analysisservices,我试图得到实际营业额和上一年同期的营业额 我写下这个问题: with member [Measures].[Turnover PrevYear] as IIF( IsEmpty([Measures].[Turnover Actual] ), NULL, SUM( (ParallelPeriod( [Date].[Year - Quarter - Month - Date].[Year],1,[Date].[Year - Quarter - M

我试图得到实际营业额和上一年同期的营业额

我写下这个问题:

with 
member [Measures].[Turnover PrevYear] as 
IIF( IsEmpty([Measures].[Turnover Actual] ), 
    NULL,   
    SUM(      
       (ParallelPeriod( [Date].[Year - Quarter - Month - Date].[Year],1,[Date].[Year - Quarter - Month - Date].CurrentMember))
       ,   [Measures].[Turnover Actual]
       ) 
    )
Select  
non empty{[Measures].[Turnover Actual],[Measures].[Turnover PrevYear]} 
on Columns,
non empty{[Store].[Store].[Store].members}
on Rows
from [Sales Cube]
where (
[Date].[Year - Quarter - Month - Date].[Month].&[2020]&[1], 
[Store Status].[Store Status Type].&[Comparable], 
[Store].[Country].[Country].&[GERMANY]
)
现在我得到以下结果:

门店|实际营业额|上年营业额

汉堡| 100.00 | 120.00

慕尼黑| 140.00 | 130.00

科隆| 90.00 | 110.00

柏林| 150.00 |零

柏林没有上一年的价值,因为该店在2019年1月的状态为“不可比较”。此“门店状态”过滤器不仅用于实际营业额,也用于上一年的计算。如何在计算时忽略此过滤器?我想从上一年得到一个柏林的价值,不管这家商店在去年是“不可比的”。此筛选器仅用于将实际“不可比较”存储从结果列表中踢出的实际情况。

您需要将“默认成员”添加到任何要忽略上下文的计算中。 您的代码将被删除

with 
member [Measures].[Turnover PrevYear] as 
IIF( IsEmpty([Measures].[Turnover Actual] ), 
    NULL,   
    SUM(      
       ([Store Status].[Store Status Type].defaultmember, ParallelPeriod( [Date].[Year - Quarter - Month - Date].[Year],1,[Date].[Year - Quarter - Month - Date].CurrentMember))
       ,   [Measures].[Turnover Actual]
       ) 
    )
Select  
non empty{[Measures].[Turnover Actual],[Measures].[Turnover PrevYear]} 
on Columns,
non empty{[Store].[Store].[Store].members}
on Rows
from [Sales Cube]
where (
[Date].[Year - Quarter - Month - Date].[Month].&[2020]&[1], 
[Store Status].[Store Status Type].&[Comparable], 
[Store].[Country].[Country].&[GERMANY]
)

谢谢你的回答@MoazRub。我尝试了这个版本,现在得到了柏林的价值。这很酷,但我现在有一个新问题。如果我不是在商店层面上,而是在国家层面上运行此查询,那么我对德国的求和结果是错误的。假设柏林上一年的结果为100.00。那么我在德国的总数应该是460.00,对吗?我的成绩是580.00。说明:在2020年1月,还有一家“不来梅”店,而这家店“不可比”。这家商店上一年的价值为120.00。在存储级别,此存储被过滤掉。在国家一级,它包括在内。@Alexo。不客气。我想请你在帖子上保留一个问题。这将帮助其他面临相同问题的人轻松地找到解决方案。此外,下一个问题的解决方案可能会有所不同。因此,它将相对隐藏。因此,将此标记为已回答。发布你的下一个问题,我也会很乐意解决的。好的。我将发布一个新问题。