我是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])
但是这给了我连续的总数而不是总数。
我需要使用什么公式?
谢谢
看起来您正在寻找每个ID的记录数,状态为完成。可以使用ALLEXCEPT
实现。以下计算将为您提供ID级别的需求计数:
Count = CALCULATE(COUNT(Sheet1[ID]),ALLEXCEPT(Sheet1,Sheet1[ID]),Sheet1[Status]="Complete")
创建字段后,您可以在列中应用过滤器以获取所需的内容。
如果您有一个以ID
和Status
为列的可视表,则可以按如下所示编写一个简单的度量Count
:
Count =
VAR Complete =
CALCULATE (
COUNT ( Sheet1[ID] ),
FILTER ( Sheet1, Sheet1[Status] = "Complete" )
)
RETURN
IF ( Complete >= 2, Complete ) /*False returns BLANK()*/