范围内总和计数的 MDX 计算

Posted

技术标签:

【中文标题】范围内总和计数的 MDX 计算【英文标题】:MDX calculation for count of sum within a range 【发布时间】:2012-05-27 22:26:57 【问题描述】:

我在 SSAS 中有一个立方体,具有以下度量:

NameID
Number
Date

NameID 指向带有 Name 字符串的 Person 维度(可以有多个具有相同 NameID 的记录)。 Date 指向服务器端的日期维度。

我正在寻找可以包含在多维数据集中的 MDX 计算,该计算将显示 Person.Names 的计数,其中查询中给出的日期范围的 Measure.Number 字段的总和在一定范围内(比如0-10、11-20 等)。

我尝试了各种不同的 COUNT()、FILTER() 和 SUM(),但我的 MDX 生锈了,而且我遗漏了一些东西。

【问题讨论】:

听起来你需要离散化。这是你想要做的吗? databasejournal.com/features/mssql/article.php/3809096/… 【参考方案1】:

MDX 没有直方图功能,我们正在考虑将其添加到 icCube,但目前 MDX 中没有任何现成的功能。您可以阅读此article 以了解 SSAS 中的解决方案。

此外,您还可以使用计数和过滤器创建计算成员,但我相信您已经这样做了。

在层次结构中定义它的问题是它不能按预期使用过滤器。想象一下,您不希望某个特定年份的这个范围。但是,如果您的范围是固定的,那么创建维度/层次结构也可能是解决方案。

【讨论】:

以上是关于范围内总和计数的 MDX 计算的主要内容,如果未能解决你的问题,请参考以下文章

MDX 查询以对具有特定日期范围的日期维度进行分组

具有多个左连接和计数的错误计算(Laravel)

在日期范围之间使用 TOPCOUNT 的 MDX 查询返回带有一些空值的顶部

如何计算 MDX 中组的总和?

计数排序是个啥?

选择日期范围内的分组值总和(窗口函数)