有和没有虚拟WITH子句的不同结果

时间:2013-02-25 03:09:35

标签: database select mdx olap

我正在尝试在SSAS多维数据集中诊断计算度量中的错误,并且在调试时我得到了这种奇怪的行为......

select
    [Measures].[Net Lost Commitments] on columns 
  , {[Date Dimension].[Fiscal Year Hierarchy].[Fiscal Year].[2009\10],[Date Dimension].[Fiscal Year Hierarchy].[Fiscal Year].[2010\11]} on rows
from Compass3

...返回以下内容:

       Net Lost Commitments
2009\10  (null)
2010\11  9,937

我正在试图弄清楚为什么2009 \ 10的值为null,所以我一直在通过WITH子句添加各种其他计算来帮助追踪问题。但是我添加的任何WITH子句都会更改结果,即使未使用WITH子句中的计算也是如此。例如......

with
    member [Measures].[test] as null
select
    [Measures].[Net Lost Commitments] on columns 
  , {[Date Dimension].[Fiscal Year Hierarchy].[Fiscal Year].[2009\10],[Date Dimension].[Fiscal Year Hierarchy].[Fiscal Year].[2010\11]} on rows
from Compass3

...返回以下内容:

       Net Lost Commitments
2009\10  8,783
2010\11  9,937
你以前见过吗?可能是什么原因?

2 个答案:

答案 0 :(得分:0)

计算成员的存在是否会影响[Date Dimension]聚合的求解顺序? [净损失承诺]是否是计算的衡量标准?如果是这样,您可以将其解决顺序更改为稍后的查询处理吗?

答案 1 :(得分:0)

我已经将测量定义重新制作成更简单的形式,这个问题似乎已经消失了。我仍然不知道这种看似随机的行为是如何发生的,但它不再是一个问题。

- 马特