假设我有一个PowerBI表,其中包含进入每种状态的时间:
Object | State | Start |
1 A 0
2 A 0
3 B 0
1 B 3
2 B 4
1 C 5
现在我想创建一个计算列,显示每个对象在每种状态下的时间量,例如给定以上数据,我希望输出看起来像这样:
Object | State | Start | Calculated Column |
1 A 0 3
2 A 0 4
3 B 0 10
1 B 3 2
2 B 4 6
1 C 5 5
(假设当前时间是10)
请注意,状态顺序不一定是已知的。在我的示例中,它们是A
,B
,C
,但在实际情况下它们是哈希值。
如何在PowerBI / DAX中执行此操作?
答案 0 :(得分:1)
这是我尝试过的:
Column =
var CurrentTime = 10
var CurrentObj = Table1[Object]
var CurrentStart = Table1[Start]
var CurrentState = Table1[State]
var NextStart = CALCULATE(FIRSTNONBLANK(Table1[Start],1=1), FILTER(Table1, Table1[State] = CurrentState + 1),FILTER(Table1, Table1[Object]=CurrentObj))
RETURN IF(ISBLANK(NextStart), CurrentTime - CurrentStart,NextStart - CurrentStart)
结果: