我有一个表格列出了每个项目的任务。每个项目都有相同数量的任务,并且它们可以是“已完成”或“正在进行”。任务不必按顺序完成,因此任务列表可以看起来像这样:
Project 1 - 1 - Completed
Project 1 - 2 - Completed
Project 1 - 3 - In progress
Project 1 - 4 - Completed
Project 1 - 5 - In progress
Project 2 - 1 - Completed
Project 2 - 2 - In progress
Project 2 - 3 - In progress
Project 2 - 4 - In progress
Project 2 - 5 - Completed
Project 3 - 1 - Completed
Project 3 - 2 - In progress
Project 3 - 3 - In progress
Project 3 - 4 - In progress
Project 3 - 5 - Completed
我想要想出的是一种显示上次完成任务的计数的方法。因此,如果我要绘制上面的列表,它应该显示为:
1 - 0
2 - 0
3 - 0
4 - 1
5 - 2
对我来说,每个项目都可以轻松完成,例如
CALCULATE(
MAX(task),
Status = "Completed")
但我无法弄清楚总体上如何做到这一点。
要创建一个汇总表,显示在特定步骤中具有最终“已完成”任务的项目数量,您可以在度量内使用虚拟表,并按过滤器上下文中的当前任务对其进行过滤。这将识别哪些项目具有与当前任务匹配的最后完成的任务。
测量:
Count Num Of Proj =
VAR CurrentTask = MAX('Table'[Task])
VAR _table = SUMMARIZE(
ALL('Table'),
'Table'[Project],
"MaxTaskCompleted", CALCULATE(
MAX('Table'[Task]),
'Table'[Status] = "Completed"
)
)
VAR _filteredTable = FILTER(
_table,
[MaxTaskCompleted] = CurrentTask
)
RETURN IF(ISEMPTY(_filteredTable), 0, COUNTROWS(_filteredTable)
'CurrentTask'
以便稍后引用。ALL('Table')
将清除所有过滤器并访问未过滤的表。如果没有这个,Power BI 将按筛选上下文中的当前任务筛选主表。CALCULATE()
查找特定项目已完成状态的最高任务值。最终结果
备注: