Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Tengo a continuación la tabla donde necesito calcular el tiempo necesario para completar un pedido de ventas.
En caso de que la orden se complete dentro de un día, entonces usamos la diferencia de marca de tiempo mínima y marca de tiempo máxima.
Pero si el pedido se completa en más de 1 día, entonces necesitamos calcular el tiempo para cada pedido de ventas para cada día basado en la marca de tiempo min -max y agregar el tiempo tomado cada día y sumarlo.
Solved! Go to Solution.
@akapoor03 , Pruebe una medida como
sumx(values(Table[Sales Order]), calculate(datediff(Min(Table[timestamp]), Max(Table[timestamp]), day)))
Puede hora o minuto por día
No @akapoor03
Agregue una columna datevalue en la tabla. A continuación, cree medidas como se muestra a continuación.
Date = DATEVALUE('Table'[Timestamp])
Muestra:
Medir:
Based DATEDIFF =
VAR _MINTimestamp =
MINX (
FILTER (
ALL ( 'Table' ),
'Table'[Sales Order] = MAX ( 'Table'[Sales Order] )
&& 'Table'[Date] = MAX ( 'Table'[Date] )
),
'Table'[Timestamp]
)
VAR _MAXTimestamp =
MAXX (
FILTER (
ALL ( 'Table' ),
'Table'[Sales Order] = MAX ( 'Table'[Sales Order] )
&& 'Table'[Date] = MAX ( 'Table'[Date] )
),
'Table'[Timestamp]
)
RETURN
DATEDIFF ( _MINTimestamp, _MAXTimestamp, MINUTE )
M_Timestamp =
VAR _MINUTES =
SUMX (
SUMMARIZE ( 'Table', 'Table'[Sales Order], 'Table'[Date] ),
[Based DATEDIFF]
)
VAR _hh =
INT ( DIVIDE ( _MINUTES, 60 ) )
VAR _mm =
FORMAT ( MOD ( _MINUTES, 60 ), "0#" )
VAR _Timestamp = _hh & ":" & _mm & ":" & "00"
RETURN
_Timestamp
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
No @akapoor03
Agregue una columna datevalue en la tabla. A continuación, cree medidas como se muestra a continuación.
Date = DATEVALUE('Table'[Timestamp])
Muestra:
Medir:
Based DATEDIFF =
VAR _MINTimestamp =
MINX (
FILTER (
ALL ( 'Table' ),
'Table'[Sales Order] = MAX ( 'Table'[Sales Order] )
&& 'Table'[Date] = MAX ( 'Table'[Date] )
),
'Table'[Timestamp]
)
VAR _MAXTimestamp =
MAXX (
FILTER (
ALL ( 'Table' ),
'Table'[Sales Order] = MAX ( 'Table'[Sales Order] )
&& 'Table'[Date] = MAX ( 'Table'[Date] )
),
'Table'[Timestamp]
)
RETURN
DATEDIFF ( _MINTimestamp, _MAXTimestamp, MINUTE )
M_Timestamp =
VAR _MINUTES =
SUMX (
SUMMARIZE ( 'Table', 'Table'[Sales Order], 'Table'[Date] ),
[Based DATEDIFF]
)
VAR _hh =
INT ( DIVIDE ( _MINUTES, 60 ) )
VAR _mm =
FORMAT ( MOD ( _MINUTES, 60 ), "0#" )
VAR _Timestamp = _hh & ":" & _mm & ":" & "00"
RETURN
_Timestamp
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@akapoor03 , Pruebe una medida como
sumx(values(Table[Sales Order]), calculate(datediff(Min(Table[timestamp]), Max(Table[timestamp]), day)))
Puede hora o minuto por día