我正在尝试在我的立方体中模拟“同一商店”的销售。
我有一个带有会计日历的标准日期维度。
我的商店有一个位置维度。每个商店都有指定年份、期间、季度和周的属性,这些属性指示何时应将给定商店包含在报告中。
我在想我想走的路线是一个动态的命名集,但我可能是错的。
基本上,我想查看任何给定时间范围内的净销售额,并且只显示同店销售额。如果我正在查看年份级别,则需要检查年份属性。如果我正在查看 Quarter 级别,则需要检查 Quarter 属性。
如何根据日期维度的级别编写过滤器?我可以有一个包含所有这些逻辑的命名的 SameStores 集吗?
编辑:@Prabhash Jha 要求的附加信息
这是我想查看的视图-但我希望有一种方法可以使这种动态足以处理任何日期计算。
2012 2013
Store 1 1.2 1.3
Store 2 -- 1.6
Store 3 1.3 2.1
在此级别,Store 2 的 SameStoreStartYear 值为“2013”。
如果我深入到 2013 年:
Q1 Q2 Q3
Store 1 0.2 0.3 0.5
Store 2 -- -- .4
Store 3 0.2 0.3 0.5
在此级别,Store 2 的 SameStoreStartMonth 值为“3”。
它继续像这样下降到周级别。
我编写了一些 MDX 来获取应该包含的与 Date.Fiscal.currentmember 相关的商店集,但仅在年份级别进行比较。正在努力使其与钻探级别以及 Date.Fiscal 层次结构相关。
我把它作为一个命名集,但它使用元组,命名集没有出现在多维数据集中 - 我相信这是因为它使用多个层次结构并且它不知道把它放在哪里。
到目前为止,这是我的 MDX:
select
filter(
([Date].[Fiscal].[Fiscal Year], [Location].[Store].[Store]),
[Location].[SameStoreYearBegin].currentmember.properties("Key")
<= [Date].[Fiscal].currentmember.properties("Key"))
on 0
from Sales