我之前对 SSAS MDX 上一年的问题 - 忽略过滤器 已解决。现在我有另一个问题。我现在得到了商店上一年的正确结果,但国家层面的聚合是错误的。
我的问题是我没有得到商店上一年的值,因为过滤器踢了那个值:
商店 | 实际营业额 | 营业额上年
汉堡 | 100.00 | 120.00
慕尼黑 | 140.00 | 130.00
科隆 | 90.00 | 110.00
柏林 | 150.00 | 无效的
然后我从 MoazRub 尝试了这个查询:
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]
)
我在商店级别得到了正确的结果:
商店 | 实际营业额 | 营业额上年
汉堡 | 100.00 | 120.00
慕尼黑 | 140.00 | 130.00
科隆 | 90.00 | 110.00
柏林 | 150.00 | 120.00
在国家一级,我得到了一个错误的 SUM,因为现在在 2020 年 1 月“不可比”的另一家商店“不来梅”包含在总和中。
TOTAL 应该是(不包括不来梅,哪个是“不可比较”:460.00
总“情况”:580.00(包括不来梅)
国家级查询:
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].[Country].[Country].&[GERMANY]}
on Rows
from [Sales Cube]
where (
[Date].[Year - Quarter - Month - Date].[Month].&[2020]&[1],
[Store Status].[Store Status Type].&[Comparable]
)
我如何才能仅对可比商店进行国家级汇总?