Forum Discussion
DAX measure correction
- 2 years ago
Hi prajwal1 ,
Based on your additional instructions, please try the following steps:
My Sample:
PIs info:Tempo data:
1.You can create a calculated table.
Table 2 = DATATABLE ( "PI", STRING, "Order", INTEGER, { { "PI 23-Q3", 1 }, { "PI 23-Q4", 2 }, { "PI 24-Q1", 3 }, { "PI 24-Q2", 4 } } )2. Use the following code to create a measure.
Worked hrs for selected PI = VAR Selected_PI = SELECTEDVALUE('PIs info'[PI]) VAR PI_Order = MAXX(FILTER('Table 2','Table 2'[PI] = Selected_PI),'Table 2'[Order]) VAR Valid_PIs = CALCULATETABLE( VALUES('Table 2'[PI]), 'Table 2'[Order] <= PI_Order ) VAR Result = CALCULATE( SUM('Tempo data'[Time worked hrs]), FILTER( 'Tempo data', 'Tempo data'[PI timing tag] = Selected_PI && 'Tempo data'[PI code] IN Valid_PIs ) ) RETURN IF(ISBLANK(Result), 0, Result)When you select "PI 24-Q2" in the slicer, Result is as below.
Best Regards,
Yulia Yan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi prajwal1
According to measure definition, part 'Tempo data'[pi_code] is related to IN for two different columns, which is not possible.
Rework your measure
Worked hrs for selected PI =
VAR Selected_PI = SELECTEDVALUE('PIs info'[PI])
VAR Previous_PI = SELECTEDVALUE('PIs info'[Previous PI code])
RETURN
CALCULATE (
SUM ( 'Tempo data'[timeworked] ),
'Tempo data'[PI timing tag] = Selected_PI,
'Tempo data'[pi_code] IN {Selected_PI, Previous_PI},
'Tempo data'[weekstartdate] <= MAX('Tempo last updated date'[Logged till date])
)