March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola a todos
Estoy tratando de obtener un gráfico pero no he podido encontrar cómo resolverlo.
Tengo datos de fallos electrónicos de maquinaria. Básicamente, es una tabla como esta:
Activo | Fecha y hora | Evento |
Activo 1 | 01-01-2023 12:30:00 | Exceso de velocidad del motor |
Activo 2 | 02-01-2023 01:54:00 | Aceite de motor de baja presión |
Activo 1 | 02-01-2023 17:12:00 | Abuso de transmisión |
Activo 1 | 02-01-2023 18:20:00 | Aceite de transmisión de alta temperatura |
Activo 2 | 03-01-2023 16:34:00 | Exceso de velocidad del motor |
Activo 1 | 03-01-2023 16:35:00 | Refrigerante del motor a alta temperatura |
Activo 2 | 03-01-2023 16:35:30 | Refrigerante del motor a alta temperatura |
Quiero contar cuántos eventos ocurrieron al mismo tiempo o después de cada uno de ellos por activo, en un cierto período de tiempo.
El objetivo de esto es obtener una matriz donde pueda ver la correlación de eventos, donde, por cada evento, una cierta cantidad de % de otro evento también ocurre en esa ventana de tiempo.
Ejemplo:
En la ventana de 24 horas, después de un evento de exceso de velocidad del motor, solo ocurre 0.5 eventos de alta temperatura del refrigerante del motor. ¿Por qué?
Porque después del exceso de velocidad del motor en el activo 1 visto en 01-01-2023 12:30:00, no sucede nada más en el mismo activo dentro de las 24 horas, y, después del exceso de velocidad del motor en el activo 2 visto en 03-01-2023 16:34:00, solo ocurre 1 evento de alta temperatura del refrigerante del motor en el mismo activo. Entonces, por 2 eventos de exceso de velocidad del motor, podemos contar 1 evento de alta temperatura del refrigerante del motor.
La matriz resultante en este ejemplo se vería así (para un período de tiempo de 24 horas):
Exceso de velocidad del motor | Aceite de motor de baja presión | Abuso de transmisión | Aceite de transmisión de alta temperatura | Refrigerante del motor a alta temperatura | |
Exceso de velocidad del motor | 1 | 0 | 0 | 0 | 0.5 |
Aceite de motor de baja presión | 0 | 1 | 0 | 0 | 0 |
Abuso de transmisión | 0 | 0 | 1 | 1 | 1 |
Aceite de transmisión de alta temperatura | 0 | 0 | 0 | 1 | 1 |
Refrigerante del motor a alta temperatura | 0 | 0 | 0 | 0 | 1 |
No tengo ningún problema en variar la ventana de tiempo que se declara como una variable dentro de la función DAX, pero no sé cómo administrar la inteligencia de tiempo para los diferentes activos.
¿Alguna idea?
Muchas gracias de antemano.
Hola @Greg_Deckler , gracias por tu respuesta,
He estado intentando con su propuesta, pero no pude obtener los valores 😞 correctos, no sé si no está contando correctamente a través de la ventana de tiempo o los activos. Seguiré intentándolo de todos modos.
Gracias.
@ChrisCollao Esto no da los resultados exactos en su matriz, pero es posible que pueda ajustar la lógica para obtenerla de la manera que desea. Probablemente me esté perdiendo algo obvio. PBIX se adjunta debajo de la firma.
Measure =
VAR __Window = 1/24
VAR __EventRow = MAX('Events'[Event])
VAR __EventColumn = MAX('Table'[Event])
VAR __Table = SELECTCOLUMNS(DISTINCT('Table'[Asset]), "__Asset", [Asset])
VAR __Table1 = ADDCOLUMNS(__Table, "__RefDateTime", MAXX(FILTER('Table', [Asset] = [__Asset] && [Event] = __EventRow),[Datetime]))
VAR __Table2 = ADDCOLUMNS(__Table1, "__EndDateTime", [__RefDateTime] + __Window)
VAR __Table3 = ADDCOLUMNS(__Table2, "__Occurences", COUNTROWS(FILTER('Table', [Event] = __EventColumn && [Datetime] >= [__RefDateTime] && [Datetime] <= [__EndDateTime])))
VAR __Count = COUNTROWS(__Table3)
VAR __Occurences = SUMX(__Table3, [__Occurences])
VAR __Result = DIVIDE(__Occurences, __Count) + 0
RETURN
__Result
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.