Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

I have a pivot table that I want to calculate a weighted avg subtotal for. Can someone please help?

I need to calculate a weighted subtotal for the Total column.

Calculation for Weight:

sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name> TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)

Percent:

sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name> TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)*([Bnchmrk])

Total:

Sum(Total<Market,County_Name>(aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name> TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)*([Bnchmrk]),[Bnchmrk])))

I would like to be able to drop the Weight and Percent columns and just use the Total Column.  Market 1 total should be $873. Market 2 should be $861, or the sum of the percent column.  I know I'm close....

   

MarketCountyTotalMMBnchmrkWeightPercentTotal
1Market Total2239 100.00% $5,235
1A276$84612.33%$104$846
1B590$88126.35%$232$881
1C58$8912.59%$23$891
1D392$84317.51%$148$843
1E392$89117.51%$156$891
1F531$88323.72%$209$883
2Market Total2229 100.00% $2,574
2G454$86020.37%$175$860
2H1116$87450.07%$437$874
2I659$84029.56%$248

$840

1 Solution

Accepted Solutions
sunny_talwar

Then in that case... try this as Total is redundant

Avg(Aggr(

Sum(Total<Market,County_Name>(aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name>TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)*([Bnchmrk]),[Bnchmrk]))),

Market, County))

View solution in original post

11 Replies
vishsaggi
Champion III
Champion III

Can you share a sample to look into? Or may be try like:

= Sum(Aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name> TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL<Market> TotalMM)*([Bnchmrk]), Market))


Can you also show what should be your expected output.

sunny_talwar

May be this

Avg(Aggr(

Sum(Total<Market,County_Name>(aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name>TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)*([Bnchmrk]),[Bnchmrk]))),

Market))

Anonymous
Not applicable
Author

Thanks Vishwarath,  I tried this formula, but it gave me all $0 for the total Column.  Here is what it should look like.

   

Market
CountyTotalMMBnchmrkWeightPercentTotal
1Market Total2239 100.00% $873
1A276$846 12.33%$104 $846
1B590$881 26.35%$232 $881
1C58$891 2.59%$23 $891
1D392$843 17.51%$148 $843
1E392$891 17.51%$156 $891
1F531$883 23.72%$209 $883
2Market Total2229 100.00% $861
2G454$860 20.37%$175 $860
2H1116$874 50.07%$437 $874
2I659$840 29.56%$248 $840 
Anonymous
Not applicable
Author

Thanks Sunny.  this just gave me a total of the County Benchmarks.  They counties were null.

sunny_talwar

How about this

Avg(TOTAL <Market> Aggr(

Sum(Total<Market,County_Name>(aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name>TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)*([Bnchmrk]),[Bnchmrk]))),

Market, County))

vishsaggi
Champion III
Champion III

Try this:

= Sum(TOTAL <Market, County_name> Aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name> TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL<Market> TotalMM)*([Bnchmrk]), Market))



Please also try Sunny's expression. If you still do not see what you expected, please do share your qvw for us to look into.

Anonymous
Not applicable
Author

This is closer.  It populated all the counties, but it gave me all the same number.  $835.

Anonymous
Not applicable
Author

I figured it out.  Needed to add County to the first part.  THANK YOU so much for your help!!!!!

Avg(TOTAL <Market,County_Name> Aggr(

Sum(Total<Market,County_Name>(aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name>TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)*([Bnchmrk]),[Bnchmrk]))),

Market, County))

sunny_talwar

Then in that case... try this as Total is redundant

Avg(Aggr(

Sum(Total<Market,County_Name>(aggr(sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market,County_Name>TotalMM)/sum({$<Cov_Mth_Date={'12/31/2017'}>}TOTAL <Market> TotalMM)*([Bnchmrk]),[Bnchmrk]))),

Market, County))