Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hola Comunidad, buen día,
Estoy un poco atrapado en una solución que necesito producir para una situación extraña.
Me gustaría pedirles ayuda para ver si es posible lo que estoy tratando de hacer, por favor.
Mi tabla principal es una lista de Eventos, similar a esta:
Evento | Cliente | Severidad |
x1 | c1 | Información |
x2 | c1 | Advertencia |
x3 | c2 | Crítico |
x4 | c3 | Información |
Ahora necesito agregar la información Áreas donde ocurrió el evento porque el usuario quiere filtrar por ellas. Está en una nueva tabla, registrada así:
IDENTIFICACIÓN | Evento | Área |
1 | x1 | Zona 1 |
2 | x1 | Zona 2 |
3 | x2 | Zona 1 |
4 | x3 | Zona 1 |
Como puedes ver la relación entre Eventos y Áreas será de 1 - N. Entonces, si solo hago una unión directa (o fusión), traerá registros duplicados para eventos. Eso es exactamente lo que necesito evitar, pero también necesito agregar el filtro por Áreas en el tablero.
Intenté concatenarlos primero para tener una relación 1-1, pero el filtro se vuelve como:
Lo cual no es bueno, porque estos valores pueden variar entre muchos tipos de áreas y suceder simultáneamente en muchas. Podríamos tener, por ejemplo, | Zona B, Piso 2|, | Zona B, Piso 4, Zona 1|, etc.
Aunque tenemos el Filtro Avanzado, usando la opción "contener" y luego filtrando por un término, los usuarios no necesariamente conocen todos los nombres de las áreas que puede ser insertar el término correcto.
Así que la pregunta es. ¿Existe programabilidad que haga que un filtro dé las opciones de una tabla de origen diferente (por ejemplo, con todas las áreas) y la aplique contra la tabla principal con una cláusula "contiene"? O si hay otra solución que no estoy viendo, por favor.
Realmente aprecio la atención, gracias.
Hola @Greg_Deckler , gracias por la respuesta.
Eso realmente mostraría la información de cuántos eventos suceden en cada área, ¿verdad?
Pero es posible que me haya olvidado de mencionar que el tablero es enorme y agrega mucha otra información. Lo que el usuario quiere ver es toda esta información, pero solo para los eventos que ocurrieron en la Zona 1, por ejemplo.
@farina_dj No estoy entendiendo algo. Si la relación es Áreas eventos 1:N y crea una segmentación de datos basada en la columna Evento de Eventos y crea una segmentación de datos basada en la columna Área de Áreas, cuando seleccione un Evento en esa segmentación de datos, la segmentación de datos Área solo mostrará áreas para ese evento.
Hola @Greg_Deckler , lo siento, no, no creé una segmentación de datos para Event. Eventos es la tabla que estoy analizando. Quiero ver eventos para el Cliente X, eventos del país Y, eventos con gravedad crítica, eventos en la zona Zona 1, etc. Events es la tabla principal, EventID sería de PrimaryKey.
@Greg_Deckler, No Es un EventID que puede tener muchas Áreas relacionadas, por lo que un 1-N en la relación entre Evento-Área.
Eventos tiene muchas otras relaciones con otras tablas, pero solo 1-1, solo en este caso de Área que el mismo EventID puede ocurrir en más de un Área.
Area tiene precisamente esta relación con Eventos.
@farina_dj ¿Puedes hacerlo bidireccional o no? Eso resolvería el problema para que las áreas puedan filtrar eventos.
@Greg_Deckler , lo siento, creo que no entendí antes, la tabla Áreas filtra los Eventos, sí.
Si hago una relación regular entre Eventos y Áreas, trabajo, y el filtro se vuelve así:
Y filtra por Áreas. Si selecciono la Zona 2, solo me muestra los eventos de la Zona 2.
Pero el problema es que los eventos que ocurren en la Zona 1 y la Zona 2 se cuentan dos veces. Lo que significa que si no aplico ningún filtro, el número de eventos es incorrecto, porque la relación con Areas trae un plano cartesiano.
Es por eso que traté de producir otra tabla AreasConcatenated que agrupa el mismo EventID y concatena las áreas para tener una relación 1-1. Así que la fila se convierte en EventID = "x1", Area = "Zone 1, Zone 2".
Pero luego frena el filtro, porque se convierte:
Lo que estoy tratando de alcanzar es un filtro que solo muestra una opción para cada área, pero de una manera que no duplique los registros de eventos si no filtro.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.