DAX:从 date/time 差异中查找处理时间和上次操作

DAX : Find process time & last operation from date/time difference

需要您的帮助,以小时为单位找到 "Process Time",并根据最大操作数

在上次操作中查找它的位置

DATEDIFF(
    CALCULATE(
        SUM(tableX[date/time]),
        ALLEXCEPT(tableX,tableX[Operation],tableX[ID]),
        tableX[date/time] <= EARLIER(tableX[date/time])
   ), 
   tableX[date/time],HOUR
)

我认为您正在寻找以下计算列:

Process Time (Hours) = DATEDIFF(
    CALCULATE(
        MAX('tableX'[Date/Time]),
        ALLEXCEPT(tableX,'tableX'[ID]),
        'tableX'[date/time] < EARLIER('tableX'[date/time])
   ), 
   'tableX'[Date/Time],HOUR
)

此表达式计算操作中上一步所经过的时间。如果要计算从操作开始到运行的经过时间,只需将 MAX('tableX'[Date/Time]) 更改为 MIN('tableX'[Date/Time])。像这样:

要创建最后一列,您可以使用:

Last Operation =
IF (
    'tableX'[Date/Time]
        = CALCULATE ( MAX ( 'tableX'[Date/Time] ), ALLEXCEPT ( 'tableX', tableX[ID] ) ),
    "Y",
    "N"
)