如何使用 DAX 按类别比较当前行与上一行

How to Compare the Current Row to the Previous Row by Category Using DAX

table 看起来像这样: [Table]:

https://i.stack.imgur.com/S48p6.png

我已经使用 RANKX 创建了一个参考列 rank,按 TaskNum 及其 [=34= 对 table 进行排序]Modified_Time。现在我只需要计算当前行与上一行之间的差异以获得时间间隔:

我期望的结果是这样的:[预期结果]:

+ https://i.stack.imgur.com/pCyon.png

我试着写 DAX:

IF(
  Table[TaskNum] = LOOKUPVALUE(Table[TaskNum],Table[rank],Table[rank]-1),
  DATEDIFF(LOOKUPVALUE(Table[Date],Table[rank],Table[rank]-1),Table[Date],DAY)
  ,0)

我认为这很有道理,但出现错误:在需要单个值的地方提供了 table 个多个值。

请帮我修复一下,thx!!!!!!!

如果 rank 是您的 table 中的一列,您可以创建另一个从属(基于 Rank)column,如下所示对于您需要的输出-

date_diff = 

var current_date = your_table_name[Date]

var previous_date = 
CALCULATE(
    MAX(your_table_name[Date]),
    FILTER(
        your_table_name,
        your_table_name[Rank] = EARLIER(your_table_name[Rank])-1
            && your_table_name[TaskNum] = EARLIER(your_table_name[TaskNum])
    )
)

return DATEDIFF(previous_date,current_date,HOUR)/24.00

现在只需将新列转换为 2(或更多,根据需要)十进制,输出将如下所示-