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.
Tengo 3 mesas
CaseID | iniciar el caso | caso final | iniciar el prod | prod final |
1 | 1-1-2020 | 31-7-2020 | 1-1-2020 | 31-5-2020 |
2 | 1-2-2020 | 30-6-2020 | 1-3-2020 | 30-4-2020 |
Id. de actividad | CaseID | Fecha |
1 | 1 | 7-1-2020 |
2 | 1 | 3-2-2020 |
3 | 1 | 4-4-2020 |
4 | 1 | 5-5-2020 |
5 | 1 | 6-6-2020 |
6 | 2 | 2-3-2020 |
Fecha | AAAA-MM |
1-1-2020 | 2020-1 |
2-1-2020 | 2020-1 |
3-1-2020 | 2020-1 |
etcetera. |
Lo que quiero saber es en qué meses no hubo actividad mientras el mes es válido. Esto significa que está entre el inicio en el final del caso y entre el inicio en el extremo de un producto.
En este ejemplo quiero que el endresult sea:
Identificación del caso | AAAA-MM |
1 | 2020-3 |
2 | 2020-4 |
También es posible seleccionar un filtro en YYYY-MM y que solo los caseID aparecerán cuando no haya actividad en un período válido. ¿Alguien tiene una idea?
Solved! Go to Solution.
NoActivity =
VAR CaseTable = VALUES('Cases'[CaseID])
VAR MonthTable = VALUES('Datum'[YYYYMM])
VAR CJTable = CROSSJOIN(CaseTable,MonthTable)
VAR ActivityTable = ADDCOLUMNS(VALUES('Activities'),"YYYYMM",LOOKUPVALUE('Datum'[YYYYMM],'Datum'[Date],[ Date]))
VAR FindActivities =
ADDCOLUMNS(
CJTable,
"Activity",
VAR CID = [CaseID]
VAR YYMM = [YYYYMM]
VAR FT = FILTER(ActivityTable,[ CaseID]=CID && [YYYYMM]=YYMM)
RETURN
CONCATENATEX(FT,[Activity Id])
)
VAR ValidityCheckTable =
ADDCOLUMNS(
FindActivities,
"ValidityCheck",
VAR YM = [YYYYMM]
VAR SDOM = MINX(FILTER('Datum','Datum'[YYYYMM]=YM),'Datum'[Date])
VAR LDOM = MAXX(FILTER('Datum','Datum'[YYYYMM]=YM),'Datum'[Date])
VAR CSD = LOOKUPVALUE('Cases'[ start case],'Cases'[CaseID],[CaseID])
VAR CED = LOOKUPVALUE('Cases'[ end case],'Cases'[CaseID],[CaseID])
VAR PSD = LOOKUPVALUE('Cases'[ start prod],'Cases'[CaseID],[CaseID])
VAR PED = LOOKUPVALUE('Cases'[ end prod],'Cases'[CaseID],[CaseID])
VAR CheckResult =
IF(
CSD<=SDOM && CED>=LDOM && PSD<=SDOM && PED>=LDOM,"Valid","Invalid")
RETURN CheckResult
)
VAR Result = FILTER(ValidityCheckTable,[ValidityCheck]="Valid" && [Activity]="")
RETURN
Result
Nota: He creado una tabla calculada que da el resultado mostrado anteriormente. Si desea usar esto para algún cálculo en otras medidas, podría usar el mismo código para crear tablas temporales dentro de medidas.
Cambie los nombres de tabla y los nombres de campo en consecuencia. Esto se basa en los datos de ejemplo.
NoActivity =
VAR CaseTable = VALUES('Cases'[CaseID])
VAR MonthTable = VALUES('Datum'[YYYYMM])
VAR CJTable = CROSSJOIN(CaseTable,MonthTable)
VAR ActivityTable = ADDCOLUMNS(VALUES('Activities'),"YYYYMM",LOOKUPVALUE('Datum'[YYYYMM],'Datum'[Date],[ Date]))
VAR FindActivities =
ADDCOLUMNS(
CJTable,
"Activity",
VAR CID = [CaseID]
VAR YYMM = [YYYYMM]
VAR FT = FILTER(ActivityTable,[ CaseID]=CID && [YYYYMM]=YYMM)
RETURN
CONCATENATEX(FT,[Activity Id])
)
VAR ValidityCheckTable =
ADDCOLUMNS(
FindActivities,
"ValidityCheck",
VAR YM = [YYYYMM]
VAR SDOM = MINX(FILTER('Datum','Datum'[YYYYMM]=YM),'Datum'[Date])
VAR LDOM = MAXX(FILTER('Datum','Datum'[YYYYMM]=YM),'Datum'[Date])
VAR CSD = LOOKUPVALUE('Cases'[ start case],'Cases'[CaseID],[CaseID])
VAR CED = LOOKUPVALUE('Cases'[ end case],'Cases'[CaseID],[CaseID])
VAR PSD = LOOKUPVALUE('Cases'[ start prod],'Cases'[CaseID],[CaseID])
VAR PED = LOOKUPVALUE('Cases'[ end prod],'Cases'[CaseID],[CaseID])
VAR CheckResult =
IF(
CSD<=SDOM && CED>=LDOM && PSD<=SDOM && PED>=LDOM,"Valid","Invalid")
RETURN CheckResult
)
VAR Result = FILTER(ValidityCheckTable,[ValidityCheck]="Valid" && [Activity]="")
RETURN
Result
Nota: He creado una tabla calculada que da el resultado mostrado anteriormente. Si desea usar esto para algún cálculo en otras medidas, podría usar el mismo código para crear tablas temporales dentro de medidas.
Cambie los nombres de tabla y los nombres de campo en consecuencia. Esto se basa en los datos de ejemplo.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |