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

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

我有两张桌子。
Table A 和 Table B.

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

Table A 包含我的主数据,Table B 包含其他数据。

下面是两个表的样子:

Table答:

 _________________________________
| ... | Confirmation Number | ... |
|_____|___________________________|
| ... |       7413080       | ... |
|     |                     |     |

Table乙:

 ______________________________________________________________
| 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条记录数

在我的主屏幕上,用户可以过滤数据(Table A 记录)- 这为我提供了 Table B 的相关记录数。

在 Table B 上,对于 #1,我正在计算 Name 列上的不同记录:

这给了我想要的结果(左下角):

为了实现#2 和#3,我创建了相同的 Card,计数为 Status

78 是我在 Table B 中拥有的 'statuses' 的数量(计数)- 我认为这很好,我只需要过滤这些结果以显示有多少条记录有 Not Clocked Off...

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

这给了我 29 条记录 - Table B 中的 29 行状态为 Not Clocked Off。但这对我的用户来说毫无意义,我希望拥有 的总人数 Not Clocked Off。这意味着为 Not Clocked Off.

的过滤器获取 Name 的非重复计数

我怎样才能做到这一点?

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

这是我的关系 link:

使用关系。转到数据集并定义关系。确保您分组的 table 过滤其他 table.

然后放下你在 Table 中摸到的东西 然后在 table 中删除您需要计算的内容 2. 您可以创建一个具有不同计数行的度量

您需要自己编写度量(而不是快速度量),这样您就可以获得您想要的结果。

试试这个:

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

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