powerbi - 如何减去另一行的值取决于 PowerBI 中的类别列
问题描述
我想在“Other Service”中显示NewLinePrice,该值会减去“Graphic Design”的值,所以第一列会显示1152245,以此类推。
到目前为止,我已经尝试定义新列“NewLinePrice”,以下是公式但不起作用
NewLinePrice =
Var category = 'Group-dtl'[ProductCategoryName]
var graphic_line_price = CALCULATE(SUM('Group-dtl'[LinePrice]),FILTER('Group-dtl', 'Group-dtl'[ProductCategoryName] = "Graphic Design"))
var graphic_line_price_temp = IF(category = "Graphic Design", 'Group-dtl'[LinePrice], 0)
//var graphic_line_price = 1
Var pre_result = IF(category = "Other Service", 'Group-dtl'[LinePrice] - graphic_line_price, BLANK())
Var result = IF(pre_result > 0, pre_result, BLANK())
return result
任何人都有想法如何做到这一点?
解决方案
我花了一些时间找到你问题的答案,最后我发现要达到你的结果,你不能在原来的范围内进行计算,而是创建一个新表,原因未知,但至少它是可以实现的,请在下面查看我的答案并接受如果有帮助,感谢我的辛勤工作:)
这是我原来的表名 [Sheet1]
首先,我根据原始表创建一个新表
Table =
ADDCOLUMNS(VALUES(Sheet1[Product Name]),
"Sales",CALCULATE(SUM(Sheet1[Amount]),
FILTER(ALL(Sheet1),Sheet1[Product Name]=EARLIER(Sheet1[Product Name]))))
从新表中,我使用以下公式添加新列以仅为“其他服务”返回不同的值
New Line1 =
Var ServiceValue = CALCULATE(MAX(Sheet1[Amount]),Sheet1[Product Name] = "Other Service")
Var graphicValue = CALCULATE(MAX(Sheet1[Amount]),Sheet1[Product Name] = "Graphic Design")
Var charge = ServiceValue - graphicValue
return
if('Table'[Product Name] = "Other Service", charge,'Table'[Sales])
推荐阅读
- python - 在哪里可以找到 python 中类的方法定义?
- node.js - spawn babel-node ENOENT
- java - 在 Windows 上运行 Java makefile
- javascript - 如何告诉 MathJax 只处理一个节点?
- android - 如何确保 FCM 通知?
- python - Python 代码不断选择相同的随机字符
- javascript - 在 Vega-Lite 的概览+细节显示上应用选择
- python - 如何找到一个单词在一个字符串中重复了多少次?
- javascript - 如何使用 jQuery 创建带有 JSON 输入的 ul-li 结构?
- mysql - 在 AWS 中使用 liquibase 更新 MySQL 5.6.40 DD