我在PowerBI中有一个表,该表有3列:1.EnrollId 2.Status 3.StatusChangeDate。一个EnrollId具有4个状态及其特定的statusChangeDates。我想找不到。具有状态条件的两个日期之间的天数。
EnrollId Status StatusChangeDate
101 AppStart 15/02/2019
101 Application 27/03/2019
101 Enrollment 03/04/2019
101 Complete 28/04/2019
我想像
一样在DAX中创建公式[StatusChangeDate (where Status="Enrollment") - StatusChangeDate(where status="AppStart)]
或
[StatusChangeDate (where Status="Complete")- StatusChangeDate(where status="Enrollment)]
i.e. 03/04/2019 - 15/02/2019 = 44 Days
28/04/2019 - 03/04/2019 = 25 Days
答案 0 :(得分:0)
我的建议是选择“计算列”,您可以尝试将其调整为度量值,但是关于过滤器上下文还有更多因素要考虑。
对于计算列:
DaysLastChange =
VAR _currentStatusChangeDate = [StatusChangeDate]
VAR _currentEnrollId = [EnrollId]
RETURN
DATEDIFF(
CALCULATE(MAX('Table1'[StatusChangeDate]);FILTER('Table1';_currentEnrollId = [EnrollId] && _currentStatusChangeDate > [StatusChangeDate] ));
_currentStatusChangeDate;
DAY
)
答案 1 :(得分:0)
如果要采取措施,请尝试类似的方法。对于两个状态之间的每个时间段,您需要创建另一个度量。选择多个[EnrollId]时,该度量将返回空白。
Days Enrollment - Complete =
VAR scDateEnrollment =
CALCULATE ( MAX ( 'Table'[StatusChangeDate] ), 'Table'[Status] = "Enrollment" )
VAR scDateComplete =
CALCULATE ( MAX ( 'Table'[StatusChangeDate] ), 'Table'[Status] = "Complete" )
RETURN
IF (
HASONEVALUE ( 'Table'[EnrollId] ),
DATEDIFF ( scDateEnrollment, scDateComplete, DAY )
)
卡片视觉效果或桌面视觉效果如下所示。如您所见,表格外观不受切片器的影响。
编辑 这是我使用的表格: