微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

相同的 DAX 查询导致不同的结果

如何解决相同的 DAX 查询导致不同的结果

对于 power bi 中的表(有 2 行和 3 列,即 City1、Price1 和 Units1),我创建了一个新列(名为“salesColumn”)和一个新度量(名为“salesMeasure”),其中包含以下 DAX 查询

salesColumn = SUMX('Table','Table'[Price1] * 'Table'[Units1])
salesMeasure = SUMX('Table','Table'[Price1] * 'Table'[Units1])

这导致了以下视觉效果

enter image description here

如上所示,列和度量的公式相同,但它们仍然给出不同的结果。 salesColumn 在两行中给出 6572 (12*175 + 18*229),而 salesMeasure 给出行明智的产品。任何人都可以让我知道为什么当我们使用相同的公式时两种情况下的行为不同吗? SUMX 是一个我们传递相同参数的函数。如果我们向函数传递相同的参数,函数应该以相同的方式运行,但事实并非如此。是否有任何隐藏的参数传递给 SUMX ?任何人都可以解释这里发生的事情并可能粘贴一些相关链接以更好地理解这一点吗?

解决方法

这两个计算应该给你不同的输出,原因是 SaleColumn 在刷新时只计算一次(为计算列定义的 DAX 表达式在该表的当前行的上下文中运行。)-->您计算所有行的值(查看 salesMeasure 的摘要),而 SaleMeasure 是动态的。

即使看起来很相似,它们之间也有很大的不同 计算列和度量。计算列的值是 在数据刷新期间计算并使用当前行作为上下文;它 不依赖于报告中的用户交互。措施运作 由当前上下文定义的数据聚合,这取决于 在报告中应用的过滤器上 - 例如切片器、行和 数据透视表中的列选择,或应用于 图表。 https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。