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

Obtener la suma de datos en una tabla diferente en función de los criterios específicos de otra tabla

Hola a todos

Tengo dos tablas con datos sobre contratos para Cuentas y otra tabla con horas trabajadas para casos de Cuentas. Me gustaría SUMAR las horas de cada Cuenta para sus períodos de Contrato.

Estos son ejemplos de las tablas:

Contratos
ID de contratoID de clienteFecha de inicioFecha finalTotal de horas
CU-0001Abecedario01.01.202201.01.2023200
CU-0002GHJ01.05.202201.05.2026300
CU-0003ZXY01.12.202001.12.2028450
CU-0004Abecedario02.01.202301.01.2024800

Registros de trabajo
WK IDIdentificación del casoFecha de inicioID de clienteTipoHoras
WK-0001CA-123411.08.2022AbecedarioA4
WK-0002CA-123412.08.2022AbecedarioA5
WK-0003CA-123413.08.2022AbecedarioB6
WK-0004CA-123414.08.2022AbecedarioB7
WK-0005CA-123415.08.2022AbecedarioB2
WK-0006CA-123416.08.2022AbecedarioB3
WK-0007CA-586901.01.2021AbecedarioA1
WK-0008CA-586901.02.2021AbecedarioA3
WK-0009CA-586902.02.2021AbecedarioB2
WK-0010CA-586903.02.2021AbecedarioB4
WK-0011CA-458701.06.2022GHJA4
WK-0012CA-458703.02.2021GHJA5
WK-0013CA-321401.06.2022GHJB6
WK-0014CA-369803.02.2019GHJA7
WK-0015CA-888801.06.2018ZXYB8
WK-0016CA-888803.02.2021ZXYA1
WK-0017CA-880001.06.2022ZXYB2

Puedo establecer muchas o muchas relaciones entre estas dos tablas en función del ID de cliente. El resultado que estoy tratando de obtener es:

El problema al que me enfrento es cómo seleccionar solo WorkLogs que están dentro de la validez del contrato para cuentas relacionadas, porque las cuentas pueden tener muchos contratos en el futuro (sin superposición).

Esperado:
ID de contratoID de clienteFecha de inicioFecha finalTotal de trabajo por período con tipo ATotal de trabajo por período con tipo B
CU-0001Abecedario01.01.202201.01.2023918
CU-0002GHJ01.05.202201.05.202646
CU-0003ZXY01.12.202001.12.202812

Aquí está la imagen de los registros de color que deben coincidir.

MartyS_0-1660226382453.png

Por favor, hágamelo saber si tiene alguna sugerencia sobre cómo resolver esto.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Muchas gracias. Funcionó a las mil maravillas.

Syndicate_Admin
Administrator
Administrator

@MartyS,

Pruebe esta solución.

1. Cree una tabla calculada para los clientes si aún no tiene dicha tabla:

Customers = DISTINCT ( Contracts[Customer ID] )

2. Crea relaciones:

DataInsights_0-1660316020245.png

3. Crear medidas. La segunda medida es necesaria para calcular correctamente los totales:

Total of Work Calc = 
VAR vStartDate =
    MAX ( Contracts[Start Date] )
VAR vEndDate =
    MAX ( Contracts[End Date] )
VAR vTable =
    CALCULATETABLE (
        'Work Logs',
        'Work Logs'[Start Date] >= vStartDate,
        'Work Logs'[Start Date] <= vEndDate
    )
VAR vResult =
    SUMX ( vTable, 'Work Logs'[Hours] )
RETURN
    vResult
Total of Work = 
SUMX (
    SUMMARIZE ( Contracts, Contracts[Contract ID], Customers[Customer ID] ),
    [Total of Work Calc]
)

4. Agregue la medida Total de trabajo y otros campos a una matriz:

DataInsights_1-1660316286438.png

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!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

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