Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

DATEDIFF entre los valores datetime por ID

Tengo una Table_A, que realiza un seguimiento de datetime de los cambios de estado.

FechaTimeidentificaciónentradasalida
29/10/2020 14:25100110
01/12/2020 15:30100210
05/02/2021 12:00100101
15/04/2021 21:45100201



Quiero calcular la cantidad de tiempo entre Entrada y Salida para cada ID (TimeSpent).

FechaTimeidentificaciónentradasalidaTiempo gastado
29/10/2020 14:25100110nulo
01/12/2020 15:30100210nulo
05/02/2021 12:0010010199
15/04/2021 21:45100201

135


Algo como esto

TimeSpent = 
DATEDIFF(
  FILTER('TableA'[DateTime], Entry = 1),
  FILTER('TableA'[DateTime], Exit = 1),
  Day
)


Recibo el siguiente mensaje de error "La expresión hace referencia a varias columnas. Varias columnas no se pueden convertir en un valor escalar."

Dudo mucho que FILTER sea la forma correcta de identificar casos para el cálculo... He intentado CALCULATE pero eso tampoco funcionó.

¿Alguna idea?

Problemas similares:
https://community.powerbi.com/t5/Desktop/DateDiff-with-Filter-based-on-specific-value/m-p/1366481#M5...
https://community.powerbi.com/t5/Desktop/using-datediff-with-filters/m-p/528938#M247760
https://community.powerbi.com/t5/DAX-Commands-and-Tips/DATEDIFF-with-filter/m-p/769728#M3623

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@moosepng, prueba una medida como

averageX(values(Table[ID]), calculate(datediff(minx(filter(Table, Table[Entry] =1), [DateTime]),maxx(filter(Table, Table[exit] =1), [DateTime]),minute)))

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Gracias a los dos por volver conmigo. Probaré las soluciones y te volveré 🙂

Syndicate_Admin
Administrator
Administrator

Ahí, @moosepng

Por favor, compruebe la siguiente imagen y el enlace del archivo pbix de ejemplo abajo.

Picture5.png

Medida de tiempo invertido =
Corriente VAR =
MAX ( 'Tabla'[ID] )
Entrada VARdatetime =
CALCULAR (
MAX ( 'Tabla'[DateTime] ),
FILTRO ( ALL ( 'Tabla' ), 'Tabla'[ID] = currentid & 'Table'[Entrada] = 1 )
)
devolución
IF (
ISFILTERED ( 'Tabla'[ID] ),
IF (
SELECTEDVALUE ( 'Tabla'[Salir] ) = 1,
DATEDIFF ( entradadatetime, SELECTEDVALUE ( 'Table'[DateTime] ), DAY ),
"nulo"
)
)

Hola, mi nombre es Jihwan Kim.


Si este post ayuda, entonces considere aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido, y dar un gran pulgar hacia arriba.


Linkedin: linkedin.com/in/jihwankim1975/

Twitter: twitter.com/Jihwan_JHKIM

¡gracias!
descargado el pbix. y la solución funciona para los datos de ejemplo. Sin embargo, devolvió valores null para mi conjunto de datos real.
debe ser el if()? podría ser que mis ID son texto no numérico?

Ahí, @moosepng

Gracias por sus comentarios.

en mi ejemplo, ID es un formato numérico.

Si su columna id es un formato de texto, intente escribir algo como a continuación.

"1" "2" ...

Gracias.

Hola, mi nombre es Jihwan Kim.

Si este post ayuda, entonces considere aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido, y dar un gran pulgar hacia arriba.

Linkedin: linkedin.com/in/jihwankim1975/

Twitter: twitter.com/Jihwan_JHKIM

Syndicate_Admin
Administrator
Administrator

@moosepng, prueba una medida como

averageX(values(Table[ID]), calculate(datediff(minx(filter(Table, Table[Entry] =1), [DateTime]),maxx(filter(Table, Table[exit] =1), [DateTime]),minute)))

Hola Amitchandak,
¿Es posible filtrar esta medida [TimeSpent] por una tabla de fecha 'Fecha'?
Deberá especificar en la medida que el filtro aplica a exit datetime. O posiblemente ignorar la fecha menor con algo como ...

FILTER(ALL('Date'[DateTime]),'Date'[DateTime]<=MAX('Date'[DateTime]))



Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.