Qlik Community

QlikView App Development

Discussion Board for collaboration related to QlikView App Development.

Announcements
QlikWorld 2020: Join us May 11 - 14, 2020 in Phoenix, AZ. Register early and save $400. Learn More
ramanannad
New Contributor III

variable in set analysis

Hi,

I have a requirement to have dimension toggle or alternate dimension in Pivot table of QlikSense. So I loaded the possible dimension values in a inline load and use it as a field to dynamically toggle dimension:

So this is how my calculated Dimension looks like:

if(getselectedcount(Dimension)=0,Region,

if(getfieldselections(Dimension)='Region',Region,

if(getfieldselections(Dimension)='State',State)))

Problem with this is, in my set analysis I am TOTAL'ing the values based on the dimension as such :

num((Sum(BASE_MSISDN)/Sum(total <Dimension> BASE_MSISDN)),'#,##0.00%')

*To get the share

With this dynamic dimension toggle, it fails as there isn't a single dimension I can specify in the red area above. Tried using a variable that captures the values in the inline field "Dimension" but this fails as well. Any suggestion on how to tackle this?

Hope the above is clear and seeking all the guru's of Qlik to help me out here

Thanks

Ram-Malaysia

Tags (2)
1 Solution

Accepted Solutions
Highlighted
ramanannad
New Contributor III

Re: variable in set analysis

Dimension :

vDimTest

if(getselectedcount(Dimension)=0,'Region',

if(getfieldselections(Dimension)='Region','Region',

if(getfieldselections(Dimension)='State','State')))

Set analysis :

num((Sum(BASE_MSISDN)/Sum(total <$(=vDimTest)> BASE_MSISDN)),'#,##0.00%')

*The above does not work, but it works when we tried this :

num((Sum(BASE_MSISDN)/Sum(total <$(=if(getselectedcount(Dimension)=0,'Region',

if(getfieldselections(Dimension)='Region','Region',

if(getfieldselections(Dimension)='State','State',

if(getfieldselections(Dimension)='Sales Area','Sales Area',

if(getfieldselections(Dimension)='Postcode','Postcode',

if(getfieldselections(Dimension)='Town','Town',

if(getfieldselections(Dimension)='Site Type','Site Type'))))))))> BASE_MSISDN)),'#,##0.00%')

*Note that the above has a few more dimension added.

Marking this as resolved....Thanks Vineeth

View solution in original post

5 Replies
vinieme12
Esteemed Contributor II

Re: variable in set analysis

You need to create a variable

vAggrOnField :

=if(getselectedcount(Dimension)=0,'Region',

if(getfieldselections(Dimension)='Region','Region',

if(getfieldselections(Dimension)='State','State')))

Dimension will be your existing calculated dimension

Expression:

num((Sum(BASE_MSISDN)/Sum(total <$(vAggrOnField)> BASE_MSISDN)),'#,##0.00%')

ramanannad
New Contributor III

Re: variable in set analysis

Hi Vineeth,

Unfortunately this does not work. I think its the way we call the variable there.

Thanks

Ram

vinieme12
Esteemed Contributor II

Re: variable in set analysis

You should define the variable with a leading equal sign, please post a screeshot of your variable definition

Try:

num((Sum(BASE_MSISDN)/Sum(total <$(=vAggrOnField)> BASE_MSISDN)),'#,##0.00%')

annafuksa1
Contributor III

Re: variable in set analysis

you should to use

num((Sum(BASE_MSISDN)/Sum(total {<'$(vAggrOnField)'>} BASE_MSISDN)),'#,##0.00%')

Highlighted
ramanannad
New Contributor III

Re: variable in set analysis

Dimension :

vDimTest

if(getselectedcount(Dimension)=0,'Region',

if(getfieldselections(Dimension)='Region','Region',

if(getfieldselections(Dimension)='State','State')))

Set analysis :

num((Sum(BASE_MSISDN)/Sum(total <$(=vDimTest)> BASE_MSISDN)),'#,##0.00%')

*The above does not work, but it works when we tried this :

num((Sum(BASE_MSISDN)/Sum(total <$(=if(getselectedcount(Dimension)=0,'Region',

if(getfieldselections(Dimension)='Region','Region',

if(getfieldselections(Dimension)='State','State',

if(getfieldselections(Dimension)='Sales Area','Sales Area',

if(getfieldselections(Dimension)='Postcode','Postcode',

if(getfieldselections(Dimension)='Town','Town',

if(getfieldselections(Dimension)='Site Type','Site Type'))))))))> BASE_MSISDN)),'#,##0.00%')

*Note that the above has a few more dimension added.

Marking this as resolved....Thanks Vineeth

View solution in original post