Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Not applicable

ceros a la izquierda

Hola quiere enlazar dos tablas por un campo, este en una de ellas es alfanumerico con ceros a la izquierda de relleno, como puedo quitar estos ceros?

Tags (1)
1 Solution

Accepted Solutions
MVP
MVP

Re: ceros a la izquierda

Hola,

Puedes utilizar la función Num() que ignorará los ceros a la izquierda tratando el valor del campo como numérico, en el caso de que todos los caracteres posibles en dicho valor sean numéricos:

Tabla:

LOAD Num(Campo) AS Campo,

     ...

FROM Origen;

Si el valor puede tener otros caracteres no numéricos aunque puede empezar por ellos, tendrás que utilizar una o varias funciones de cadena para eliminarlos, por ejemplo:

=Replace(LTrim(Replace('00000FA012011', '0', ' ')), ' ', 0)

Probando esta expresión en un objeto de texto, y teniendo en cuenta que las funciones siempre se ejecutan desde dentro hacia afuera, lo que hace es convertir todos los ceros en espacios en blanco con el primer Replace(), después, con LTrim() elimina los espacios a la izquierda (lo que antes eran ceros) y el último Replace() devuelve los espacios al cero original. La idea original la obtuve de Rakesh Mehta.

Espero que te sirva.

Miguel Angel Baeyens

BI Consultant

Comex Grupo Ibérica

1 Reply
MVP
MVP

Re: ceros a la izquierda

Hola,

Puedes utilizar la función Num() que ignorará los ceros a la izquierda tratando el valor del campo como numérico, en el caso de que todos los caracteres posibles en dicho valor sean numéricos:

Tabla:

LOAD Num(Campo) AS Campo,

     ...

FROM Origen;

Si el valor puede tener otros caracteres no numéricos aunque puede empezar por ellos, tendrás que utilizar una o varias funciones de cadena para eliminarlos, por ejemplo:

=Replace(LTrim(Replace('00000FA012011', '0', ' ')), ' ', 0)

Probando esta expresión en un objeto de texto, y teniendo en cuenta que las funciones siempre se ejecutan desde dentro hacia afuera, lo que hace es convertir todos los ceros en espacios en blanco con el primer Replace(), después, con LTrim() elimina los espacios a la izquierda (lo que antes eran ceros) y el último Replace() devuelve los espacios al cero original. La idea original la obtuve de Rakesh Mehta.

Espero que te sirva.

Miguel Angel Baeyens

BI Consultant

Comex Grupo Ibérica

Community Browser