Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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%')
Hi Vineeth,
Unfortunately this does not work. I think its the way we call the variable there.
Thanks
Ram
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%')
you should to use
num((Sum(BASE_MSISDN)/Sum(total {<'$(vAggrOnField)'>} BASE_MSISDN)),'#,##0.00%')
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