Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I'm wondering if this is a bug. When the num#() function is used in combination with any arithmetic operation, such as *1, it takes a number that is above the upper range of 32 bit signed integers (>2147483647), and flips it to a negative number. None of the other expressions below does this. It does this whether they're created as field in the load script or as expressions in charts.
Hi,
It should be use like this
Num#(2147483649,'##########')*1
or
Num#(2147483649,'#')*1
Hi,
Did you checked with the help file?
Its for number conversion by specfying the format of the number.
The num# function evaluates the expression numerically according to the string given as format-code. Decimal separator and thousands separator can be set as third and fourth parameters. If the parameters 2-4 are omitted, the default number format set by script variables or in the operating system is used.
Are you using windows OS then Go to control panel-->Regional and language settings and the check the default format if the exceeds the specified limit again starts from the negative value(the remaining difference)
Thanks for the response. The issue isn't formatting - it's changing the value of the number.
Hi,
It should be use like this
Num#(2147483649,'##########')*1
or
Num#(2147483649,'#')*1
Gary,
I think your issue is probably very close to
http://community.qlik.com/message/152802
(I assume using an arithmetic operator with num#() is similar to applying num() on num#() )
That works. Thank you very much.
Swuehl, I tried going to that link but it says that I'm unauthorized.
It is odd. I note that the use of any format mask (arg 2) fixes the problem. For example,
=num#(2147483648,'#')*1
displays correct. I suppose others may have not seen this problem because I can't think of a case where you would use num#() without a mask.
-Rob