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

Posted

技术标签:

【中文标题】累积和 - 选择层次结构的部分【英文标题】: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 提取?

提前致谢!

【问题讨论】:

【参考方案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 的行为和性能。

【讨论】:

以上是关于累积和 - 选择层次结构的部分的主要内容,如果未能解决你的问题,请参考以下文章

我可以部分实现接口层次结构吗?

将层次结构放在其自己的单独维度中还是将其设置为相关维度的一部分?

Hinton一作新论文:如何在神经网络中表示“部分-整体层次结构”?

日期维度和累积月份

GoF设计模式 | 组合模式

10,组合模式(Composite Pattern)是将对象组合成树形结构以表示“部分--整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。