Ssas 测量结果不正确

Ssas 测量结果不正确,ssas,Ssas,我有一个带有Y列的事实表X,我已经将它添加到该列中,作为SSAS 2012的一个度量。该度量值的属性是AggregateFunction:Sum、DataType:Integer、source:X.Y、DataType:Integer、BindingType:Column binding、NullProcessing:Automatic 在度量值组属性上,错误配置报告和停止,键ErrorAction:DiscardRecord,键ErrorLimit:0,键ErrorLimitAction:St

我有一个带有Y列的事实表X,我已经将它添加到该列中,作为SSAS 2012的一个度量。该度量值的属性是AggregateFunction:Sum、DataType:Integer、source:X.Y、DataType:Integer、BindingType:Column binding、NullProcessing:Automatic

在度量值组属性上,错误配置报告和停止,键ErrorAction:DiscardRecord,键ErrorLimit:0,键ErrorLimitAction:StoppProcessing。忽略未更新的维度:正确


当我在浏览器网格上添加(仅)此度量值时,我得到318597,当我执行
从X中选择SUM(Y)时,我得到990416。当我使用2015年和2016年的日期维度时,也会发生同样的情况。数据用于测试。从哪里开始有什么想法吗?sql查询与SSAS度量值相比是否有误?

问题可能在与此度量值组相关的维度中。SQL查询覆盖了整个事实表。您在浏览器中的结果仅覆盖事实表中与切片的每个维度中的维度成员相对应的部分。事实表中必须有至少一个维度中与任何成员无关的行

这很可能是因为某些维度成员尚未加载,或者(在我们进入SSAS阶段之前),事实表本身已经包含缺少维度键的行

更好的比较是

SELECT SUM(Y) FROM X
INNER JOIN Dimension1 ON [something]
INNER JOIN Dimension2 ON [something else]
...

如果得到与浏览器网格相同的结果,则立方体处理不会出错。如果不是,则问题在处理中:维度成员可能没有从源进入维度。

问题可能在与此度量值组相关的维度中。SQL查询覆盖了整个事实表。您在浏览器中的结果仅覆盖事实表中与切片的每个维度中的维度成员相对应的部分。事实表中必须有至少一个维度中与任何成员无关的行

这很可能是因为某些维度成员尚未加载,或者(在我们进入SSAS阶段之前),事实表本身已经包含缺少维度键的行

更好的比较是

SELECT SUM(Y) FROM X
INNER JOIN Dimension1 ON [something]
INNER JOIN Dimension2 ON [something else]
...

如果得到与浏览器网格相同的结果,则立方体处理不会出错。如果不是,问题就在处理过程中:可能维度成员没有从源进入维度。

Runninq使用来自SSMS的内部联接进行查询,我得到的数目比SSAS(使用4个DIM联接)的数目大。我有一个到Dim1、Dim2、Dim3和Dim4的常规连接的事实A。在Dim4的维度结构中,我包含了4个相关表的属性。我创建了以Dim4.Id结尾的用户层次结构,为了检查测量结果,我必须只连接DIM1-4或/和Dim4的4个相关表?您必须连接到最终将成为Dim4填充的内容。检查这个维度的数据源:根据您所说,它可能是表1内部联接表2内部联接表3内部联接表4。首先,我要检查这个维度(在SSAS中)的填充是否与您认为的(在SQL源代码中)匹配。我怀疑您在事实表中得到的维度键与任何维度键都不匹配,但SSAS如何处理这一点取决于您设置的处理选项。使用SSMS的内部联接运行查询时,与SSAS相比,我得到的数字更大(以4个DIM联接)。我有一个到Dim1、Dim2、Dim3和Dim4的常规连接的事实A。在Dim4的维度结构中,我包含了4个相关表的属性。我创建了以Dim4.Id结尾的用户层次结构,为了检查测量结果,我必须只连接DIM1-4或/和Dim4的4个相关表?您必须连接到最终将成为Dim4填充的内容。检查这个维度的数据源:根据您所说,它可能是表1内部联接表2内部联接表3内部联接表4。首先,我要检查这个维度(在SSAS中)的填充是否与您认为的(在SQL源代码中)匹配。我怀疑您在事实表中得到的维度键与任何维度键都不匹配,但SSAS将如何处理这一点取决于您为处理设置的选项。