2

我是 MDX 表达式和查询的新手,我目前正在寻找这样的东西 -

我在事实表中有两个日期“ Date1”和“ Date2”作为 DATE 维度的外键。我需要做一个count of rows where Date1 < Date 2,考虑到我不想计算 NULLS。我写了一个类似这样的表达式 -

WITH MEMBER [Measures].[RecordCount] AS
COUNT(FILTER([Measures].[RecordCount], IIF([Date1].[Date] <= [Date2].[Date],0,1)=1))
SELECT [Measures].[RecordCount] ON 0
FROM [MYCUBE]

上述查询运行良好,但计数结果不正确。我在事实表中创建了 7 行,其中 Date1 小于 Date2,但我仍然收到计数为 0。

任何帮助表示赞赏。(任何参考网站都对未来有好处)

谢谢, Vineet vineet9860@gmail.com

4

1 回答 1

2

在 MDX 中您不能真正轻松地做到这一点,[RecordCount] 度量将在您进行日期比较之前汇总,因此您永远不会得到有效值。

您最好在 DSV 中创建一个命名计算,其内容类似于

CASE WHEN Date1 < Date2 THEN 1 ELSE NULL END

然后在你的多维数据集中创建一个度量来总结这个新列。

于 2009-02-09T22:59:53.907 回答