Skip to main content
Announcements
Introducing a new Enhanced File Management feature in Qlik Cloud! GET THE DETAILS!
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosac
Creator II
Creator II

NUMERO ENTERO VS Nº DECIMAL

Buenas , tengo un campo que expresa un nùmero (el número puede ser entero a modo ejemplo, 1, 2, 3, 4, 5,.... o decimal, 0,34,1,23, 3,4,...) . Lo que me gustaria es construir sobre ese campo una condición en el que se indique :

- si ese campo es = NUMERO ENTERO, pon SI

- si ese campo es =NUMERO DECIMAL, pon NO

Alguna idea de como hacerlo????

    Sin título.png

1 Solution

Accepted Solutions
sorrakis01
Specialist
Specialist

Hola,

Una solución rápida a tu problema sería:

Expresión:

If(Index(VALOR,',')>0,'SI','NO')

Saludos,

View solution in original post

4 Replies
sorrakis01
Specialist
Specialist

Hola,

Una solución rápida a tu problema sería:

Expresión:

If(Index(VALOR,',')>0,'SI','NO')

Saludos,

arbernardez
Partner - Contributor III
Partner - Contributor III

Hola,

otra opción es utilizar la función MOD, como ésta solo acepta números enteros, al encontrar un valor decimal devolverá un nulo utilizando la función ISNULL:


          isnull(mod( VALOR ,1))


y controlando el resultado tendríamos:

IF(isnull(mod( VALOR ,1)),'NO','SI')

de esta forma obtendremos el resultado esperado.

Saludos,

Alberto Rodríguez

carlosac
Creator II
Creator II
Author

Muchas gracias compañeros: ambas soluciones me han servido de maravilla....

sorrakis01
Specialist
Specialist

Hola,

La verdad es que hay varias posibilidades para hacerlo. Yo te he indicado una solución rápida para tu problema, otra parecida al Mod que indica Alberto es la de Odd:


IF(isnull(odd(VALOR)),'SI','NO')

Si tienes muchos registros mira cual te evalua mejor de todas.

Como siempre tienes varias opciones

Saludos,