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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Case when..?

Hi,

I am trying to get a calculation but not sure how to go about doing it in Qlik Sense.


I have rows which I need to calculate in inches but some of the rows are in cm. How would I write the expression to say:


Sum(case when type = 'cm' then length/2.54 else length end as length)

Sum(case when type = 'cm' then height/2.54 else length end as length)

Sum(case when type = 'cm' then width/2.54 else length end as length)

I can then multiply together the above to get cubic inches.

PartIDTypeLengthHeightWidthCubic Inches
1cm10105=sum(10/2.54)*(10/2.54)*(5/2.54)
2cm12105=sum(12/2.54)*(10/2.54)*(5/2.54)
3inch555=sum(10)*(10)*(5)
4inch10155=sum(10)*(10)*(5)
5cm151010=sum(15/2.54)*(10/2.54)*(10/2.54)

Thank you in advance for the help.

1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

Thanks again Sunny!

I think that has worked, just need to cross-check the figures.

View solution in original post

7 Replies
agigliotti
MVP
MVP

in your script you can do as below:

if( type = 'cm', length/2.54, length ) as length


I hope it helps.

The Power of shining a light on the dark side of your data.
Follow me on my LinkedIn | Know Gamma Informatica at gammainformatica.it
sunny_talwar
MVP
MVP

One option is to do this

RangeSum(

Sum({<Type = {'cm'}>}Length*Height*Width)/pow(2.54, 3),

Sum({<Type = {'inch'}>}Length*Height*Width)

)

Anonymous
Not applicable
Author

Thanks again Sunny!

I think that has worked, just need to cross-check the figures.

Anonymous
Not applicable
Author

Hi Sunny,

If I wanted to do the same but convert weight to lbs if it's kg, would the format be the same? I tried the following but isn't giving me the correct answer:

RangeSum(

Sum({<WeightUOM = {'L'}>}Weight)/pow(2.2046, 3),

Sum({<WeightUOM = {'K'}>}Weight)

)

sunny_talwar
MVP
MVP

May be this

RangeSum(

Sum({<WeightUOM = {'L'}>}Weight)/2.2046,

Sum({<WeightUOM = {'K'}>}Weight)

)

Anonymous
Not applicable
Author

Thanks, I had to do the following:

RangeSum(

Sum({<WeightUOM = {'L'}>}Weight)/2.2046,

Sum({<WeightUOM = {'K'}>}Weight)*2.2046

)


Thanks again!

sunny_talwar
MVP
MVP

okay cool