Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
helge_jorg
Creator
Creator

Create a dimension

Qlik experts,

Can I create a dimension based on a measure?

I need to create a chart where the dimension (x-axis) is the name of a measure. The measure is a count for grater than 8,7,6,5,4,3,2,1. The x-axis needs to be 8,7,6,5,4,3,2,1 and the y-axis is the count of custID greater than 8,7,6….

count({<Value1={">8"}>} CustID)

Please see sample app:

1 Solution

Accepted Solutions
swuehl
MVP
MVP

Maybe add something like this to your script:

For i = 1 to 8

Groups:

LOAD DISTINCT

     Value1,

     $(i) as Group

Resident Data

WHERE Value1 > $(i);

Next i

Then use Group as dimension and just a Count(CustID) as expression.

edit: added DISTINCT

View solution in original post

5 Replies
MK9885
Master II
Master II

In Dimension you can use

=if(Value1>=8,Value1)

or You can do this in script as well

Data:

LOAD

    Dato,

    CustID,

    Value1,

   if(Value1>=8,Value1) as [Value8],

    Value2

FROM [lib://Data/SampleData.xlsx]

(ooxml, embedded labels, table is Sheet1);

And then in front end just use [Value8] as your dimension

For measure use

count({<Value1={">8"}>} CustID)

helge_jorg
Creator
Creator
Author

Thanks!!

Can I add more values to the dimension? Like -  if(Value1>=7,Value1),[Value7],  if(Value1>=6,Value1) as [Value6]?

And can these be grouped on top of each other? See picture below (this is created based on a calculated excel-file)

samplepic.PNG

MK9885
Master II
Master II

Main X-axis would be only 1 but you can add 1 more dimension thats it.

For measure you can use Multiple Alternative measures but only 1 measure can be seen at a time


As for creating buckets you can create buckets based on number....


Search for creating Age buckets in community. You'll get an idea how to create new values based of >=8 , <=5 etc


swuehl
MVP
MVP

Maybe add something like this to your script:

For i = 1 to 8

Groups:

LOAD DISTINCT

     Value1,

     $(i) as Group

Resident Data

WHERE Value1 > $(i);

Next i

Then use Group as dimension and just a Count(CustID) as expression.

edit: added DISTINCT

helge_jorg
Creator
Creator
Author

Thanks, Stefan

Your suggestion works fine!

One follow-up question: In Data load editor I normally use Qualify *;  and Unqualify Dato; to connect keys between datasets. When I use this, loading following your suggestion I get an error message saying that Vaule1 is missing. When I remove Qualify and Unqualify, it works fine.

Do you have any suggestion why this happens? Or should I not use qualify and Unqualify at all in Data Load Editor?

Thanks for your help!