我有两个桌子。
表A和表B。
表A与表B的关系是一对多的。
一张表A记录给了我几张表B记录。
表A包含我的主数据,表B包含其他数据。
这是两个表的样子:
表A:
_________________________________
| ... | Confirmation Number | ... |
|_____|___________________________|
| ... | 7413080 | ... |
| | | |
表B:
______________________________________________________________
| Confirmation Number | Occurrences | Name | Status |
|_____________________|_____________|_______|__________________|
| 7413080 | 1 | DAVE | Not Clocked Off |
|_____________________|_____________|_______|__________________|
| 7413080 | 2 | STEVE | Fine |
|_____________________|_____________|_______|__________________|
| ... | ... | ... | ... |
我希望在Power BI报表中显示的数据是:
1)总人数(在Name
上唯一计数)-我实现的目标没有问题
2)基于总数,Fine
条记录的数量
3)根据总人数,Not Clocked On
条记录的数量
在我的主屏幕上,用户可以过滤数据(表A记录)-这为我提供了表B的相关记录数。
要实现#2和#3,我创建了相同的Card
,计数为Status
。
78
是表B中“状态”的数量(计数)-很好,我想,我只需要过滤这些结果以显示Not Clocked Off
中有多少记录...
因此,我在New Quick Measure
列上创建了Status
,以过滤Not Clocked Off
。
哪个给了我29
条记录-表B中的29行状态为Not Clocked Off
。但这对我的用户而言毫无意义,我希望拥有总数为Not Clocked Off
的人。这意味着为Name
的过滤器获取Not Clocked Off
的唯一计数。
我该如何实现?
对Status
进行不同的计数会给我2(这也是无用的,因为当然有2种状态类型-Fine
和Not Clocked Off
)。
答案 0 :(得分:4)
您需要自己编写度量(而不是快速度量),以便准确获得所需的内容。
尝试一下:
CountNotClockedOff =
CALCULATE (
DISTINCTCOUNT ( TableB[Name] ),
FILTER ( TableB, TableB[Status] = "Not Clocked Off" )
)
对于CountFine
,只需将上面的"Not Clocked Off"
更改为"Fine"
。
答案 1 :(得分:-3)
使用关系。转到数据集并定义关系船。确保对表进行分组的条件过滤了另一个表。
然后将表中列出的内容删除 然后在表2中删除您需要计数的内容。您可以使用不同的计数行创建度量