日期维度和累积月份

Posted

技术标签:

【中文标题】日期维度和累积月份【英文标题】:Date dimension and cumulative Months 【发布时间】:2016-05-10 09:58:00 【问题描述】:

日期维度处于以下状态:

SSAS 中看起来像这样:

基于此,我如何在SSAS 中使用以下内容构建层次结构 结构:

2016
   Jan-Feb
   Jan-Mrz
   Jan-Apr
   Jan-Mai
   Jan-Jun

... Jan-Apr 是 2016 年 1 月至 4 月的累计金额。

【问题讨论】:

【参考方案1】:

投反对票可能是因为这是一个糟糕的维度设计。您可以通过删除所有这些 Jan-Feb 等内容、使用简单的 Date 维度并使用 PeriodsToDate 函数来获得累积聚合。

【讨论】:

是的,但我需要这个结构作为层次结构或集合,而不是计算成员......我需要过滤它 作为计算成员,我使用以下 mdx 查询:Aggregate ( PeriodsToDate ( [Date].[Hierarchy].[Year], [Date].[Hierarchy].[Month].CurrentMember ), [措施].[措施].[金额]) 如果你需要那个维度结构(虽然我无法想象为什么),你仍然不需要所有这些额外的列。一个简单的 Months 维度,带有一个额外的维度属性“YTD Description”,与 Months 具有相同的基数,将起作用。例如维度成员“April”将具有 YTD 描述属性“Jan-Apr”。然后,您可以在月份数上使用 PeriodsToDate 或 Head()。【参考方案2】:

你的层次结构应该是年 -> 月 -> 日,依此类推。为了支持累积数字,将您的层次结构与包含月份范围的范围维度相结合,例如 Jan - Apr。层次结构不直接用作范围。您必须将两者结合在一起才能满足要求。

范围维度的最小值将是您的开始月份,最大值将是您在一个特定范围内的结束月份。示例维度如下

+------------+---------------------+ | DIM_Range | +------------+---------------------+ |Sur_Key | Min Value | Max Value | +------------+---------------------+ | 01 | Jan | Apr | | 02 | May | August | +------------+---------------------+

【讨论】:

以上是关于日期维度和累积月份的主要内容,如果未能解决你的问题,请参考以下文章

如何查找季度、年份、月份、学期开始和结束日期

具有不同级别日期维度数据作为日期维度键的事实表

合计当前月份 + 2 AND 下个月 + 1 和之后的月份

POWER PIVOT 进阶篇

选择具有累积总和的两个日期之间的日期和值

维度建模几个问题