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

Be 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

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo resumir tres tablas en una nueva tabla?

Tengo tres tablas que rastrean cómo nuestro personal de TI pasa su tiempo durante la semana trabajando en nuevos proyectos, mantenimiento de sistemas existentes o PTO. Cada registro es para un empleado en una semana determinada. Dado que la tabla base del parte de horas tiene múltiples registros para cada persona por semana, por actividad, utilicé RESUMIR para dividirla en tres tablas para separar las columnas de horas de actividad. Necesito combinar las tres tablas en una tabla donde cada empleado tenga solo un registro por semana. Una UNIÓN de las tres tablas produce una tabla con tres filas y no es útil.

Estos son los diseños de tabla con algunos datos de ejemplo:

TABLE 1: IT Utilization Projects
[Resource Name]		[Week Ending Date]	[Projects Hours]
---------------		------------------	----------------
Serena Williams		20-MAR-2022			30.0
Rafael Nadal		20-MAR-2022			24.0
Novak Djokovic		20-MAR-2022			32.0
Serena Williams		27-MAR-2022			28.0
Rafael Nadal		27-MAR-2022			28.5
Novak Djokovic		27-MAR-2022			25.5


TABLE 2: IT Utilization Maintenance
[Resource Name]		[Week Ending Date]	[Maintenance Hours]
---------------		------------------	-------------------
Serena Williams		20-MAR-2022			10.0
Rafael Nadal		20-MAR-2022			8.0
Novak Djokovic		20-MAR-2022			4.0
Serena Williams		27-MAR-2022			9.5
Rafael Nadal		27-MAR-2022			6.5
Novak Djokovic		27-MAR-2022			12.0


TABLE 3: IT Utilization PTO
[Resource Name]		[Week Ending Date]	[PTO Hours]
---------------		------------------	-----------
Rafael Nadal		20-MAR-2022			8.0
Novak Djokovic		20-MAR-2022			4.0
Serena Williams		27-MAR-2022			2.5
Novak Djokovic		27-MAR-2022			2.5
*note there is no record for one person each week (Serena and Rafael)

He probado las soluciones dadas aquí en la comunidad y otros foros, pero no he podido hacer que funcione porque las tablas están relacionadas por el nombre del recurso y la fecha de finalización de la semana combinados, no por un identificador único. Podría tener esto funcionando en menos de 30 minutos en SQL, pero he estado trabajando en esto con las limitaciones de Power BI durante un par de días.

¿Cómo puedo combinar las tres tablas en una que se vea así?

DESIRED RESULTING TABLE:
[Resource Name]		[Week Ending Date]	[Projects Hours]	[Maintenance Hours]	[PTO Hours]	[Total]
---------------		------------------	----------------	-------------------	-----------	-------
Serena Williams		20-MAR-2022			30.0				10.0				null		40.0
Rafael Nadal		20-MAR-2022			24.0				8.0					8.0			40.0
Novak Djokovic		20-MAR-2022			32.0				4.0					4.0			40.0
Serena Williams		27-MAR-2022			28.0				9.5					2.5			40.0
Rafael Nadal		27-MAR-2022			28.5				6.5					null		40.0
Novak Djokovic		27-MAR-2022			25.5				12.0				2.5			40.0

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @MattRasmussen ,

Pruebe la siguiente fórmula:

Table = 
VAR UnionTab =
    UNION (
        'IT Utilization Maintenance',
        'IT Utilization PTO',
        'IT Utilization Projects'
    )
VAR Name_Date =
    DISTINCT (
        SELECTCOLUMNS (
            UnionTab,
            "Resource Name", [Resource Name],
            "Week Ending Date", [Week Ending Date]
        )
    )
VAR Tab =
    ADDCOLUMNS (
        Name_Date,
        "Projects Hours",
            CALCULATE (
                SUM ( 'IT Utilization Projects'[Projects Hours] ),
                KEEPFILTERS (
                    'IT Utilization Projects'[Resource Name] = EARLIER ( [Resource Name] )
                ),
                KEEPFILTERS (
                    'IT Utilization Projects'[Week Ending Date] = EARLIER ( [Week Ending Date] )
                )
            ),
        "Maintenance Hours",
            CALCULATE (
                SUM ( 'IT Utilization Maintenance'[Maintenance Hours] ),
                KEEPFILTERS (
                    'IT Utilization Maintenance'[Resource Name] = EARLIER ( [Resource Name] )
                ),
                KEEPFILTERS (
                    'IT Utilization Maintenance'[Week Ending Date] = EARLIER ( [Week Ending Date] )
                )
            ),
        "PTO Hours",
            CALCULATE (
                SUM ( 'IT Utilization PTO'[PTO Hours] ),
                KEEPFILTERS (
                    'IT Utilization PTO'[Resource Name] = EARLIER ( [Resource Name] )
                ),
                KEEPFILTERS (
                    'IT Utilization PTO'[Week Ending Date] = EARLIER ( [Week Ending Date] )
                )
            )
    )
RETURN
    ADDCOLUMNS (
        Tab,
        "Total",
            [Projects Hours] + [Maintenance Hours] + [PTO Hours]
    )

vkkfmsft_0-1648781181598.png

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hay @MattRasmussen ,

Pruebe la siguiente fórmula:

Table = 
VAR UnionTab =
    UNION (
        'IT Utilization Maintenance',
        'IT Utilization PTO',
        'IT Utilization Projects'
    )
VAR Name_Date =
    DISTINCT (
        SELECTCOLUMNS (
            UnionTab,
            "Resource Name", [Resource Name],
            "Week Ending Date", [Week Ending Date]
        )
    )
VAR Tab =
    ADDCOLUMNS (
        Name_Date,
        "Projects Hours",
            CALCULATE (
                SUM ( 'IT Utilization Projects'[Projects Hours] ),
                KEEPFILTERS (
                    'IT Utilization Projects'[Resource Name] = EARLIER ( [Resource Name] )
                ),
                KEEPFILTERS (
                    'IT Utilization Projects'[Week Ending Date] = EARLIER ( [Week Ending Date] )
                )
            ),
        "Maintenance Hours",
            CALCULATE (
                SUM ( 'IT Utilization Maintenance'[Maintenance Hours] ),
                KEEPFILTERS (
                    'IT Utilization Maintenance'[Resource Name] = EARLIER ( [Resource Name] )
                ),
                KEEPFILTERS (
                    'IT Utilization Maintenance'[Week Ending Date] = EARLIER ( [Week Ending Date] )
                )
            ),
        "PTO Hours",
            CALCULATE (
                SUM ( 'IT Utilization PTO'[PTO Hours] ),
                KEEPFILTERS (
                    'IT Utilization PTO'[Resource Name] = EARLIER ( [Resource Name] )
                ),
                KEEPFILTERS (
                    'IT Utilization PTO'[Week Ending Date] = EARLIER ( [Week Ending Date] )
                )
            )
    )
RETURN
    ADDCOLUMNS (
        Tab,
        "Total",
            [Projects Hours] + [Maintenance Hours] + [PTO Hours]
    )

vkkfmsft_0-1648781181598.png

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Gracias, eso funcionó exactamente como quería sin ningún cambio en su código. ¡Debería agregar esto a la documentación en algún lugar porque es muy útil!

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors