我有一个带有Y列的事实表X,我在SSAS 2012上添加了该列作为度量。该度量的属性是AggregateFunction:Sum,DataType:Integer,source:XY,DataType:Integer,BindingType:列绑定,NullProcessing:自动。
on measure Group Properties,Error Configuration ReportAndStop,Key ErrorAction:DiscardRecord,KeyErrorLimit:0,KeyErrorLimitAction:stopprocessing。 IgnoreUnrelatedDimensions:真
当我在浏览器网格上添加(仅)此度量时,我得到318597,当我执行SELECT SUM(Y) FROM X
时,我得到990416.当我使用2015年的日期维度时,会发生同样的情况。 2016.数据用于测试。有什么想法从哪里开始?与SSAS测量相比,sql查询是错误的吗?
答案 0 :(得分:0)
问题可能出在与此度量组相关的维度中。您的SQL查询覆盖整个事实表。您在浏览器中的结果仅覆盖事实表的那一部分,该部分对应于切片的每个维度中的维度成员。事实表中必须有与至少一个维度中的任何成员无关的行。
这很可能是因为某些维度成员尚未加载,或者(在我们进入SSAS阶段之前),事实表本身已经包含缺少维度键的行。
更好的比较是
SELECT SUM(Y) FROM X
INNER JOIN Dimension1 ON [something]
INNER JOIN Dimension2 ON [something else]
...
如果它给出了与浏览器网格相同的结果,则立方体处理没有任何问题。如果没有,问题在于处理:可能维度成员没有从源到维度。