Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Necesita poder vincular dos conjuntos de datos diferentes, pero no está seguro de cómo

Tengo los dos conjuntos de datos adjuntos para el mes de abril. Tienen campos comunes en la tarea de servicio y las órdenes de trabajo, pero estos van a tener duplicados en ambas tablas, y ese es el problema que tengo. En última instancia, quiero poder agregar un segmentador/filtro en mi panel de control para poder mostrar la cantidad de trabajo que realiza la tarea de servicio para el campo "Motivo de la reparación". ¿Alguna idea?

https://drive.google.com/file/d/1yAdyhhglkfUPXtYypQctelhC7xtEfkow/view?usp=drive_link

https://drive.google.com/file/d/1rBjuKsqeHL_eg7uI7mnakEJiqGzEwnqb/view?usp=drive_link

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola @ChrisAZ ,

Gracias por la información detallada y la captura de pantalla, realmente ayuda a aclarar el problema. Para abordar completamente las entradas duplicadas en los datos de "Tarea de servicio" y "Órdenes de trabajo" y habilitar una segmentación confiable para "Motivo de reparación", recomiendo crear una tabla de dimensiones en Power Query. Cargue ambas tablas de origen, seleccione los campos relevantes ("Tarea de servicio" y "Motivo de la reparación"), elimine los duplicados, añada los resultados y vuelva a eliminar los duplicados para asegurarse de que tiene una lista única de combinaciones. Asigne a esta tabla el nombre DimServiceTask. En la vista de modelo, cree relaciones unidireccionales desde DimServiceTask[Service Task] hasta el campo "Service Task" correspondiente en cada tabla de hechos (por ejemplo, las tablas de mano de obra del taller). Esto evita problemas de filtrado bidireccional. A continuación, defina una medida DAX como:

Trabajo total por tarea de servicio =
CALCULAR(
SUMX(
VALUES(DimServiceTask[Tarea de servicio]),
CALCULAR(SUMA('Mano de obra de taller - Plásticos' [Costo de mano de obra]) + SUM('Mano de obra - Contabilidad'[Costo de mano de obra]))
),
CROSSFILTER('Mano de obra de taller - Plásticos'[Tarea de servicio], DimServiceTask[Tarea de servicio], AMBOS),
CROSSFILTER('Mano de obra de taller - Contabilidad'[Tarea de servicio], DimServiceTask[Tarea de servicio], AMBOS)
)
Esto garantiza que está agregando el trabajo en todas las tablas sin doble recuento. Use DimServiceTask[Reason for Repair] en la segmentación de datos y coloque DimServiceTask[Service Task] con la nueva medida en el objeto visual. Esto le permitirá filtrar el tablero con precisión por motivo de reparación y mostrar los valores de mano de obra correctos por tarea de servicio. Por último, verifique los resultados con los datos de origen originales mediante un objeto visual de tabla para validar la precisión. Hágame saber cómo va o si desea ayuda para adaptar la solución a su modelo.

Si mi respuesta resuelve su consulta, considere aceptarla como solución.

Saludos
Pallavi.

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola @ChrisAZ ,

Gracias por la información detallada y la captura de pantalla, realmente ayuda a aclarar el problema. Para abordar completamente las entradas duplicadas en los datos de "Tarea de servicio" y "Órdenes de trabajo" y habilitar una segmentación confiable para "Motivo de reparación", recomiendo crear una tabla de dimensiones en Power Query. Cargue ambas tablas de origen, seleccione los campos relevantes ("Tarea de servicio" y "Motivo de la reparación"), elimine los duplicados, añada los resultados y vuelva a eliminar los duplicados para asegurarse de que tiene una lista única de combinaciones. Asigne a esta tabla el nombre DimServiceTask. En la vista de modelo, cree relaciones unidireccionales desde DimServiceTask[Service Task] hasta el campo "Service Task" correspondiente en cada tabla de hechos (por ejemplo, las tablas de mano de obra del taller). Esto evita problemas de filtrado bidireccional. A continuación, defina una medida DAX como:

Trabajo total por tarea de servicio =
CALCULAR(
SUMX(
VALUES(DimServiceTask[Tarea de servicio]),
CALCULAR(SUMA('Mano de obra de taller - Plásticos' [Costo de mano de obra]) + SUM('Mano de obra - Contabilidad'[Costo de mano de obra]))
),
CROSSFILTER('Mano de obra de taller - Plásticos'[Tarea de servicio], DimServiceTask[Tarea de servicio], AMBOS),
CROSSFILTER('Mano de obra de taller - Contabilidad'[Tarea de servicio], DimServiceTask[Tarea de servicio], AMBOS)
)
Esto garantiza que está agregando el trabajo en todas las tablas sin doble recuento. Use DimServiceTask[Reason for Repair] en la segmentación de datos y coloque DimServiceTask[Service Task] con la nueva medida en el objeto visual. Esto le permitirá filtrar el tablero con precisión por motivo de reparación y mostrar los valores de mano de obra correctos por tarea de servicio. Por último, verifique los resultados con los datos de origen originales mediante un objeto visual de tabla para validar la precisión. Hágame saber cómo va o si desea ayuda para adaptar la solución a su modelo.

Si mi respuesta resuelve su consulta, considere aceptarla como solución.

Saludos
Pallavi.

Syndicate_Admin
Administrator
Administrator

https://drive.google.com/file/d/1IH5dXc52ndj-7Gs4BH_tkZ4EoOb6Q1AZ/view?usp=drive_link

Así que he añadido esta lógica al modelo, pero los números no cuadran y algo sigue sin estar alineado correctamente. Puedo decir esto cuando miro los totales, así como cuando selecciono una categoría individual y luego la comparo con lo que está en la fuente de datos. Aquí está ese enlace nuevamente como referencia para la comparación.

https://drive.google.com/file/d/1yAdyhhglkfUPXtYypQctelhC7xtEfkow/view?usp=drive_link

Syndicate_Admin
Administrator
Administrator

¿De alguna manera puedas explicarlo?

Así

lbendlin_0-1746483271050.png

adjunto el archivo, pero deberá modificar la ruta del archivo.

He añadido mi PBIX. Creé la tabla WorkOrder y creo que tengo mis relaciones configuradas como usted indicó. Cuando intento usar la segmentación para el motivo de la reparación, todavía no muestra los datos.

https://drive.google.com/file/d/1IH5dXc52ndj-7Gs4BH_tkZ4EoOb6Q1AZ/view?usp=drive_link

ChrisAZ_0-1746545034156.png

ChrisAZ_1-1746545159542.png

Así que veo el modelo, pero ¿cuál sería el proceso para crear la tabla WO separada?

Syndicate_Admin
Administrator
Administrator

Más información sobre la normalización. Busque los atributos de filtro comunes y normalícelos en tablas de dimensiones sin duplicados. A continuación, cree un modelo de datos en el que controle las dos tablas originales de las mismas tablas de dimensiones.

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.