Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
arixooo123
Creator III
Creator III

dividing a dimension into some pieces to better show it in a bar chart

  dears!

  I have a column in a table called city, This column has more than 100 distinct values. using city column as a dimension,

  when i create a stacked bar chart, since there are many of them(cities).  I cannot see much of that in the chart and it gets so messy.

  is it possible to break a dimension with 100 possible values into 5 groups of dimensions each has 20 values?

  Thanks for your help in advance.

1 Solution

Accepted Solutions
terezagr
Partner - Creator III
Partner - Creator III

I think your way would be the best one. Like that, you do not need to hardcode it in the script and if any new groups are going to be added you will add them into your database

You can always hardcoded in your script by using nested if statement or PICK() function will solve it too.

IF nested:

if(mixmatch(City, 'Paris','Barcelona'),'Group1',

     if(mixmatch(City,'Tokio'),'Group 2',

          if(mixmatch(City,'New York'),'Group 3',

                    'Group 4'))) as City_Groups

Pick function:

Pick(Wildmatch((City),'Paris','Barcelona','Tokio','New York'),

                              'Group 1', 'Group 1','Group 2','Group 3')

                                        as City Groups

View solution in original post

13 Replies
Anonymous
Not applicable

Certainly is possible.

First you need to define the rules as to which city goes into which group.

arixooo123
Creator III
Creator III
Author

Thanks for your instant response.

would you please explain more. how can i set that rules? in dimension tab?

jvitantonio
Luminary Alumni
Luminary Alumni

Hi,

Given the amount of cities I would recommend doing this in the script. I would create a new table with City and Group. you then join this table to the table where you city is stored.

Example:

GeoDim:

Load

City,

Country

FROM...

CustomeTable

inner join

Load * inline [

City, Group

Chicago, Group 1

NY, Group 1

Miami, Group 2

Orlando, Group 2

...

];

you can then use your Group field in your chart.

JV

terezagr
Partner - Creator III
Partner - Creator III

In script using pick function divide these cities into 5 groups, give it name as Cities_Grouped.

In your chart: Dimensions->Edit Groups->New->Drill Down and select Cities_Grouped and Cities.

When you go to your chart you should be first presented with Cities_Grouped, clicking on any of the Cities_Grouped will then drill down to your 20 Cities in this group.

arixooo123
Creator III
Creator III
Author

Dear Friend, would you please do it on a sample? i am not actually good at scripting.

I uploaded the sample.

I'd like to see what percentage of each city population lives in different temperature conditions.

the table has just 3 columns.

dimension: City, Temp

Expression

Sum(Population)/Sum(Total <City>Population)

Type of chart: Stacked Bar Chart

saumyashah90
Specialist
Specialist

Hi Arixoo,

Check this file,

dril down with Temp->Cities

i.e once you click on any of the bar you will get citites having that temperature.

arixooo123
Creator III
Creator III
Author

Dear Friend,

Let the city be the first dimension. since the number of cities are many, i like to break down them into 2 groups.

i don't think that's the answer of my question.

thanks by the way.

saumyashah90
Specialist
Specialist

If so you will have to add one more column to group your cities...will it be okay?

arixooo123
Creator III
Creator III
Author

Look at the answer of TerezaGr, a couple of post above your answer. what do you think?