Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Hi Everyone,
I am trying to solve a measure which has to dynamically caluclate the multiple bin rating based on the switch statement. In the below given file , I have created multiple parameters based on each product and with their product specific dynamic rates. Now, I have created a measure that has those multiple parameters ingested, however, the output is being static was wondering if i anybody can assist me with resolving this issue.
Link Pbix file:
Thanks
Kxj
Solved! Go to Solution.
Hi @kxj54590
All the Tier Range values are less than 0 but all your Rate values are at least 45.
So your SWITCH will only ever return 5
Multiple_Bin_measure_rate = SWITCH (
TRUE,
BBC_Rate[BBC_Rate Value] = 0, 0,
BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[2 Tier Range]) , 1,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[2 Tier Range]) && BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[3 Tier Range]), 2,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[3 Tier Range]) && BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[4 Tier Range]), 3,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[4 Tier Range]) && BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[5 Tier Range]), 4,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
CDE_Rate[CDE_Rate Value] = 0, 0,
CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[2 Tier Range]) , 1,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[2 Tier Range]) && CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[3 Tier Range]), 2,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[3 Tier Range]) && CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[4 Tier Range]), 3,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[4 Tier Range]) && CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[5 Tier Range]), 4,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
Ram_Rate[Ram_Rate Value] = 0, 0,
Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[2 Tier Range]) , 1,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[2 Tier Range]) && Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[3 Tier Range]), 2,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[3 Tier Range]) && Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[4 Tier Range]), 3,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[4 Tier Range]) && Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[5 Tier Range]), 4,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
0
)
because the only condition that is True is that the rates are greater than the value in 5 Tier Range
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
Also, with SWITCH, it stops evaluating after it reaches the first True condition. So as things are with BBC_Rate at 45 minimum, none of the lines after this
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
will ever get tested. You need to redesign your SWITCH or rethink the approach to what you are trying to do.
Regards
Phil
Proud to be a Super User!
Hi @kxj54590
All the Tier Range values are less than 0 but all your Rate values are at least 45.
So your SWITCH will only ever return 5
Multiple_Bin_measure_rate = SWITCH (
TRUE,
BBC_Rate[BBC_Rate Value] = 0, 0,
BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[2 Tier Range]) , 1,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[2 Tier Range]) && BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[3 Tier Range]), 2,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[3 Tier Range]) && BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[4 Tier Range]), 3,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[4 Tier Range]) && BBC_Rate[BBC_Rate Value] <= SELECTEDVALUE(Input[5 Tier Range]), 4,
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
CDE_Rate[CDE_Rate Value] = 0, 0,
CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[2 Tier Range]) , 1,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[2 Tier Range]) && CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[3 Tier Range]), 2,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[3 Tier Range]) && CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[4 Tier Range]), 3,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[4 Tier Range]) && CDE_Rate[CDE_Rate Value] <= SELECTEDVALUE(Input[5 Tier Range]), 4,
CDE_Rate[CDE_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
Ram_Rate[Ram_Rate Value] = 0, 0,
Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[2 Tier Range]) , 1,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[2 Tier Range]) && Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[3 Tier Range]), 2,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[3 Tier Range]) && Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[4 Tier Range]), 3,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[4 Tier Range]) && Ram_Rate[Ram_Rate Value] <= SELECTEDVALUE(Input[5 Tier Range]), 4,
Ram_Rate[Ram_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
0
)
because the only condition that is True is that the rates are greater than the value in 5 Tier Range
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
Also, with SWITCH, it stops evaluating after it reaches the first True condition. So as things are with BBC_Rate at 45 minimum, none of the lines after this
BBC_Rate[BBC_Rate Value] > SELECTEDVALUE(Input[5 Tier Range]), 5,
will ever get tested. You need to redesign your SWITCH or rethink the approach to what you are trying to do.
Regards
Phil
Proud to be a Super User!
Hi @PhilipTreacy Firstly, thanks for taking time in elobarating in detail with the issue that i encountered. Second, is there any other work around to this type of complex scenario modeling ?
Basically, I am trying to caluclate dynamically multiple bin measure rate (measure column) based on the tier ranges. I have created multiple parameters, for each product name which has different rates or to be more (i can say product specific rates). However, when i ingested those multiple parameters into my measure (multiple bin measure rate), not able to get the desired output. So, is there any other alternate approach to this kinda advance scenario modeling ? Is it possible to acheive it in power bi because i have never came across such kinda scenario modeling specific to each product name.
Please let me know your thoughts.
Thanks
Kxj
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.
User | Count |
---|---|
84 | |
70 | |
66 | |
50 | |
31 |
User | Count |
---|---|
116 | |
99 | |
75 | |
65 | |
40 |