March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe 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
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 contrato | ID de cliente | Fecha de inicio | Fecha final | Total de horas |
CU-0001 | Abecedario | 01.01.2022 | 01.01.2023 | 200 |
CU-0002 | GHJ | 01.05.2022 | 01.05.2026 | 300 |
CU-0003 | ZXY | 01.12.2020 | 01.12.2028 | 450 |
CU-0004 | Abecedario | 02.01.2023 | 01.01.2024 | 800 |
Registros de trabajo | |||||
WK ID | Identificación del caso | Fecha de inicio | ID de cliente | Tipo | Horas |
WK-0001 | CA-1234 | 11.08.2022 | Abecedario | A | 4 |
WK-0002 | CA-1234 | 12.08.2022 | Abecedario | A | 5 |
WK-0003 | CA-1234 | 13.08.2022 | Abecedario | B | 6 |
WK-0004 | CA-1234 | 14.08.2022 | Abecedario | B | 7 |
WK-0005 | CA-1234 | 15.08.2022 | Abecedario | B | 2 |
WK-0006 | CA-1234 | 16.08.2022 | Abecedario | B | 3 |
WK-0007 | CA-5869 | 01.01.2021 | Abecedario | A | 1 |
WK-0008 | CA-5869 | 01.02.2021 | Abecedario | A | 3 |
WK-0009 | CA-5869 | 02.02.2021 | Abecedario | B | 2 |
WK-0010 | CA-5869 | 03.02.2021 | Abecedario | B | 4 |
WK-0011 | CA-4587 | 01.06.2022 | GHJ | A | 4 |
WK-0012 | CA-4587 | 03.02.2021 | GHJ | A | 5 |
WK-0013 | CA-3214 | 01.06.2022 | GHJ | B | 6 |
WK-0014 | CA-3698 | 03.02.2019 | GHJ | A | 7 |
WK-0015 | CA-8888 | 01.06.2018 | ZXY | B | 8 |
WK-0016 | CA-8888 | 03.02.2021 | ZXY | A | 1 |
WK-0017 | CA-8800 | 01.06.2022 | ZXY | B | 2 |
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 contrato | ID de cliente | Fecha de inicio | Fecha final | Total de trabajo por período con tipo A | Total de trabajo por período con tipo B |
CU-0001 | Abecedario | 01.01.2022 | 01.01.2023 | 9 | 18 |
CU-0002 | GHJ | 01.05.2022 | 01.05.2026 | 4 | 6 |
CU-0003 | ZXY | 01.12.2020 | 01.12.2028 | 1 | 2 |
Aquí está la imagen de los registros de color que deben coincidir.
Por favor, hágamelo saber si tiene alguna sugerencia sobre cómo resolver esto.
Muchas gracias. Funcionó a las mil maravillas.
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:
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:
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.