Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Cargar Tabla en script sin valor en todos los campos

Hola, tengo el siguiente problema, yo quiero crear una tabla en el script que tenga los campos siguientes:

campo1,campo2,campo3,campo4

entonces hago un

load * inline [

campo1,campo2,campo3,campo4

valor1,valor2,valor3,valor4

]

El problema es que hay registros que no tendrán el campo4, es decir, que me interesaria que se le asignara bien los valores de campo1,campo2 y campo3, y que el campo4 estuviera por así decirlo en blanco.

No se como hacer para escribir el script de tal manera que algunos registros tengan ese 4 campo en blanco y otros tengan los 4 campos con datos. ¿hay alguna palabra reservada o algo así para indicar que no tiene valor ese 4 campo pero que si tenga en cuenta el resto?

Espero alguna sugerencia

Un saludo

6 Replies
alex_millan
Creator III
Creator III

Hola Jonay,

¿Cargas los datos con una sentencia Inline?

Si no es así, igual deberías dar más información. Pon un ejemplo de cómo cargas los datos o especifica algo más. Yo, en particular, debo decirte que no entiendo bien tu pregunta.

Un saludo

Anonymous
Not applicable
Author

Hola Alex, intentaré explicarme mejor. El ejemplo seria el siguiente:

load * inline [

campo1,campo2,campo3,campo4

1,a,3,4

2,a,4,5

3,b,6,7

4,b,5

5,c,6,3

6,d,3

]

Como ves, los que tienen valor 4 y 6 para el campo1, no tienen valor en campo4. Entonces lo que yo quiero es poder dejar ese valor a nulo, y no se si hay alguna palabra reservada o algo que se lo indique al qlikview. Porque necesito que algunos registros tengan 3 valores y otros 4. Pero necesito que me reconozca tanto los de 3 valores como los de 4.

No se si ahora queda más claro

Un saludo

alex_millan
Creator III
Creator III

Si, ahora lo entiendo mejor.

En sí, lo carga vacío, lo que pasa es que como lo carga como texto, es como si le pusiera el valor ''.

Si declaras la sentencia inline de la siguiente manera verás que si puedes filtrar los datos como null:

Datos:

Load Num(campo1) As campo1, campo2, num(campo3) As campo3, num(campo4) As campo4;

load * inline [

campo1,campo2,campo3,campo4

1,a,3,4

2,a,4,5

3,b,6,7

4,b,5,

5,c,6,3

6,d,3,

];

Filtro: LOAD campo1 As Campo1_filtrado RESIDENT Datos Where not isnull(campo4);

Verás cómo en la tabla filtro sólo carga los datos 1, 2, 3 y 5.

Espero que te ayude.

Un saludo

alex_millan
Creator III
Creator III

O si no, haces la sentencia inline como la tenías originalmente y para filtrarlo lo haces así:

Filtro: LOAD campo1 As Campo1_filtrado RESIDENT Datos Where campo4 = '';

Miguel_Angel_Baeyens

Debe tenerse en cuenta que los valores nulos en QlikView se miden de 3 formas distintas (vacíos, en blanco y nulos). La función para asegurarse de que un campo está "vacío" independientemente de esas 3 formas es Len(Campo) = 0.

En el caso de las tablas INLINE los valores toman valor de vacío, no de nulo.

Más información en: Finding NULL

Miguel

alex_millan
Creator III
Creator III

Muchas gracias por la aclaración Miguel Ángel!

Un saludo