Encontrar el tiempo de permanencia

Un usuario Pregunto ✅

jmah

Hola, estoy luchando por encontrar tiempo de permanencia con dax, realmente agradecería si alguien pudiera guiarme en esto.

Conjunto de datos de muestra:

Fecha y hora Escribe
1/1/2020 12:00 a B C
1/1/2020 12:30 a B C
1/1/2020 12:31 xyz
1/1/2020 13:30 xyz
1/1/2020 14:00 a B C
1/2/2020 10:20 a B C
1/2/2020 11:15 xyz
1/2/2020 11:16 a B C
1/2/2020 13:15 efg
1/2/2020 16:00 xyz
1/3/2020 13:30 a B C
1/3/2020 14:00 a B C
1/3/2020 15:00 xyz
1/3/2020 15:15 xyz

Esto es lo que quiero:

Fecha y hora Escribe Tiempo de permanencia (min)
1/1/2020 12:00 a B C 120
1/1/2020 12:30 a B C 120
1/1/2020 12:31 xyz 61
1/1/2020 13:30 xyz 61
1/1/2020 14:00 a B C 120
1/2/2020 10:20 a B C 56
1/2/2020 11:15 xyz 285
1/2/2020 11:16 a B C 56
1/2/2020 13:15 efg 1
1/2/2020 16:00 xyz 285
1/3/2020 13:30 a B C 30
1/3/2020 14:00 a B C 30
1/3/2020 15:00 xyz 15
1/3/2020 15:15 xyz 15

Estoy tratando de encontrar el tiempo de permanencia para cada tipo a diario, ¿hay alguna forma posible de hacerlo? ¿Alguna vez ha visto algo así? ¡Realmente agradecería un poco de ayuda! Gracias xoxo

az38

Hola @jmah

intenta crear una medida

dwellTime = 
var _selectedDay = DATE(YEAR(SELECTEDVALUE('Table'[DateTime])), MONTH(SELECTEDVALUE('Table'[DateTime])),DAY(SELECTEDVALUE('Table'[DateTime])))
var _start = CALCULATE(MIN('Table'[DateTime]),FILTER(ALL('Table'),'Table'[Type]=SELECTEDVALUE('Table'[Type]) && DATE(YEAR('Table'[DateTime]),MONTH('Table'[DateTime]),DAY('Table'[DateTime]))=_selectedDay))
var _end = CALCULATE(MAX('Table'[DateTime]),FILTER(ALL('Table'),'Table'[Type]=SELECTEDVALUE('Table'[Type]) && DATE(YEAR('Table'[DateTime]),MONTH('Table'[DateTime]),DAY('Table'[DateTime]))=_selectedDay))
return
IF(_end>_start,datediff(_start,_end,MINUTE),1)

no dudes en dar un kudo a publicaciones útiles y marcar soluciones como solución

LinkedIn

az38

Hola @jmah

intenta crear una medida

dwellTime = 
var _selectedDay = DATE(YEAR(SELECTEDVALUE('Table'[DateTime])), MONTH(SELECTEDVALUE('Table'[DateTime])),DAY(SELECTEDVALUE('Table'[DateTime])))
var _start = CALCULATE(MIN('Table'[DateTime]),FILTER(ALL('Table'),'Table'[Type]=SELECTEDVALUE('Table'[Type]) && DATE(YEAR('Table'[DateTime]),MONTH('Table'[DateTime]),DAY('Table'[DateTime]))=_selectedDay))
var _end = CALCULATE(MAX('Table'[DateTime]),FILTER(ALL('Table'),'Table'[Type]=SELECTEDVALUE('Table'[Type]) && DATE(YEAR('Table'[DateTime]),MONTH('Table'[DateTime]),DAY('Table'[DateTime]))=_selectedDay))
return
IF(_end>_start,datediff(_start,_end,MINUTE),1)

no dudes en dar un kudo a publicaciones útiles y marcar soluciones como solución

LinkedIn

jmah

En respuesta a az38

¡Gracias @ az38! Supongo que esto definitivamente funcionará en un conjunto de datos más pequeño. ¡Mi conjunto de datos es demasiado grande y lo he dividido en tres partes y está funcionando bien ahora!

jmah

En respuesta a az38

Hola @ az38, gracias por tu respuesta, pero obtengo 1 minuto para cada fila en lugar de obtener el tiempo de permanencia. 😞 ¿Hay alguna otra forma posible? ¡Gracias por tu ayuda!

az38

En respuesta a jmah

Hola @jmah

para mí funciona bien con su muestra de datos

Снимок.PNG

tal vez tienes algo más en tu modelo de datos? o su campo de fecha y hora no tiene un tipo de datos de fecha y hora?

no dudes en dar un kudo a publicaciones útiles y marcar soluciones como solución

jmah

En respuesta a az38

Hola @ az38, gracias por tu respuesta. Mi DateTime definitivamente está en formato DateTime, pero acabo de descubrir que esta línea no captó la fecha de DateTime, ¿hay algo que haya fallado?

var _selectedDay = DATE(YEAR(SELECTEDVALUE('Table'[DateTime])), MONTH(SELECTEDVALUE('Table'[DateTime])),DAY(SELECTEDVALUE('Table'[DateTime])))

az38

En respuesta a jmah

@jmah
¿Estás intentando crear una medida?
Quizás debería reemplazar «,» por «;» debido a una pregunta de localización.
Una opción más: comparte tu archivo pbix sin datos confidenciales y dame un enlace para ayudarte 🙂

jmah

En respuesta a az38

Estaba intentando crear una columna para el tiempo de permanencia.

La coma funciona bien para mí, pero el punto y coma me da errores.

Lamento no haber podido compartir los datos debido a problemas de privacidad, se ve exactamente como los datos de muestra pero con segundos (por ejemplo, 1/12/2020 01:12:25).

Intenté crear otra columna para «_selectedDay», pero volvió en blanco, ¿pensé que se suponía que debía devolver la fecha?

_selectedDay = DATE(YEAR(SELECTEDVALUE('Table'[DateTime])), MONTH(SELECTEDVALUE('Table'[DateTime])),DAY(SELECTEDVALUE('Table'[DateTime])))

az38

En respuesta a jmah

@jmah

tratar de crear nuevos la medida, no columna

no dudes en dar un kudo a publicaciones útiles y marcar soluciones como solución

jmah

En respuesta a az38

Esto es lo que obtuve de mis datos, la tabla de la izquierda son los datos originales y la tabla de la derecha es la medida _selectedDay y la medida de tiempo de permanencia, y realmente no tengo idea de por qué esto no funciona. Por favor, guíeme en esto, ¡muchas gracias!

capture.PNG

az38

En respuesta a jmah

Hola @jmah

no lo sé, funciona bien, tal vez simplemente no cambiaste el nombre de la fecha y la hora para ver la hora en mi estado de cuenta.

Снимок.PNG

aquí está mi archivo pbix de muestra con su ejemplo de datos https://ufile.io/wgzpm4jz

no dudes en dar un kudo a publicaciones útiles y marcar soluciones como solución

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *