繁体   English   中英

根据同一表的另一列获取特定列的计数 - Power BI

[英]Get a count of a particular column, based on another column of the same table - Power BI

我有两张桌子。
表 A 和表 B。

从表 A 到表 B 的关系是一对多的。
一个表 A 记录给了我几个表 B 记录。

表 A 包含我的主数据,表 B 包含附加数据。

下面是两个表的样子:

表一:

 _________________________________
| ... | 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 的相关记录数。

在表 B 上,对于 #1,我正在对Name列上的不同记录进行计数: 在此处输入图片说明

这给了我想要的结果(左下角): 在此处输入图片说明

为了实现 #2 和 #3,我创建了相同的CardStatus计数。 在此处输入图片说明

78是我在表 B 中的“状态”的数量(计数)——我认为这很好,我只需要过滤这些结果以显示有多少条记录Not Clocked Off ......

所以我在Status列上创建了一个New Quick Measure ,用于Not Clocked Off的过滤器。

在此处输入图片说明

这给了我29条记录 - 即表 B 中的 29 行,其状态为Not Clocked Off 但这对我的用户来说毫无意义,我希望拥有Not Clocked Off状态的总人数 这意味着为Not Clocked Off的过滤器获取Name的不同计数。

我怎样才能做到这一点?

Status进行不同的计数会给我 2(这也是无用的,因为当然有 2 种状态类型 - FineNot Clocked Off )。

这是我的关系链接: 在此处输入图片说明

您将需要自己编写度量(而不是快速度量),以便您可以准确地获得所需的内容。

尝试这个:

CountNotClockedOff =
CALCULATE (
    DISTINCTCOUNT ( TableB[Name] ),
    FILTER ( TableB, TableB[Status] = "Not Clocked Off" )
)

对于CountFine只需将上面的"Not Clocked Off"更改为"Fine"

使用关系。 转到数据集并定义关系。 确保您分组的表格过滤了另一个表格。

然后删除您在表 1 中摸索到的内容,然后删除您需要在表 2 中计数的内容。您可以创建一个具有不同计数行的度量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM