Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Necesito ayuda para determinar la diferencia horaria en el siguiente ejemplo.
Usando el mismo tx_number, y luego ordenando por tx_date, estoy tratando de determinar el tiempo de respuesta de "Correo electrónico del cliente" a "Nuestra respuesta".
En el escenario siguiente, solo las 3 entradas intermedias de "Correo electrónico del cliente" tendrían un cálculo.
El cálculo sería el primer "Nuestra respuesta" (fecha) DESPUÉS del "Correo electrónico del cliente" y sería simplemente "Nuestra respuesta" (fecha) menos "Correo electrónico del cliente" (fecha) para mostrar como se muestra a continuación (en rojo)
Si no hay "Nuestra respuesta" después del "Correo electrónico del cliente", el valor sería null.
¿Se puede hacer esto en Power Query Y también a través de columnas calculadas? Idealmente, me gustaría que esta acción se completara en Power Query.
table_name: tx_dates
tx_number | tx_category | tx_date | acción | Hora |
102435 | 143 | 24/05/2022 15:23:00 | Nuestra respuesta | |
102435 | 143 | 24/05/2022 15:28:00 | Correo electrónico del cliente | 31:00:00 |
102435 | 143 | 24/05/2022 17:32:00 | Correo electrónico del cliente | 28:56:00 |
102435 | 143 | 25/05/2022 19:54:00 | Correo electrónico del cliente | 2:34:00 |
102435 | 143 | 25/05/2022 22:28:00 | Nuestra respuesta |
Es fácil de lograr creando una columna calculada.
time = IF([action]="Customer Email",MAXX(FILTER('tx_dates',[tx_number]=EARLIER(tx_dates[tx_number])),[tx_date])-[tx_date])
Saludos
Esteban Tao
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Por favor, tenga en cuenta que la columna de tiempo será de tipo TEXT y no puede hacer el cálculo adicional
Column =
VAR _response=minx(FILTER('Table','Table'[tx_number]=EARLIER('Table'[tx_number])&&'Table'[action]="Our Response" &&'Table'[tx_date]>EARLIER('Table'[tx_date])),'Table'[tx_date])
VAR _datedif=DATEDIFF('Table'[tx_date],_response,SECOND)
VAR _h=int(_datedif/3600)
VAR _m=right("0"&int((_datedif-_h*3600)/60),2)
VAR _s=right("0"&(_datedif-_h*3600-_m*60),2)
return if('Table'[action]="Customer Email",_h&":"&_m&":"&_s)
pls ver el archivo adjunto a continuación
@Greg_Deckler ,
No estoy seguro de si me he perdido algo en este ejercicio, pero como solo tengo una fecha por fila y estoy buscando los valores de fecha a continuación si se cumplen x criterios, el artículo que proporcionó no parece proporcionar una solución.
¿Puede revisar y ver si me he perdido algo?
@ToddMate Parecía que estabas tratando de tomar una fecha / hora de la actual y restarla de la fecha / hora que aparece en una fila anterior. ¿Es eso correcto?
@ToddMate Vea mi artículo sobre el tiempo medio entre fallas (MTBF) que utiliza EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395....
El patrón básico es:
Columna =
VAR __Current = [Valor]
VAR __PreviousDate = MAXX(FILTER('Table','Table'[Date] < EARLIER('Table'[Date])),[Date])
VAR __Previous = MAXX(FILTER('Table',[Date]=__PreviousDate),[Value])
DEVOLUCIÓN
__Current - __Previous