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