问题描述
我在 powerbi 中有 2 个表,一个包含与人之间的所有交易(每个客户端都用一个 ID 标识,其中“我”可以是 $ 的接收者或发送者),另一个是每个客户端的详细信息。
表 1 看起来像
| $ | sender id | receiver id |
|---|-----------| ------------|
| 10| 1 | 2 |
| 15| 1 | 3 |
| 20| 1 | 2 |
| 15| 3 | 1 |
| 10| 3 | 1 |
| 25| 2 | 1 |
| 10| 1 | 2 |
第二个表包含发件人 ID 和姓名:
| id | name |
|----|-------|
| 1 | "me" |
| 2 | John |
| 3 | Susan |
预期的结果类似于(不一定在表格中,只是为了显示)
| $ sent | $ received | Balance|
|--------|------------|--------|
| 55 | 45 | +10 |
在过滤器中有“John”和“Susan”,所以当我选择其中一个时,我可以看到 $ sent,$received 和每个人的余额。
当然,问题是我最终有一个活动和一个非活动关系,所以如果我应用这样的过滤器,我最终会在发送方/接收方中得到 0,而在另一个中得到整个值(取决于哪个处于活动状态和非活动状态) ) 并且如果我制作另一个表格是“id sender”+“name sender”,那么我无法一次过滤所有内容。
可以这样做吗? 我希望这是可以理解的
解决方法
您需要在用户表中添加 2 列
received = CALCULATE(SUM(T1[$]),Filter(T1,UserTable[id] = T1[reveicer id]))
您可以对发送执行相同的操作。现在在您的视觉对象中,使用新列。
享受吧!
,转了一圈后,我找到了解决这个问题的方法,这可能不是最正统的方法,但确实有效。
我所做的是在我的销售表中添加 2 列,其中一个被标记为“移动”,在 sql 中它只是一个“案例”,当接收者是“我”时,它是“充电”,当接收者是“ not-me 是它的“付款”,然后我添加了一个带有案例的列,所以它总是会给我带来“not-me”ID,我用它来处理与我的用户表的关系。
然后我只是在我的卡中添加了过滤器,使一张成为“支付”卡,另一张成为“收费”卡。
这一切都在前面的例子之后,实际上只是有点棘手,因为我实际上可以从我自己向自己付款,但这只是“我-我”的另一个“案例”
希望这是可以理解的,英语不是我的母语,我实际使用的信息是部分机密的,所以我不得不举出上面的例子。
谢谢大家,祝你有美好的一天。