Qlik Community

QlikView Creating Analytics

Discussion Board for collaboration related to Creating Analytics for QlikView.

Not applicable

Show Only Largest using Dimension Limits Properties.

Hi Guys,

I came across the Requirement where user should input values to display largest 10, 20 or All

I have implemented this by creating an inputbox and created a varaible vTop and named as Top and the set below properties:

Input Constraints: No Constraints

Enable Edit Expression Dialog box=Checked

Pre-defined Values in Drop-Down=Selected

Listed Values=10,20, All

Setting for Selected values=10

Now selected a chart and then went to Dimension Limits Tab--> Select A dimension-->Check the Option 'Restrict Which Values are displayed using the first Expression'

and then Show Only Largest=$(vTop).

I am expecting when I select All It should display all values under that dimension (So basically no Restriction)

How can I achieve this?

Kindly don;t suggest to assign some junk value like 999999999999999999 when vTop=All.

=IF(vTop='All',999999999,$(vTop)) This is working fine but It will not take more than 99,9999999. If I try 99,99999991, It is giving Message No Data to display.

I am looking for any other Alternates.

Message was edited by: Shivendoo Kumar

Message was edited by: Shivendoo Kumar

1 Solution

Accepted Solutions
Not applicable

Re: Show Only Largest using Dimension Limits Properties.

All,

We got 3 Solutions for this:

  1. =IF(vTop='All',99,9999999,$(vTop))  //Limitation: (It will not display any data if data is more than 99,9999999)
  2. Daniel: Show and hide based on vTop value. vTop='All' Show another chart which is not having any dimension Limits else use another which is having dimension limits and pass the value of vTop to limit.
  3. Jagan: =IF(vTop='All', Count(Distinct DimensionName), vTop) //Limitation: (It will not display any data if data is more than 99,9999999)
7 Replies
danieloberbilli
Valued Contributor II

Re: Show Only Largest using Dimension Limits Properties.

I am sure there is a more elegant way, but one quick & simple solution could be: create a copy of your chart without the dimension limit and use properties >layout > show conditional to show/hide it with vTop condition. So whenever the user selects 'All' the limited chart is hidden and the other is shown and vice versa

Not applicable

Re: Show Only Largest using Dimension Limits Properties.

I appreciate you response and time.

It won't be a memory over load? because same data we are loading in 2 charts and showing and hiding.

If not then I think it is better solution than =IF(vTop='All',999999999,$(vTop)) .

danieloberbilli
Valued Contributor II

Re: Show Only Largest using Dimension Limits Properties.

A hidden object shouldnt have any significant effect on the performance at all. I think hidden or minimized objects dont consume any memory at all

MVP
MVP

Re: Show Only Largest using Dimension Limits Properties.

Hi,

Instead of using 999999999, you can get the count and use it in the if statement like below


=IF(vTop='All', Count(Distinct DimensionName), vTop)

Hope this helps you.

Regards,

Jagan.

Not applicable

Re: Show Only Largest using Dimension Limits Properties.

Jagan,

=IF(vTop='All', Count(Distinct DimensionName), vTop) expression will not work If Count(Distinct DimensionName) crosses 99,9999999.


I have a dimension attribute which is having more than 100 Million records. So =IF(vTop='All', Count(Distinct DimensionName), vTop) I can't use.

MVP
MVP

Re: Show Only Largest using Dimension Limits Properties.

Hi,

Are you using Key field to get Count?  Generally in chart we will fields like Customer, Product, Zone etc.  If you get Count on this fields then it won't be that much huge number.

Also it is not good practice to display this many records in the charts, reduce the count by forcing users to select some filters.

Regards,

Jagan.

Not applicable

Re: Show Only Largest using Dimension Limits Properties.

All,

We got 3 Solutions for this:

  1. =IF(vTop='All',99,9999999,$(vTop))  //Limitation: (It will not display any data if data is more than 99,9999999)
  2. Daniel: Show and hide based on vTop value. vTop='All' Show another chart which is not having any dimension Limits else use another which is having dimension limits and pass the value of vTop to limit.
  3. Jagan: =IF(vTop='All', Count(Distinct DimensionName), vTop) //Limitation: (It will not display any data if data is more than 99,9999999)
Community Browser