累加和 - 选择层次结构的部分

3
我有一个有趣的问题。
我需要对由时间维度的片段创建的集合进行累计求和。时间维度是基于小时和分钟的。该维度从0小时和0分钟开始,到23小时和59分钟结束。
我需要做的是从09:30 AM - 04:00 PM或4:30PM - 09:30 AM中切出一部分。我需要这些值以执行我的累计求和。我希望有人能建议使用标准MDX来完成这个任务。如果不行,那么我的唯一选择是编写自己的存储过程,使用上述逻辑形成我的日期范围集合提取吗?
提前感谢!
1个回答

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的行为和性能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接