Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
agigliotti
Partner - Champion
Partner - Champion

Qlik Sense - drill down dimension

Hello,

mto

I'm noting it's not possible to apply a dynamic label for each field in drill-down master item dimension.

I'm using Qlik Sense Server February 2018 patch 1 version.

I guess it's a missing feature!

How can I achieve it?

Many Thanks.

BR

Andrea

24 Replies
agigliotti
Partner - Champion
Partner - Champion
Author

I have 4 fields within a drill down dimension, in which way I can traslate, using the code above, the four fields label ?

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

Rather than creating a Drill Down dimension create a standard dimension, and then use the code I have posted above.  You will need to change the field names to match your own.

agigliotti
Partner - Champion
Partner - Champion
Author

if I well undertstood I need to create a listbox with all dimension field names to check which dimension has been choosen by the user.

It's a sort of cyclic group rather than a  drill-down dimensions group.

is it right ?

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

Not quite.  No list box is required to select the dimension, it will happen automatically based on the number of possible values in each field.

agigliotti
Partner - Champion
Partner - Champion
Author

Steve, i'll try and i'll let you know.

agigliotti
Partner - Champion
Partner - Champion
Author

Hi Steve,

Finally yesterday I had time to try your suggestion on how to apply a workaround because of missing feature.

When I select a value on first dimension (ex. continent), QIX make selections also on all other dimensions fields (ex. country, city, etc...) and this is unwanted.

Using instead the drill-down dimension it doesn't occurs.

Definitely I think it's not a true workaround.

I really hope Qlik will implement this feature in next releases.

Best regards

Andrea

LCauch
Contributor III
Contributor III

Hi @agigliotti , @stevedark 

 

Any news about this feature ? I am stuck as well on a similar problem. I tried to use variable instead of formula but it is not working  as a variable return a null value if there is more than 1 possible value (Months for example).

Thanks,

Leo

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi @LCauch 

It sounds like you may be using the dimension code in a measure rather than a dimension?

The original question was related to the fact that there was no drill down dimension in Sense, something which has now been available for quite a few versions. Just create a master dimension and then add a number of hierarchical fields to the master dimension. This can then be used on any chart and should drill correctly.

There is still an issue, even at Sept 2020, that you can not get a label from the drill down dimension. For this you need to code it. My code from way back when still works for this, in the dynamic label field:

=if(GetPossibleCount(County) = 1, 'Town',
   if(GetPossibleCount(Country) = 1, 'County',
   if(GetPossibleCount(Continent) = 1, 'Country',
   'Continent')))

Hopefull that gives you what you require?

There is a link in one of my earlier responses related to when you want to drill when there is not only one possible option. You may also like to take a look here, where I have an app you can download and use with many selectable dimensions:

https://www.quickintelligence.co.uk/isa/

Steve

LCauch
Contributor III
Contributor III

Hi @stevedark ,

 

Thanks for your reply. Yeah, I regret the fact that we can't customize label in a drilldown master item...

 

Are you using your code with a master dimension ? So my formula will be something like:

=if(GetPossibleCount(County) = 1, Town,
   if(GetPossibleCount(Country) = 1, County,
   if(GetPossibleCount(Continent) = 1, Country,
   Continent)))

And my label:

=if(GetPossibleCount(County) = 1, 'Town',
   if(GetPossibleCount(Country) = 1, 'County',
   if(GetPossibleCount(Continent) = 1, 'Country',
   'Continent')))

is that right ? This solution works but when I filter on a dimension say Country using the chart, I also filter on County and Town. Can be confusing to select 1 dimension and have 3 filtered dimension. Is there a way to avoid this behavior ?

Also you're using GetPossibleCount(), why this one instead of GetSelectedCount() ?

Thanks,

Leo

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi @LCauch 

If you choose to use a master dimension with a drill down (i.e. multiple fields in the dimension) the code without the quotations is redundant. The master dimension does this for you.

Alternately, you could create a 'normal' master dimension and use the code without the quotes in the master dimension expression.

The code is designed to emulate how Qlik drill down dimensions work in both QlikView and Sense. If only a single dimension value is possible, due to selections on any field then the drill will take place.

You can make it more user dependent by using GetSelectedCount, so only a selection made by the user on the right field will cause the drill to happen (you will have to use the expression code in the master dimension to go this route).

By coding the drill yourself you can do things which are not possible using the default drill functionality. If you take dates, for example, if you use a drill you will always see days if a single month is selected. But, if you select five dates spanning the end of a month (e.g. 28th to the 2nd) you will get only two bars, one for each month. By coding your own you can say if the number of possible dates is greater than X show by month, otherwise show by day.

Personally, I really don't like drill dimensions, as they often cause things to change on a dashboard without the user being fully aware of why. I will almost always opt for a drop down allowing users to select a field, or a number of buttons to set the dimension.

Sense now allows Alternative Dimensions, so the user can pick that way, but it's not possible to set chart titles etc. correctly when Alternative Dimensions are used as you can not pick up what the current dimension is in code.

Hope that all makes sense?

Steve