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
ehew1991
Frequent Visitor

Aplicar un filtro a una segmentación de datos basado en un filtro de una tabla no relacionada

Me gustaría que las "opciones" de mis segmentaciones de datos se rellenara en función de un filtro aplicado a una tabla no relacionada (no puedo crear una relación activa - explicará), ¿es esto posible?

Básicamente, mi panel de control es un panel de personal que examina múltiples aspectos de personal, por ejemplo, Enfermedad/Turnover/Vacancies dentro de un negocio. Cada una de las métricas de personal se mantienen en diferentes tablas y se recopilan de forma ligeramente diferente, también pueden tener períodos de fecha ligeramente diferentes y posibles convenciones de nomenclatura para los equipos, etc., por lo que no se pueden agregar todos a la misma tabla.

Dentro de las tablas de métricas de personal, junto con los datos y el código de organización, hay 3 columnas que son coherentes entre sí y tendrán las mismas convenciones de nomenclatura. Así que he hecho una lista maestra de estos (eliminando duplicados) y agregué estos como segmentaciones en cada pestaña. Estos son "Sitio de negocios", "Grupo de personal" y "Área de servicio de negocios". Entonces tengo 2 rebanadoras para "nombre del equipo" - partido de enfermedad y rotación, y luego la vacante es una segmentación separada. Para que el usuario pueda filtrar los datos de personal de la ubicación de negocio elegida en función del nivel que desee ver los datos (por equipo, o por grupo de personal, etc.).

Ahora, si esto fuera sólo para 1 ubicación de negocio, el panel funcionaría absolutamente bien. Sin embargo, las tablas de métricas de personal contienen datos para varias ubicaciones empresariales (tenga en cuenta que esto es diferente de los sitios empresariales): estas ubicaciones se desglosan como se mencionó anteriormente (sitio de negocios, grupo de personal y área de servicio empresarial). La información de ubicación del negocio se mantiene en una tabla separada denominada "BLs actuales". Esta tabla contiene información como el nombre de la ubicación, el código de la organización, la autoridad local, la dirección, el condado, el equipo de administración, etc. Al principio de mi panel (primera pestaña) el usuario puede filtrar por ubicación singular, condado, área de inglaterra y equipo de administración - o puede optar por no filtrar y ver los datos de personal como un nivel de negocio completo, incluidas todas las ubicaciones en Inglaterra. Para conectar esta tabla "BLs actuales" a mis métricas de personal, he creado una relación entre las columnas de código de organización en las tablas de personal (Turnover, Vacancy, Sickness) y los BLs actuales.

Así que todo esto funciona perfectamente bien, si el usuario no selecciona un filtro en la primera pestaña, los datos muestran para todas las ubicaciones en Inglaterra, si seleccionan un área muestra todos los datos correctamente, y lo mismo va si elige una ubicación singluar. Todos los datos se están extrayendo correctamente.

Sin embargo, mi problema es que las 3 segmentaciones que mencioné inicialmente que conectan todas las tablas de personal juntas (por lo que el número real de empleados de la rotación se puede mostrar junto con el recuento planificado de la vacante en el mismo objeto visual basado en las segmentaciones aplicadas) no están conectados a la tabla "BLs actuales". Por lo tanto, si se selecciona una única ubicación en la 1a pestaña, las segmentaciones de datos siguen mostrando todos los 100 "Sitios de negocio", "Grupos de personal" y "Zonas de servicio de negocio" para todas las ubicaciones en Inglaterra, en lugar de solo la ubicación 1 seleccionada. Por lo tanto, es imposible para el usuario tamizar a través de los años 100 de sitios para encontrar el sitio en la ubicación elegida que desea mirar.

Sólo quiero que las segmentaciones debancar con el puñado de sitios / grupos de personal / áreas de servicio en la ubicación elegida (o área, etc.), no para mostrar todos los sitios en Inglaterra.

No puedo crear una relación activa entre la tabla BLs actual y las 3 tablas de "lista maestra" para las segmentaciones de datos, ya que obtengo el "error de ambiguedad".

Intenté jugar con TREATAS, pero eso sólo trae de vuelta el código de la organización seleccionado en "BLs actuales". Entonces no puedo conseguir que haga nada a las opciones de segmentación.

Este es el código con el que experimenté para traer de vuelta el código Org:

FilterBLsSelected ? CALCULATE(SUMMARIZECOLUMNS('Business service area list'[org code], TREATAS ( VALUES ('Current BLs'[Org ID]), 'Business service area list'[org code]) ))

También he intentado fusionar las tablas para que los "Sitios de negocio", "Grupos de personal" y "áreas de servicio de negocio" se agregaran columnas en la tabla BLs actual (combinadas por código de organización), pero luego los datos no se podían desglosar correctamente en mis objetos visuales al nivel que quería, ya que no podía crear una relación entre cada una de las 3 columnas y cada tabla de personal.

¿Alguien tiene alguna idea de cómo conseguiré que las segmentaciones de datos muestren solo las opciones requeridas en función del filtro aplicado a "BLs actuales" en la primera pestaña. Siento que debería ser una solución tan simple, pero he buscado en Google durante siglos para encontrar una solución y nada ha aparecido todavía. gracias de antemano.

4 REPLIES 4
vivran22
Community Champion
Community Champion

Hola @ehew1991

¿También puede compartir datos de ejemplo/archivo pbix? Su problema es bastante descriptivo, sin embargo, ahorraría tiempo y esfuerzo con las tablas de ejemplo.

¡Salud!
Vivek

Blog: vivran.in/my-blog
Conectarse en LinkedIn
Seguir en Twitter

Relationships.PNG

Este es el panel de relaciones actual y su aspecto.

Mis tablas están configuradas de la siguiente manera:
BLS actual

Código OrgNombre de la ubicaciónDirección de ubicaciónAutoridad LocalEquipo DirectivoCódigo postal
123Azul(dirección del reino de la ciudad)LondresSureste(código postal de uk)
124Rojo YorkshireNorte

&así sucesivamente.....

Volumen de negocios / Enfermedad / Vacante todos se ven similares por lo que aquí hay un ejemplo de uno:
Facturación

Código de organizaciónSitioGrupo de personalZona de servicioNombre del equipoId. de mesEgresadosPlantilla
123AzuladoTrabajadores de oficinaDistibutionEquipo1Enero220
123BlueyFábricaDistribuciónEquipo2Enero125

& así en... toda la información para la ubicación "123", a continuación, "124" estará debajo, a continuación, la siguiente ubicación, etc.

Entonces tengo mis listas maestras que uso para segmentaciones para que pueda filtrar cada uno de Turnover/Sickness/Vacancy por "Sitio", "Grupo de personal" y "Área de servicio"
Por ejemplo, para mi tabla maestra de sitios, solo tengo una lista de todos los sitios y, a continuación, el código de organización.

Nombre del sitioCódigo Org
Azulado123
Bluey123
Redish124
Rojos124

La forma más fácil de hacerlo funcionar es crear una relación entre esas tablas de segmentación maestra y los BLs actuales, pero como los BLs actuales tienen una relación con cada una de las tablas (Turnover, Sickness, Vacancy), al igual que las listas maestras, no puedo crear una relación entre los BLs actuales y las tablas maestras (sitios, áreas de servicio, grupos de personal).

Sólo quiero que las segmentaciones muestren la información solo para la organización seleccionada en la portada. Por ejemplo, si el usuario seleccionó la ubicación RED en la portada, las segmentaciones de sitio solo deben mostrar "rojo" y "rojo". pero en la actualidad, si se selecciona rojo, muestra todas las opciones, incluyendo azulado y azulado.
Los datos en los objetos visuales son correctos debido a la relación entre ellos y los BLs actuales, y si hago tamizado a través de las opciones de segmentación de datos, aplica el filtro correcto. No quiero todas las opciones en las rebanadoras. parece un problema tan trivial, pero haría que el tablero sea mucho más fácil de usar.

Gracias por su ayuda 🙂

Hola @ehew1991 ,

Para la relación, se recomienda crear el esquema de estrella en lugar de un esquema de círculo, por lo que puede eliminar las relaciones secundarias entre estas tablas y cambiar la dirección del filtro cruzado de las relaciones entre las tablas anteriores de Single a Both , que tomará estas tablas tratadas como una sola tabla.

Star schema.png

En su escenario, puede eliminar una relación secundaria para crear una relación entre esas tablas de segmentación maestra y las BL actuales. A continuación, cuando realice algunos cambios o interactúe en una tabla, los demás objetos de tabla devolverán el resultado coincidente correspondiente. Ver más información:Crear y administrar relaciones en Power BI Desktop.

Saludos

Amy

Equipo de apoyo a la comunidad _ Amy

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola gracias por responder.

Cuando intento cambiar la dirección del filtro único a "ambos", obtengo el siguiente mensaje de error:

"La relación que está creando le permite filtrar La enfermedad por volumen, pero power bi solo permite una ruta de filtrado entre tablas en un modelo de datos. Desactive las relaciones existentes entre las tablas o cambie su dirección de filtro. Esta relación se puede agregar como filtrado unidireccional"

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.