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

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
enriquem
Creator
Creator

Problem doing a function

Hi All!!

I'm trying to do a function like i show, but i can't get the result that i hope.

The function it's transformating the value of the parameter to a format value even Milllion, thousands....

Here I put some examples to do this with a function:

SUB formatNum (Value)

  IF Value<num(100000) THEN

  Value = Num(Value,'#.##0 €;-#.##0 €')

  ELSEIF Value<num(1000000)

  Value = Num(Value/num(1000),'#.##0,0 k€;-#.##0,0 k€')

  ELSE

  Value = Num(Value/num(1000000),'#.##0,00 M€;-#.##0,00 M€')

  ENDIF

ENDSUB

OR with a Calculated Variable:

LET suma= 'IF($1<num(99999), Num($1,"#.##0 €;-#.##0 €"), IF($1<num(1000000), Num($1/num(1000),"#.##0,0 k€;-#.##0,0 k€"), Num($1/num(1000000),"#.##0,00 M€;-#.##0,00 M€")))';

The code its rigth, but i can't call the sub function from an text object, and i can't get the correct result with the calculatedValue because I dont escape the simple comma char.

Note: to call the calculated variable use:

=$(suma(3131231211231223))

Thanks All and Regards.

Kind Regards,
Enrique Mora.
1 Solution

Accepted Solutions
Gysbert_Wassenaar
Partner - Champion III
Partner - Champion III

Try this:

SET suma= IF($1<num(99999), Num($1,'#.##0 €;-#.##0 €'), IF($1<num(1000000), Num($1/num(1000),'#.##0,0 k€;-#.##0,0 k€'), Num($1/num(1000000),'#.##0,00 M€;-#.##0,00 M€')));


talk is cheap, supply exceeds demand

View solution in original post

2 Replies
Gysbert_Wassenaar
Partner - Champion III
Partner - Champion III

Try this:

SET suma= IF($1<num(99999), Num($1,'#.##0 €;-#.##0 €'), IF($1<num(1000000), Num($1/num(1000),'#.##0,0 k€;-#.##0,0 k€'), Num($1/num(1000000),'#.##0,00 M€;-#.##0,00 M€')));


talk is cheap, supply exceeds demand
enriquem
Creator
Creator
Author

Thank you!! It's a good solutions and learn how to resolve it!!

Kind Regards,
Enrique Mora.