powerbi - 如何找到一个表中存在而另一表中缺失的值的总和
问题描述
我试图找到与表 1 中存在但不在表 2 中的键对应的值的总和。
这些表是根据一些过滤器创建的,代表 2 个不同日期的值。
这两个不同的日期是从 2 个具有非活动关系的不同日期表中选择的,专门为此目的创建。
我想创建一个找出总和的度量。
以下是我使用的语法:
Difference =
VAR
Table1 = CALCULATETABLE(VALUES('TableA'[Id]), 'TableA'[Type] = "ABC", ALL('Date'), USERELATIONSHIP('Date'[As of Date], Previous_Date[Previous_Date]),USERELATIONSHIP('Date'[As of Date], 'TableA'[As of Date]))
VAR
Table2 = CALCULATETABLE(VALUES('TableA'[Id]), 'TableA'[Type] = "ABC", USERELATIONSHIP('Date'[As of Date], 'TableA'[As of Date]))
RETURN
IF(AND(VALUES('TableA'[Id]) IN Table1 , NOT(VALUES('TableA'[Id])) IN Table2),
CALCULATE(SUM('TableA'[Values])),0)
它没有错误。但是,当我将度量放在 KPI 视觉对象上时,我收到以下消息:
请告诉我语法有什么问题。另外,请让我知道是否可以编写更好的代码。
请帮忙。
解决方案
x
您收到错误的原因是它在您编写时需要一个值,x IN Table1
但使用该VALUES
函数可以返回一个列表而不是单个值。
在以下之后我会尝试更多类似的东西RETURN
:
SUMX (
'TableA',
IF ( 'TableA'[Id] IN Table1 && NOT ( 'TableA'[Id] IN Table2 ), 'TableA'[Value] )
)
这将遍历每一行TableA
并检查每行中的Id
值是否在您计算的表中。如果满足条件,则添加Value
. 否则IF
返回一个空白(与0
求和相同),因为没有第三个参数。
推荐阅读
- amazon-web-services - 使用 SAM AWS 部署带有 HTTP 端点集成的 REST API?
- python - 如何使用默认填充值将 2d numpy 数组的所有内部值设置为相同的大小
- javascript - Cloud Firestore onSnapshot() 仅在没有初始状态的更改时触发
- javascript - 在js中将div旋转到一定高度
- c++ - 我可以以相同的方式使用 char* c 和字符串吗?
- java - android中的Webview不会从res/drawable加载图像
- java - Polarion ALM JAVA SDK API WorkItem 获取类型表示
- authentication - 关于身份验证令牌的 insomnia bitbucket git 配置
- javascript - 每次更新后如何停止渲染多个表?
- javascript - 以 express 呈现 JSON 文件以在 PUG 中进行插值