我有一个Power BI报告,该报告可计算一个月内到期的作业数量,并报告按时完成多少作业。该报告运行良好,但我无法弄清楚如何将按时完成的提前一个月提前完成的工作包括在内。
我已采取以下措施:
测量“到期”:
Due = COUNTROWS ( Table1 )
衡量“按时完成”:
Done on time =
VAR DueMonth = MONTH ( FIRSTDATE ( Table1[due_date] ) )
RETURN
CALCULATE (
[Due],
FILTER (
Table1,
MONTH ( Table1[completed] ) = DueMonth
)
)
测量“外部时间”:
Outside time =
VAR DueMonth = MONTH ( FIRSTDATE ( Table1[due_date] ) )
RETURN
CALCULATE (
[Due],
FILTER (
Table1,
MONTH ( Table1[completed] ) <> DueMonth &&
NOT ISBLANK ( Table1[completed] )
)
)
测量“不完整”:
Incomplete =
VAR DueMonth = MONTH ( FIRSTDATE ( Table1[due_date] ) )
RETURN
CALCULATE (
[Due],
FILTER (
Table1,
ISBLANK ( Table1[completed] )
)
)
测量“%Perf”
% Perf =
DIVIDE (
[Done on time],
[Due],
BLANK()
)
预期结果是将提前完成的工作添加到正确月份中完成的工作总数中。
样本输出: Sample job data Sample Job Data 2
答案 0 :(得分:0)
如果我对问题的理解正确,那么您想更改指标以考虑所有已完成的任务处于启用状态或在完成月份之前:
Done on time or prior=
VAR DueMonth = MONTH ( FIRSTDATE ( Table1[due_date] ) )
RETURN
CALCULATE (
[Due],
FILTER (
Table1,
MONTH ( Table1[completed] ) <= DueMonth
)
)
或考虑计划月份和计划月份-1:
Done on time or month before=
VAR DueMonth = MONTH ( FIRSTDATE ( Table1[due_date] ) )
RETURN
CALCULATE (
[Due],
FILTER (
Table1,
MONTH ( Table1[completed] ) = DueMonth || MONTH ( Table1[completed] ) = DueMonth -1
)
)
请注意,您可能还需要考虑年份。如果是这样,我建议您尝试使用eomonth这样的功能:
Done on time or month before=
VAR DueMonth = EOMONTH( FIRSTDATE ( Table1[due_date] ) )
RETURN
CALCULATE (
[Due],
FILTER (
Table1,
EOMONTH( Table1[completed] ) = DueMonth || EOMONTH( Table1[completed] ) = dateadd(DueMonth, -1, month)
)
)