Qlik Community

New to Qlik Sense

Discussion board where members can get started with Qlik Sense.

deniscamh
Contributor

Min and Max Limits in Chart

Hi Community,

I have a Horizontal Bar Chart that calculates Customer Satisfaction % for top X advisers (X is variable to choose number).

So My dimension is Advisor name, but can be changed to alternative dimensions.

I would like to limit the minimum number on the X scale to Minimum Satisfaction % minus 1% based on top X advisers.

For example if I have 50% for the advisor # 10 the minimum should be 49%

Now where it gets tricky.

The top 10 advisers could be changed by user to different number so the MIN should be adjusted accordingly.

Also the minimum should be adjusted when any other filter has been applied.

I cannot use Min(aggr(sum(Index),Adviser_Name)) as it looks on all advisers but not only on top X.

Please help me with some ideas???

Thanks

4 Replies
devarasu07
Honored Contributor II

Re: Min and Max Limits in Chart

HI,

u can add the top 10 rank condition inside scale range expression like below

Min(aggr(sum({$<Dimension = {"=Rank(SUM(Measure),4)<=10"}>} Index),Adviser_Name))

or

Min( sum(total <Adviser_Name> {$<Dimension = {"=Rank(SUM(Measure),4)<=10"}>} Index) )


P.S: updated your rank dimension, measure filed


Thanks,

Deva

deniscamh
Contributor

Re: Min and Max Limits in Chart

Hi Deva,

Sorry for a late replay.

My chart has alternative dimension, so I need the calculation of Min will be based on dimension that has been selected.

Is it achievable?

Thanks

deniscamh
Contributor

Re: Min and Max Limits in Chart

Also can you explain what do you mean by Rank Dimension and Measure?

It is should be based on Dimension selected by user and measure is a sum(index)

deniscamh
Contributor

Re: Min and Max Limits in Chart

Also, I tried to run your expression and it still giving zero as minimum value.

Just to give you an idea of chart.

Dimension is Adviser_Name (but there are alternative dimensions.

Measure is index but it is calculated measure that has different compenents and looks like this:

(if(sum({<$(vRollMonthCSE)>}(msrConvenienceIndexQuestionPoints1))>0,

sum({<$(vRollMonthCSE)>}(msrConvenienceIndexIndexScore1))/

sum({<$(vRollMonthCSE)>}(msrConvenienceIndexQuestionPoints1)),0)

+

if(sum({<$(vRollMonthCSE)>}(msrTreatmentIndexQuestionPoints1))>0,

sum({<$(vRollMonthCSE)>}(msrTreatmentIndexIndexScore1))/

sum({<$(vRollMonthCSE)>}(msrTreatmentIndexQuestionPoints1)),0)

+

if(sum({<$(vRollMonthCSE)>}(msrValueIndexQuestionPoints1))>0,

sum({<$(vRollMonthCSE)>}(msrValueIndexIndexScore1))/

sum({<$(vRollMonthCSE)>}(msrValueIndexQuestionPoints1)),0)

+

if(sum({<$(vRollMonthCSE)>}(msrQualityIndexQuestionPoints1))>0,

sum({<$(vRollMonthCSE)>}(msrQualityIndexIndexScore1))/

sum({<$(vRollMonthCSE)>}(msrQualityIndexQuestionPoints1)),0))*100.

vRollMonthCSE is a variable that used to display data for last N month based on selection.


Hope you can come up with something for me.

Thanks