ssas - 使用 [field1] - [field2] > x 作为过滤器计算度量
问题描述
我有一个包含列OriginalPrice
和PaidPrice
客户交易的事实表。我想知道OriginalPrice - PaidPrice
10 到 20 美元之间的折扣有多少笔交易。我已经有一个#Customer
描述客户数量的度量。
这适用于使用与 SSAS 的实时连接的 PowerBI 报表。新列和某些 DAX 函数在此连接模式下不可用。
DiscountTier1 = CALCULATE([#Customer],(FactTable[OriginalPrice]-FactTable[PaidPrice]) >= 10, FactTable[OriginalPrice]-FactTable[PaidPrice]) < 20)
通过这样做,我想知道有 10 到 20 美元折扣的客户数量。
目前我有一个错误如下:
CALCULATE has been used in a True/False expression that is used as a table filter expression. This is not allowed
关于如何实现这一目标或我做错了什么的任何建议?谢谢!
解决方案
将FILTER
函数添加为 的第二个参数CALCULATE
,在此您可以过滤事实表中满足您条件的记录。我还建议使用该AND
功能以获得更好的可读性和长期维护。
DiscountTier1 =
CALCULATE (
[#Customer],
FILTER (
FactTable,
AND (
FactTable[OriginalPrice] - FactTable[PaidPrice]
>= 10,
FactTable[OriginalPrice] - FactTable[PaidPrice]
<= 20
)
)
)
推荐阅读
- pdf - 打印 pdf 报告时加载时间太长
- dialogflow-es - 自定义操作“不适用于您的语言或地区”
- java - Java Regex递归获取特定单词前后的11个单词
- flutter - 如何从服务器中读取 VCF 文件?
- javascript - 带有多个参数的角度 6 管道 html
- css - 用css设计三边圆形边框和一个带断开角的边框
- objective-c - 未能获得 credential.state 和 getCredentialStateForUserID
- javascript - 如何将异步方法拆分为更小的部分并一个接一个地调用它们?
- jquery - 如何在一行上获得 3d 瓷砖并在悬停时获得缩放效果?
- angular - Jasmine -> 设置组件时无法读取未定义的属性订阅