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: 
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 !