Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
mccook
Partner - Creator
Partner - Creator

Highest Sold Product calculated by aggr value for each Customer

I've been going around in circles a little bit with firstsortedvalue() and aggr() to try to achieve below:

 

My data is a little like this:

CustomerProductProduct TypeUnitsValue
Dean LtdZZZ12310100
Dean LtdXXX34535350
Dean LtdZZZ12320200
Carl ConstructionZZZ12330300
Carl ConstructionXXX34525250

 

And I need the result to be like this in my pivot table:

CustomerProductProduct TypeValueHighest Sold Product
Dean LtdZZZ123300XXX
Dean LtdXXX345350XXX
Carl ConstructionZZZ123300ZZZ
Carl ConstructionXXX345250ZZZ

 

It's the highest sold product field I would appreciate any help with please?

Thanks,

Dean

Labels (3)
1 Solution

Accepted Solutions
Anonymous
Not applicable

Okay, I misunderstood that you are looking for highest value, not for highest sum

Now i changed the expression and made some tests and for me it looks good

can you make further tests?

= FirstSortedValue(total <Company> Product, -aggr(sum( total <Company,Product> Val),Company,Product))

View solution in original post

6 Replies
Anonymous
Not applicable

it was a hard way to find (maybe) the solution. At least with your data I am able to produce your desired output table

I used firstsortedvalue for your desired column

= FirstSortedValue(total <Company> Product, -Val)

I hope that this works not oly with your 5 rows of data. Please try!

sunny_talwar

You can try this

Concat(DISTINCT TOTAL <Customer> Aggr(
    If(Sum(Value) = Max(TOTAL <Customer> Aggr(Sum(Value), Customer, Product)),  Product)
, Customer, Product))
sunny_talwar

I think this was only by chance that this worked. If you change the Value for first row to 151 from 100.. you will see that the expression that you have mentioned will continue to show XXX as the most valuable product, but now ZZZ is 351. So, it should be ZZZ as most valuable product for Customer Dean Ltd based on the new data.

CustomerProductProduct TypeUnitsValue
Dean LtdZZZ12310151
Dean LtdXXX34535350
Dean LtdZZZ12320200
Carl ConstructionZZZ12330300
Carl ConstructionXXX34525250
Anonymous
Not applicable

Okay, I misunderstood that you are looking for highest value, not for highest sum

Now i changed the expression and made some tests and for me it looks good

can you make further tests?

= FirstSortedValue(total <Company> Product, -aggr(sum( total <Company,Product> Val),Company,Product))

mccook
Partner - Creator
Partner - Creator
Author

Thanks, this was close, it works for like 95% of my data

mccook
Partner - Creator
Partner - Creator
Author

Thanks, this seems to work perfectly.