SSAS OLAP 半加法随时间维度测量

Chr*_*tta 6 sql-server ssas olap

问题:

帮助,我对在 Microsoft 的 SQL Server Analysis Services 中构建 OLAP 多维数据集比较陌生,我需要关于时间维度上的半加法测量的帮助。

换句话说,我想在季度和年度聚合点将期末余额显示为非可加性度量。

事实:

  • 我有一个衡量指标Ending Balance,它是所有账户期末余额的总和。

方面:

  • 我有一个名为As of Date. 此维度可以按年、季度聚合,并显示每月数据点。

期望的结果:

期末余额的预期结果显示为季度和年度汇总点的非累加措施。

我正在使用 SQL Server 企业版。

我已经确保使用正确的类型和属性关系正确指定了时间维度。参考链接

Chr*_*tta 3

解决方案

完成上述任务的最简单方法是将季度年份CustomRollupColumn维度的日期维度设置为以下等式:

'TAIL(NonEmptyCrossJoin(
    DESCENDANTS([Date].[Date Hierarchy].CurrentMember,1),1)
).item(0)'
Run Code Online (Sandbox Code Playgroud)

在哪里:

  • [日期] = 维度名称
  • [日期层次结构] = 您的自定义日期层次结构维度

重要考虑因素

您无法在 Visual Studio 编辑器中手动设置 CustomRollupColumn 方程。该字段需要由维度数据集中的列提供。虽然这看起来有点奇怪,但它实际上为您提供了大量的灵活性。

为此,请在 DSV 中创建自定义列(或将其包含在维度表中)。这是一个例子:

展示如何创建自定义尺寸方程

最后,完成此步骤后,导航到日期维度并将CustomRollupColumn参数设置为等于这个新创建的字段。这是一个例子:

设置维度属性的 CustomRollupColumn 属性

确保您对“季度”和“年度”维度都执行此操作。

最后的笔记

我仍然需要进行一些测试,但如果一切正常,我会回来并将其标记为已回答。到目前为止,一切都很顺利。部分完成的季度将参考最近提供的月份(数据点)。年份维度也是如此。

有助于解决这个问题的资源: