如何在DAX中获得状态持续时间?

问题描述 投票:0回答:1

假设我有一个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)

注意,状态序列不一定是已知的。在我的例子中,它们是ABC,但它们是真实案例中的哈希值。

如何在Power BI / DAX中执行此操作?

powerbi dax
1个回答
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)

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.