如何根据其他维度的当前级别过滤维度?

时间:2013-06-07 14:35:48

标签: ssas mdx olap business-intelligence cube

我正在尝试在我的多维数据集中建模“Same Store”销售。

我有一个带有财政日历的标准日期维度。

我的商店有一个位置维度。每个商店都有一些属性,用于指定年份,期间,季度和周,以指示给定商店何时应包含在报告中。

我在想我想要的路线是动态命名集,但我可能错了。

基本上我想在任何给定的时间范围内查看Net Sales,并且只显示Same Store销售。如果我查看年级,则需要检查Year属性。如果我正在查看Quarter级别,则需要检查Quarter属性。

如何根据日期维度的级别编写过滤器?我可以拥有包含所有这些逻辑的命名的SameStore集吗?

编辑:@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

在此级别,对于SameStoreStartMonth,Store 2的值为“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

1 个答案:

答案 0 :(得分:1)

请您澄清一下“在任何特定时间范围内查看网络销售情况,并且只显示同一商店销售”的含义。你能为当前和预期的结果准备一些模型吗?