cancel
Showing results for 
Search instead for 
Did you mean: 
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)))

View solution in original post

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
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Get Ready for Power BI Dev Camp

Power BI Dev Camp - June 24th

Mark your calendars and join us for our next Power BI Dev Camp!

Top Solution Authors
Top Kudoed Authors