Forum Discussion
Need help - PowerBi ( Measure base on Classification)
Good day Guys!
I have a problem here wherein im going to get this Output:
claim date - file date = SLA DAYS
If the AMOUNT and SLA Days meet the category then it will PASSED otherwise it will mark FAILED.
base on this category/ classification:
can someon help me how ? Thanks in Advance.
Hi RanHo ,
In your snapshot above, if the CLASS column is calculated based on the amount compare with Table 2, then the CLASS of FILES NO 800001 should be C, as its amout is above 150K, and its remarks should be failed.
Here's my solution.
Method1
REMARKS = SWITCH ( TRUE (), 'Table'[CLASS] = "A" && 'Table'[SLA DAYS] = 1, "PASSED", 'Table'[CLASS] = "B" && 'Table'[SLA DAYS] IN { 2.3 }, "PASSED", 'Table'[CLASS] = "C" && 'Table'[SLA DAYS] IN { 3, 4, 5 }, "PASSED", "FAILED" )Method2
REMARKS2 = SWITCH ( TRUE (), MAX ( 'Table'[AMOUNT] ) < 50000 && 'Table'[SLA DAYS] = 1, "PASSED", MAX ( 'Table'[AMOUNT] ) >= 50000 && MAX ( 'Table'[AMOUNT] ) <= 150000 && 'Table'[SLA DAYS] IN { 2.3 }, "PASSED", MAX ( 'Table'[AMOUNT] ) > 150000 && 'Table'[SLA DAYS] IN { 3, 4, 5 }, "PASSED", "FAILED" )I attached my sample bellow to help you understand.
Best Regards,
Community Support Team _ kalyjIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
8 Replies
- v-yanjiang-msft
Community Support
Hi RanHo ,
In your snapshot above, if the CLASS column is calculated based on the amount compare with Table 2, then the CLASS of FILES NO 800001 should be C, as its amout is above 150K, and its remarks should be failed.
Here's my solution.
Method1
REMARKS = SWITCH ( TRUE (), 'Table'[CLASS] = "A" && 'Table'[SLA DAYS] = 1, "PASSED", 'Table'[CLASS] = "B" && 'Table'[SLA DAYS] IN { 2.3 }, "PASSED", 'Table'[CLASS] = "C" && 'Table'[SLA DAYS] IN { 3, 4, 5 }, "PASSED", "FAILED" )Method2
REMARKS2 = SWITCH ( TRUE (), MAX ( 'Table'[AMOUNT] ) < 50000 && 'Table'[SLA DAYS] = 1, "PASSED", MAX ( 'Table'[AMOUNT] ) >= 50000 && MAX ( 'Table'[AMOUNT] ) <= 150000 && 'Table'[SLA DAYS] IN { 2.3 }, "PASSED", MAX ( 'Table'[AMOUNT] ) > 150000 && 'Table'[SLA DAYS] IN { 3, 4, 5 }, "PASSED", "FAILED" )I attached my sample bellow to help you understand.
Best Regards,
Community Support Team _ kalyjIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- RanHo
Helper V
Nice, your solution works, thanks to you thats a big help!
And sorry 'bout my error on my example.
Many thanks to you! - Syndicate_Admin
Administrator
Thanks a lot! Really appreciate it.
- amitchandak
Super User
RanHo , You can create a new measure
Swirch( True(),
[SLA] =1 && [Amount] < 50000, "A",
[SLA] =1 && [Amount] < 150000, "B",
[SLA] =1 && [Amount] >= 150000, "C",
// Add other conditions
)
You may also need to check binning
Dynamic Segmentation Bucketing Binning
https://community.powerbi.com/t5/Quick-Measures-Gallery/Dynamic-Segmentation-Bucketing-Binning/m-p/1387187#M626
Dynamic Segmentation, Bucketing or Binning: https://youtu.be/CuczXPj0N-k - RanHo
Helper V
- RanHo
Helper V
Is it possible to do it on Dax
IF(ESTIMATE RANGE = A AND SLA DAYS =0 and < 1), "PASSED"
ELSE
(ESTIMATE RANGE = B AND SLA DAYS >2 and <3), "PASSED"ELSE "FAILED"
suggestions and advice might help, thanks!