如何根据另一个维度的当前级别过滤一个维度?
Posted
技术标签:
【中文标题】如何根据另一个维度的当前级别过滤一个维度?【英文标题】:How do I filter a dimension based on current level of another dimension? 【发布时间】:2013-06-07 14:35:47 【问题描述】:我正在尝试在我的多维数据集中模拟“同店”销售。
我有一个带有会计日历的标准日期维度。
我的商店有一个位置维度。每个商店都有指定年份、期间、季度和周的属性,指示何时应将给定商店包含在报告中。
我在想我想走的路线是一个动态命名集,但我可能错了。
基本上,我想查看任何给定时间范围内的净销售额,并且只显示同店销售额。如果我正在查看年份级别,则需要检查年份属性。如果我正在查看 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
在此级别,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
【问题讨论】:
【参考方案1】:您能否澄清一下“查看任何给定时间范围内的净销售额,并且只显示同店销售额”是什么意思?你能为你当前和预期的结果准备一些模型吗?
【讨论】:
感谢您的回复 - 我添加了更多信息。以上是关于如何根据另一个维度的当前级别过滤一个维度?的主要内容,如果未能解决你的问题,请参考以下文章