Power BI-根据条件对分组值进行计数

问题描述 投票:2回答:2

我是Power BI的新手,正在努力解决以下问题。在excel中,我会使用COUNTIF。我有一张桌子:

+-----+----------+
| ID  | Status   |
+-----+----------+
| 1   | Complete |
+-----+----------+
| 2   | Started  |
+-----+----------+
| 3   | Started  |
+-----+----------+
| 1   | Complete |
+-----+----------+
| 1   | Complete |
+-----+----------+

我想汇总数据并计算按complete分组的ID个作业的数量。我想要的输出是:

+-----+----------+-------+
|  ID | Status   | Count |
+-----+----------+-------+
| 1   | Complete | 3     |
+-----+----------+-------+
| 2   | Started  | 1     |
+-----+----------+-------+
| 3   | Started  | 1     |
+-----+----------+-------+
| 1   | Complete | 3     |
+-----+----------+-------+
| 1   | Complete | 3     |
+-----+----------+-------+

然后,我只想保留计数大于2的不同值(如果没有上面的中间步骤,是否有可能?)。所以我最终想要的结果是:

+-----+----------+-------+
| ID  | Status   | Count |
+-----+----------+-------+
| 1   | Complete | 3     |
+-----+----------+-------+

我尝试过:

 Unique =  COUNTAX(FILTER(Sheet1,(Sheet1[Status] = "Complete" && (Sheet1[Status] = EARLIER(Sheet1[Status])))),Sheet1[Status])

但是这给了我连续的总数而不是总数。

我需要使用什么公式?

谢谢

powerbi dax
2个回答
0
投票

看起来您正在寻找每个ID的记录数,状态为完成。可以使用ALLEXCEPT实现。以下计算将为您提供ID级别的需求计数:

Count = CALCULATE(COUNT(Sheet1[ID]),ALLEXCEPT(Sheet1,Sheet1[ID]),Sheet1[Status]="Complete")

创建字段后,您可以在列中应用过滤器以获取所需的内容。


0
投票

如果您有一个以IDStatus为列的可视表,则可以按如下所示编写一个简单的度量Count

Count =
VAR Complete =
    CALCULATE (
        COUNT ( Sheet1[ID] ),
        FILTER ( Sheet1, Sheet1[Status] = "Complete" )
    )
RETURN
    IF ( Complete >= 2, Complete ) /*False returns BLANK()*/
© www.soinside.com 2019 - 2024. All rights reserved.