Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi, I have managed to create a calculated ABC Ranking based off of sliders.. Now I need to get a count of the A's, B's, etc in another table. Is there a way to reference the TestRANK measure in my other table?
In Qlik Sense you should use create your measure as a master measure, which then allows re-use across multiple objects. Depending on the calculation, the master measure version might need slight modification as a measure created in a table might not transfer into another table one-for-one.
Thank you for the quick reply. My measure will not work as a master measure because it is using the “above” feature in my straight table. Perhaps there is a better way to calculate my measure. I am having to teach myself so am always open to new ways to do things.
What I’m trying to calculate: Based on sliders (percentage) selection the RANK column should display A, B, C, D.
Here is my formula:
=IF(Rangesum(Above(TOTAL Sum(IV_TaskCnt),0,rowno(TOTAL))) <= sum(Total IV_TaskCnt) * (($(A-Movers))/100), 'A',
IF( Rangesum(Above(TOTAL Sum(IV_TaskCnt),0,rowno(TOTAL))) > sum(Total IV_TaskCnt) * (($(B-Movers))/100)
and Rangesum(Above(TOTAL Sum(IV_TaskCnt),0,rowno(TOTAL))) <= (floor(sum(Total IV_TaskCnt) * $(A-Movers)/100) + floor(sum(Total IV_TaskCnt) * ($(B-Movers)/100))), 'B',
IF( Rangesum(Above(TOTAL Sum(IV_TaskCnt),0,rowno(TOTAL))) > (floor(sum(Total IV_TaskCnt) * $(A-Movers)/100) + floor(sum(Total IV_TaskCnt) * ($(B-Movers)/100)))
and Rangesum(Above(TOTAL Sum(IV_TaskCnt),0,rowno(TOTAL))) <= (floor(sum(Total IV_TaskCnt) * $(A-Movers)/100) + floor(sum(Total IV_TaskCnt) * ($(B-Movers)/100)) + floor(sum(Total IV_TaskCnt) * ($(C-Movers)/100))), 'C',
IF( Rangesum(Above(TOTAL Sum(IV_TaskCnt),0,rowno(TOTAL))) > (floor(sum(Total IV_TaskCnt) * $(A-Movers)/100) + floor(sum(Total IV_TaskCnt) * ($(B-Movers)/100)) + floor(sum(Total IV_TaskCnt) * ($(C-Movers)/100)))
and Rangesum(Above(TOTAL Sum(IV_TaskCnt),0,rowno(TOTAL))) <= (floor(sum(Total IV_TaskCnt) * $(A-Movers)/100) + floor(sum(Total IV_TaskCnt) * ($(B-Movers)/100)) + floor(sum(Total IV_TaskCnt) * ($(C-Movers)/100)) + floor(sum(Total IV_TaskCnt) * ($(D-Movers)/100))),'D'))))
Where Variables are tied to sliders except D-Movers which is this calculation: 100 - (($(A-Movers)) +($(B-Movers)) +($(C-Movers)))
Based on this ranking I would want the A Sku Total (highlighted in Green) at the top to equal 9.
I think I got the idea, and your calculation is quite ambitious. You're basically trying to create a new dimension on the fly with dynamic sliders to set the threshold between rank groups. It's still possible to use above-function outside of a table, it just means you need to surround your measure with an Aggr, which basically allows you to add dimensions to the calculation, and more importantly, it allows you to sort the dimensions as well.
Only weakness is, that the dimensions cannot be measures/expressions themselves, so if you're sorting your rows based on an aggregation, it wouldn't most likely work unfortunately.