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"
)
需要您的帮助,以小时为单位找到 "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"
)