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
rogletree
Helper III
Helper III

Expertos en DAX, necesito ayuda con la manipulación del tiempo

Tengo una mesa que realiza un seguimiento de los tiempos de inactividad de las máquinas. Algunos campos que tengo son [start_time] y [end_time] (ambos son datetime), [duration] (en minutos como un número decimal). Esos son bastante autoexplicativos. He creado otro campo en la consulta de energía llamado [date_hour] (como datetime) que es la hora del día en que se produjo un tiempo de inactividad, por ejemplo, si un tiempo de inactividad comenzó a las 10:15 am del 13 de octubre, se mostraría como "10/13/2020 10:00:00 AM".

Algunos de estos tiempos de inactividad son solo unos minutos, pero algunos de ellos pueden durar varias horas. Quiero mostrar estos objetos visuales como gráficos donde puedo profundizar en el campo [date_hour] para máquinas específicas y ver cuántos minutos estuvieron abajo para cualquier hora del día. Pero con cómo actualmente lo tengo modelado, si un tiempo de inactividad comienza a las 10:15 AM y dura 120 minutos, muestra que la hora de las 10 a. m. tiene 120 minutos de tiempo de inactividad, y obviamente solo puede haber 60 minutos en una hora, por lo que mostrar 120 minutos de tiempo de inactividad en una hora es un poco engañoso.

Así que básicamente lo que me gustaría hacer es, si hay un tiempo de inactividad que es más de 60 minutos, tener una expresión DAX que básicamente lo arrastra a través de los muchos campos [date_hour] son necesarios durante tantos minutos que sea.

¿Es algo que suena factible? No soy tan bueno en DAX así que me imagino que hay algunas personas por aquí que son realmente buenas en eso que podrían tener algunas ideas.

1 ACCEPTED SOLUTION

@rogletree

1. Necesita una tabla de fecha y hora completa con todas las horas, sin huecos. También debe tener una tabla de fechas completa con todos los días del año (años completos) para evitar problemas inesperados.

2. No hay relación entre la tabla de fecha y hora y la tabla principal

3. Cree esta medida para el gráfico:

Measure = 
VAR startSlot_ = SELECTEDVALUE('date hours'[date_hour])
VAR endSlot_ = startSlot_ + (1/24) //1 hour later
RETURN
SUMX(Main, 
VAR aux_ =  MIN(endSlot_,Main[end_time])- MAX(startSlot_, Main[start_time])
VAR timeInSlot_ = IF(aux_>=0, 24*60*aux_, 0)
RETURN
timeInSlot_)

4. Véalo todo en juego en el archivo adjunto

AlB_0-1603454317479.png

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

View solution in original post

5 REPLIES 5
Daviejoe
Memorable Member
Memorable Member

Llamando a @Greg_Deckler

¡Espero que no te importe que te etiquete en esto! Me recordó tu capítulo mtBF.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




AlB
Super User
Super User

Hola @rogletree

No lo he entendido. ¿Puede mostrar un ejemplo basado en datos con el resultado esperado? Para ayudar a aclarar un poco

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

@AlB seguro, aquí hay un par de capturas de pantalla.

Aquí hay una fila de mi mesa. Como se puede ver, para la "duración" muestra 375.262. Esto es en minutos, por lo que sale a poco más de seis horas, como se muestra por la hora de inicio y la hora de finalización. Y como la hora de inicio era a las 4:06AM, el "date_hour" es a las 4AM para esa fecha.

1.jpg

Ahora, cuando se traza en un gráfico, así es como se ve. Esta vista muestra las 24 horas de una fecha para una máquina en particular. Esa barra larga representa el evento de tiempo de inactividad de 375 minutos, pero lo muestra como dentro de la hora 4AM, que es exactamente como se lo dije a Power BI. También puede ver que para las horas de 5 a. m. , 6 a. m., 7 a. m., 8 a. m. y 9 a. m. no muestra tiempos de inactividad, cuando en realidad el tiempo de inactividad de 375 minutos se ha arrastrado a lo largo de esas horas. Luego, en la hora de las 10 a. m. esa pequeña porción de una barra es para un evento de tiempo de inactividad que fue un poco más de un minuto, no relacionado con el grande.

Así que espero que haya una manera de "extender" los tiempos de inactividad que son más de 60 minutos, o si va de una hora a otra hora, para mostrar eso. Porque ahora mismo lo visual parece engañoso con cómo lo tengo.

2.JPG

@rogletree

1. Necesita una tabla de fecha y hora completa con todas las horas, sin huecos. También debe tener una tabla de fechas completa con todos los días del año (años completos) para evitar problemas inesperados.

2. No hay relación entre la tabla de fecha y hora y la tabla principal

3. Cree esta medida para el gráfico:

Measure = 
VAR startSlot_ = SELECTEDVALUE('date hours'[date_hour])
VAR endSlot_ = startSlot_ + (1/24) //1 hour later
RETURN
SUMX(Main, 
VAR aux_ =  MIN(endSlot_,Main[end_time])- MAX(startSlot_, Main[start_time])
VAR timeInSlot_ = IF(aux_>=0, 24*60*aux_, 0)
RETURN
timeInSlot_)

4. Véalo todo en juego en el archivo adjunto

AlB_0-1603454317479.png

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

@AlB muchas gracias!

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.