Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
etovi1948
Contributor III
Contributor III

Numerar secuencialmente valores cero (QSense)

Estimados, al cargar el script desde archivos qvd, un campo que identifica numéricamente las transacciones puede traer valores cero. Necesito contarlos luego como repetidos, pero no como grupo "cero", sino como números individuales.

Ejemplo si los qvd traen:

Id

256

257

0

258

259

0

0

260

...

Necesito que al cargar (un if con peek?) y encontrar los valores cero les vaya sumando uno (hasta el último) para que se distingan (los demás deben quedar con su id original), así:

Id

256

257

1

258

259

2

3

260

...

Agradeceré una mano con este tema.

1 Solution

Accepted Solutions
jolivares
Specialist
Specialist

Tal vez podrias hacer lo siguente.  En el momento que estas leyendo el QVD asignale un valor.

Primero leo lo valores que no tengan ceros:

T1:

Load Id,....

From Tabla Where Id <> 0;

Load RecNo() as Id,....

From Tabla Where Id = 0

Esto te va a concatenar automaticamente las dos tabla.  Importante es que tengas los mismos campos en las dos tablas para que QV las concatenes automaticamente.

View solution in original post

3 Replies
fkeuroglian
Partner - Master
Partner - Master

Ernesto como estas?

Lo que podes hacer(seguramente hay un camino mas facil) es separar en la primer carga todos los registros con 0, es decir excluirlos y luego cargarlos en otra sentencia load, acompañados de una funcion autonumber al lado de cada valor 0, de esta forma podras generar esos numeros contiguos que queres.

Luego de esto, alcanza con concatenar este resultado con tu carga original y obviamente se concatenan los valores autonumber(no los 0) a la carga original.

Espero te sirva

Saludos

Fernando K.

jolivares
Specialist
Specialist

Tal vez podrias hacer lo siguente.  En el momento que estas leyendo el QVD asignale un valor.

Primero leo lo valores que no tengan ceros:

T1:

Load Id,....

From Tabla Where Id <> 0;

Load RecNo() as Id,....

From Tabla Where Id = 0

Esto te va a concatenar automaticamente las dos tabla.  Importante es que tengas los mismos campos en las dos tablas para que QV las concatenes automaticamente.

etovi1948
Contributor III
Contributor III
Author

Estimados colaboradores, he probado las dos formas y, aunque son similares funcionalmente, logré resolver mi problema adaptando al script las sugerencias de Juan [con RecNo()]; probablemente no supe utilizar correctamente el Autonumber aconsejado por Fernando.

Una vez más, mi enorme agradecimiento por la generosa participación de ambos.

Mis más cordiales saludos.

Ernesto