Skip to main content
Announcements
YOUR OPINION MATTERS! Please take the Qlik Experience survey you received via email. Survey ends June 14.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Number format in espression

hello guys

I have the following expressions in 2 list box headings.

They both work but do not display in the format i want them to show. The syntax below could be wrong as i just wrote them from the top of my head.

='Volume - '& Sum(TOTAL vol)]) &' / '& Sum({1}TOTAL vol)

='Share - '& Sum(TOTAL vol)]) / Sum({1}TOTAL vol) * 100

2 questions

How can I show Volume in e.g. 10 milion / billion rather than 10+ digits

How can I show the Share percentage in % rather than its current 0.15etc

I think I need to use the below function. dont i?

But will I be able to display Volume in e.g. 5 milion, billion or trillion (i am using volumes that total upto a trillion)

num'###,###,##0'),

num('#,#0.0%'),

thanks

1 Solution

Accepted Solutions
swuehl
MVP
MVP

So maybe like this:

='Volume - '&

num( sum(total vol) /pow(1000,floor(log10(fabs(sum(total vol)))/3)),'##0.000')

& pick(floor(log10(fabs(sum(total vol)))/3)+1,'',' thousand',' million',' billion',' trillion')

&' / '&

num( sum({1} total vol) /pow(1000,floor(log10(fabs(sum({1} total vol)))/3)),'##0.000')

& pick(floor(log10(fabs(sum({1} total vol)))/3)+1,'',' thousand',' million',' billion',' trillion')

Hope I haven't made a typo now.

And I just reread you OP and saw your second request:

='Share - '& num(Sum(TOTAL vol)]) / Sum({1}TOTAL vol),' ##0.0%')

Hope this helps,

Stefan

View solution in original post

5 Replies
swuehl
MVP
MVP

I don't think that there is a format code for that (or maybe I just don't know. In some objects, there is something like you want, e.g. with the number formatting in bar chart objects).

A general expression could probably look like:

=num( sum(amount) /pow(1000,floor(log10(sum(amount))/3)),'##0.000')

& pick(floor(log10(sum(amount))/3)+1,'',' K',' M',' G',' T')

where you should replace sum(amount) by your actual number calculation you want to format and ' K', ' M' etc. could be replaced by ' thousand', ' million' ... or whatever you like.

Hope this helps,

Stefan

edit: if your sum could be negative, you probably need something like

=num( sum(amount) /pow(1000,floor(log10(fabs(sum(amount)))/3)),'##0.000')

& pick(floor(log10(fabs(sum(amount)))/3)+1,'',' K',' M',' G',' T')

Not applicable
Author

thanks swuehl.

my objective is to do it in anexpression.

maybe this is not a thread for New To QlikView?! :))

swuehl
MVP
MVP

So maybe like this:

='Volume - '&

num( sum(total vol) /pow(1000,floor(log10(fabs(sum(total vol)))/3)),'##0.000')

& pick(floor(log10(fabs(sum(total vol)))/3)+1,'',' thousand',' million',' billion',' trillion')

&' / '&

num( sum({1} total vol) /pow(1000,floor(log10(fabs(sum({1} total vol)))/3)),'##0.000')

& pick(floor(log10(fabs(sum({1} total vol)))/3)+1,'',' thousand',' million',' billion',' trillion')

Hope I haven't made a typo now.

And I just reread you OP and saw your second request:

='Share - '& num(Sum(TOTAL vol)]) / Sum({1}TOTAL vol),' ##0.0%')

Hope this helps,

Stefan

Not applicable
Author

thanks you Stefan.

I will try it out tonight if I have time and will let you know how I get on.

Not applicable
Author

good news.

It worked.

I had to tag Vol as [vol] and it did the trick.

here are the syntax.

='Vol - '& num( sum(total [Vol]) /pow(1000,floor(log10(fabs(sum(total [Vol])))/3)),'##0.000') & pick(floor(log10(fabs(sum(total [Vol])))/3)+1,'',' thousand',' million',' billion',' trillion')

&' / '&

num( sum({1} total [Vol]) /pow(1000,floor(log10(fabs(sum({1} total [Vol])))/3)),'##0.000') &

pick(floor(log10(fabs(sum({1} total [Vol])))/3)+1,'',' thousand',' million',' billion',' trillion')

='Share = '&num(sum( [Vol]) / sum({1} total [Vol]),'##0.0%')

many thanks Stefan