当行不相关时,为什么我的 DAX 度量会这样工作?

Why is my DAX Measure working like this when Rows don't relate?

对不起,奇怪的标题,我真的找不到总结我的问题的方法。

这是交易:

我有这些 table:

Table A - Table B - Table C - Table D

它们之间的关系如下:

TableA到B一对多。 (单向)

Table B 到 C 多对一。 (双向)

Table C 到 D 一对多。 (单向)。

我有一个度量,它只对 D table 的一列求和。

现在,当我创建一个矩阵并从 Table A 和度量中添加一列时,会发生一些奇怪的事情。 table A 中与 table B 的任何行无关的行显示 table D 中与 [=43= 的任何行无关的所有行的总和] C.

所以,当一切都正常时,度量工作正常,但我真的不知道为什么 DAX 这样做而他们不这样做,我只希望得到一个空白结果。

我可以通过过滤总和来解决这个问题,但我只想了解发生了什么。

抱歉,如果我没有正确解释我的情况,非常感谢您的任何回答

当您拥有一对多关系时,预计单方包含多方的所有不同值。这叫做referential integrity.

all the rows of table D that don't relate to any rows of table C

这意味着您与 D 中的孤立行存在无效关系。由于这些孤立行未被 table A 过滤,因此它们包含在 table A 中的行总和中不要通过关系路径过滤 table D。

我建议阅读这篇文章以了解更多详情:

https://www.sqlbi.com/articles/blank-row-in-dax/