Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Problem with getting column name in set analysis - trellis chart

My expression is very long and difficult but i want to focus only on part of it:

=if(Only({<Miesiąc=, ID_Miesiąc=>}Rok)=2016,

sum({$<Miesiąc=, Kwartał=, ID_Miesiąc= {"<=2"}, Rok = {2016}>}aggr(rangesum( ABOVE( sum({$<ID_Miesiąc= {"<=$(=Max({1} ID_Miesiąc))"}, Kwartał=,Miesiąc=, MO_ID={1}>}KwotaW),0,12) ),ID_Miesiąc))

In Trellis chart i have 3 dimensions: [Jednostka Biznesowa], [Linia Produktowa] and [Grupa Produktowa].

When i choose one field from dimensions list box - my chart will dive from bigger unit to smaller:

Business unit.jpg

So when i have no filters, above expression will be working.

But when i select fro example Jednostka biznesowa --> this expression is not working.

I have to add to expression:

=if(Only({<Miesiąc=, ID_Miesiąc=>}Rok)=2016,

sum({$<Miesiąc=, Kwartał=, ID_Miesiąc= {"<=2"}, Rok = {2016}>}aggr(rangesum( ABOVE( sum({$<ID_Miesiąc= {"<=$(=Max({1} ID_Miesiąc))"}, Kwartał=,Miesiąc=, MO_ID={1}>}KwotaW),0,12) ), [Jednostka biznesowa], ID_Miesiąc))

and it will be working for Jednostka Biznesowa.

But when i dive into smaller unit to Linia Produktowa i should have within this expression:

=if(Only({<Miesiąc=, ID_Miesiąc=>}Rok)=2016,

sum({$<Miesiąc=, Kwartał=, ID_Miesiąc= {"<=2"}, Rok = {2016}>}aggr(rangesum( ABOVE( sum({$<ID_Miesiąc= {"<=$(=Max({1} ID_Miesiąc))"}, Kwartał=,Miesiąc=, MO_ID={1}>}KwotaW),0,12) ), [Linia Produktowa], ID_Miesiąc))

I want to write expresion which would be changing bold part of my epression depending on selected values.

I tried:

=if(Only({<Miesiąc=, ID_Miesiąc=>}Rok)=2016,

sum({$<Miesiąc=, Kwartał=, ID_Miesiąc= {"<=2"}, Rok = {2016}>}aggr(rangesum( ABOVE( sum({$<ID_Miesiąc= {"<=$(=Max({1} ID_Miesiąc))"}, Kwartał=,Miesiąc=, MO_ID={1}>}KwotaW),0,12) ),

if(GetSelectedCount([Jednostka biznesowa])>0,[Linia produktowa]), ID_Miesiąc)) but it is not working because i should have here only column name in this aggregation.

Maybe you Guys have any ideas?

Thank You for your help in advance,

Jacek Antek

1 Solution

Accepted Solutions
swuehl
MVP
MVP

Jacek, see my other post about dollar sign expansion also:

=if(Only({<Miesiąc=, ID_Miesiąc=>}Rok)=2016,

sum({$<Miesiąc=, Kwartał=, ID_Miesiąc= {"<=2"}, Rok = {2016}>}aggr(rangesum( ABOVE( sum({$<ID_Miesiąc= {"<=$(=Max({1} ID_Miesiąc))"}, Kwartał=,Miesiąc=, MO_ID={1}>}KwotaW),0,12) ),

$(=if(GetSelectedCount([Linia produktowa])>0,'[Linia produktowa],','[Jednostka biznesowa],')), ID_Miesiąc))

)

View solution in original post

2 Replies
swuehl
MVP
MVP

Jacek, see my other post about dollar sign expansion also:

=if(Only({<Miesiąc=, ID_Miesiąc=>}Rok)=2016,

sum({$<Miesiąc=, Kwartał=, ID_Miesiąc= {"<=2"}, Rok = {2016}>}aggr(rangesum( ABOVE( sum({$<ID_Miesiąc= {"<=$(=Max({1} ID_Miesiąc))"}, Kwartał=,Miesiąc=, MO_ID={1}>}KwotaW),0,12) ),

$(=if(GetSelectedCount([Linia produktowa])>0,'[Linia produktowa],','[Jednostka biznesowa],')), ID_Miesiąc))

)

Anonymous
Not applicable
Author

Thanks swuehl!

Your solution is working great ! Thank You !