MDX查询不评估“大于”表达式

时间:2013-06-18 09:07:21

标签: sql-server mdx data-warehouse

我有一个具有奇怪评估行为的MDX查询。

这是查询

Select {[Measures].[Alert Count]} ON 0, 
 Hierarchize([Alert].[Alert Type].Levels(1).Members) ON 1 
 From(SELECT { Filter(Hierarchize([Alert].[Alert Type].Members), 
([Measures].[Alert Count] < 2000))} on COLUMNS From [Data DW])

在表达式[Measures].[Alert Count] < 2000上,它正确评估给我[Alert Type]s [Alert Count] < 2000,同样的事情用于相等比较但是当我将条件更改为'大于'时,它给了我所有值,包括小于或等于的值。

经过一些测试后,我发现条件'大于'只有在比较值(示例中为2000)等于measure表中的记录总数时才能正确计算。我推断,在这种情况下,它不是按[Alert Type]对结果进行分组。

关于这个问题的任何帮助,我将非常感激。

1 个答案:

答案 0 :(得分:1)

问题解决了。问题出在filter语法中,特别是在第一个member中。我不得不将hierarchy level添加到过滤器集中,因此它变为:

[Alert].[Alert Type].Levels(1).Members