Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
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?

1 Solution

Accepted Solutions
Miguel_Angel_Baeyens

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

View solution in original post

1 Reply
Miguel_Angel_Baeyens

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