【问题标题】:Cumulative Sum - Choosing Portions of Hierarchy累积和 - 选择层次结构的部分
【发布时间】:2012-05-29 02:19:44
【问题描述】:
我有一个有趣的问题。
我需要由时间维度的片段创建的集合的累积总和。时间维度基于小时和分钟。此维度从 0 小时和分钟开始,到 23 小时和 59 分钟结束。
我需要做的是从上午 09:30 到下午 4:00 或下午 4:30 到上午 9:30 之间切出部分。我需要这些值来执行我的累积总和。我希望有人可以建议一种使用标准 MDX 执行此操作的方法。如果不是,那是我编写自己的存储过程的唯一选择,该存储过程使用上述逻辑形成我的 Periods to date set 提取?
提前致谢!
【问题讨论】:
标签:
sql-server
ssas
mdx
olap
【解决方案1】:
您可以在时间维度中创建仅包含小时的二级层次结构,并使用它过滤查询。
[Time].[Calendar] -> the hierarchy with year, months, day and hours level
[Time].[Hour] -> the 'new' hierarchy with only hours level (e.g.) 09:30 AM.
您可以在 mdx 中进行查询,添加您的条件作为过滤器:
SELECT
my axis...
WHERE ( SELECT { [Time].[Hour].[09:30 AM]:[Time].[Hour].[04:00 PM] } on 0 FROM [MyCube] )
您也可以创建新维度而不是层次结构,不同之处在于autoexists 的行为和性能。