Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Unificar valores de campo en uno solo

Hola, tengo un problema que no consigo resolver, y es el siguiente. Yo en mi script cargo algun campo y genero otros que son cálculos

               ID  Campo1   Campo2

                1      4             0

                1      3             1

Para el mismo ID puede haber más de una entrada, yo necesito, unificar los 2 o más valores de campo1, en un nuevo campo1 o sobreescrbir el mismo e igual para el campo 2, de tal forma que lo que obtenga finalmente sea una única entrada del tipo

               ID     Campo1     Campo2

                1          7                1

La idea seria hacer esto en el script, para que una vez en ejecución, tener los campos bien calculados y no tener que poner condiciones.

El número de entradas para el mismo ID es variable, en ocasiones será 1, en otras 2 y rara vez 3 o así.

¿Alguien tiene alguna sugerencia de como puedo unificar los valores?

Un saludo

1 Solution

Accepted Solutions
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Tienes dos posibilidades

LOAD ID, CAMPO1, CAMPO2;

SQL SELECT id, sum(CAMPO1) as CAMPO1, sum(CAMPO2) as CAMPO2

FROM TuTabla

GROUP BY id


or

LOAD ID, sum(CAMPO1) as CAMPO1, SUM(CAMPO2) as CAMPO2

GROUP BY ID

Resident TuTabla;

Saludos

Joaquín;

View solution in original post

9 Replies
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola Jonay:

LOAD ID

          sum(Campo1)

SELECT ID, sum(campo1)

group by ID.

Espero que te sirva

Joaquín

Anonymous
Not applicable
Author

Buenas Joaquín, ¿la expresión es toda la que habría que poner?, es que me da error la expresión, y despues del load Id, por ejemplo habría que separar con ',' y además poner la tabla de la que sacas esos campos.

alexandros17
Partner - Champion III
Partner - Champion III

Try This:

SELECT ID, sum(Campo1) as Campo1, sum(Campo2) as Campo2 From myTable Group By ID;

Let me know

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Claro, tienes que ajustar el load y el select a tu tabla.

Como no has puesto tu load no te lo puedo ajustar !!!

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Básicamente por que puedes cargar Campo1 y Campo2 desde una sentencia SQL o como parte de un LOAD ... Resident

en ambos casos la sintaxis es diferente aunque el resultado es el mismo.

Puedes poner tu sentencia LOAD ???

Anonymous
Not applicable
Author

La tabla yo la genero a partir de sql, pero los campos campo1 y campo2 son calculados. Entonces yo genero tabla. y en tabla ahora tengo id, campo1, y campo2 y lo que quiero es que se me unifique como dije en la entrada principal

load ID,

sum(campo1)

resident tabla;

Pero eso me da error cuando ejecuto el script  Invalid expression

¿que estoy haciendo mal?

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Tienes dos posibilidades

LOAD ID, CAMPO1, CAMPO2;

SQL SELECT id, sum(CAMPO1) as CAMPO1, sum(CAMPO2) as CAMPO2

FROM TuTabla

GROUP BY id


or

LOAD ID, sum(CAMPO1) as CAMPO1, SUM(CAMPO2) as CAMPO2

GROUP BY ID

Resident TuTabla;

Saludos

Joaquín;

Anonymous
Not applicable
Author

Buenas Joaquin,

finalmente gracias a tu ayuda consegui resolver mi problema

load id sum(campo1) as campo1final, sum(campo2) as campo2final

resident tabla

group by id;

Tuve que llamar el campo diferente, porque sino me daba com valores para ese campo1, los 2 que ya tenía y el acumulado

Un saludo

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola Jonay:

Perfecto, me alegro.

Saludos

Joaquín