Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
kkkumar82
Specialist III
Specialist III

Want to calculate market share based on the partial sums(second dimension percentages)

I have a pivot table where I have an expression market share which is calculated by the following expression

  Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

  /

  Sum( total{1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

Here the problem is I want the denominator value as the partial sum of that particular dimension value but because I have taken

total qualifier it is taking the sum of all dimension values.

for eg , for commodity ABC,Supplier XXP the spend is 82,916, the market share should be 53.177(82916.90/155924.04)

but I am getting 2.44 because I have used total qualifier it is taking the whole commodities spend.

How to get that partial sum of commodity in the expression.

1 Solution

Accepted Solutions
kkkumar82
Specialist III
Specialist III
Author

Finally got it , when we have calculated dimension we have to use advanced aggregation using aggr().

The following post helped me alot

Quick Development Tips: Qlikview: Aggregation 1: How to calculate percentages at second dimension le...

The expression which I have used for market share is

  Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

  /

  Aggr(NODISTINCT Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend),Commodity)

Thanks

Kiran Kumar .CH

View solution in original post

12 Replies
MK_QSL
MVP
MVP

Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

  /

  Sum( total <Commodity>{1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

SergeyMak
Partner Ambassador
Partner Ambassador

Hi,

Try to use this expression

Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

  /

  Sum( total <Commodity> {1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

Regards,

Sergey

Regards,
Sergey
Anonymous
Not applicable

Kiran,

Try the expression below to reachyour requirement and also to get the % in Total rows (total commodity / total spent):

=if(Dimensionality()=2,

     Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

     /Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>} TOTAL <Commodity> Spend),

if(Dimensionality()=1,

     Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

     /Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>} TOTAL Spend)))

Marc.

kkkumar82
Specialist III
Specialist III
Author

No ,

I didnt get it, every market share converted to 100% , even I tried with <commodity> and <supplier>

Any more suggestions ??

jagan
Luminary Alumni
Luminary Alumni

Hi,

Try this expression you need to use Commodity in Total like below

Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

  /

  Sum({1<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>} TOTAL <Commodity> Spend)

TOTAL <Commodity> - This will ignore the Commodity dimension and you will get the Commodity wise total.


Hope this helps you.


Regards,

Jagan.

MK_QSL
MVP
MVP

Sum({<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

  /

  Sum( total <Commodity>{<Commodity=p(Commodity),QuarterYear={$(vCurrentQuarter)}>}Spend)

Anonymous
Not applicable

Kiran,

Use my expression posted before in order to avoid 100% values.

Marc.

kkkumar82
Specialist III
Specialist III
Author

Hi Marc,

All my market share values turned to 100% except the partial sums.

Thank You

Kiran

MK_QSL
MVP
MVP

Can you provide sample data or sample apps.....