Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

¿Como crear un nuevo campo a partir de dos tablas?

Estimada comunidad,

Tengo el siguiente problema. Estoy cargando dos tablas en mi modelo y a partir de ellas necesito crear un nuevo campo calculado en una de las tablas.

Aquí se los explico a partir de tablas

Productos
Codigo
Nombre
Ajuste

CostoProm
Codigo
Costo

y a partir de del campo Ajuste en la tabla Producto y Costo de la tabla CostoProm, Crear un nuevo campo en la tabla Producto que sea Valorizado = Ajuste * Costo

Producto
Codigo Producto
Nombre Producto
Ajuste
Valorizado = Ajuste * Costo

Este es el código que tengo

//--- Carga de Movimientos de Productos

PRODUCTOS:

LOAD

  CODIGO,

  AJUSTE,

  NOMBRE,

FROM

$(PathQvd)EXIPRODUCTO.qvd

(qvd);

//--- Carga de costo promedio de costos promedios

COSTOPROM:

LOAD

  CODIGO,

  COSTO

FROM

$(PathQvd)COSTOPROM.qvd

(qvd);

Ayuda por favor

1 Solution

Accepted Solutions
Not applicable
Author

Finalmente me funcionó, mezcle lo que tu me enseñaste con lo que me enseñó Enrique.

y este fue el script resultante, pero antes quisiera preguntarte algo más que le planteé a Enrique y te pregunto a ti por si es que sabes también.

Que pasa si quiero hacer un Left Join pero en donde más de un campo de las tablas coinciden?

igual funciona???

Por ejemplo con tres campos iguales?:

Producto: Codigo, Mes, Año, Ajuste

CostoProm: Codigo, Mes, Año, Costo

??????

bueno, este es el script que ocupé finalmente

PRODUCTOS:

LOAD

     CODIGO,

     CORRELATIVO,

     USUARIO,

     FECHA,

     CANTIDAD,

     CANTIDADOLD,

     AJUSTE,

     MOTIVO1,

     COSTOLD,

     NOMBRE_SUCURSAL,

     NOMBRE,

     VALOR_COMPRA,

     AÑO,

     MES,

     SEMANA,

     DIAS,

     DIA,

     TRIMESTRE,

     SEMESTRE,

     OBSERVACION,

     SECTOR,

     CODSUCURSAL

FROM

$(PathQvd)EXIPRODUCTO.qvd  (qvd);

LEFT JOIN (PRODUCTOS)

COSTOPROM:

LOAD

    CODIGO,

    COSTO

FROM

$(PathQvd)COSTOPROM.qvd (qvd);

PROD_FINAL:

LOAD  *,  (AJUSTE * COSTO) as VALORIZADO

Resident PRODUCTOS;

DROP TABLE PRODUCTOS;

View solution in original post

20 Replies
Michael_Tarallo
Employee
Employee

Hola David,

Primero necesito calrify , estás usando el Sense o QlikView?

Sé que algunos españoles , pero el uso de Google Translate para la materia más compleja

Gracias

Mike

Regards,
Mike Tarallo
Qlik
Not applicable
Author

QLIKVIEW Server

ecolomer
Master II
Master II

Pues debes cambiar a QLIKVIEW esto es SENSE

ecolomer
Master II
Master II

Es necesario crear otra tabla, porque relacionando ambas a través del código ya puedes crear una tabla pivotante con el contenido que deseas

Si no sabes como, me dices y te creo un ejemplo

Not applicable
Author

No se como hacerlo.

Me gustaría eso si hacerlo desde el script.

Si puedes decirme te lo agradecería mucho.

Not applicable
Author

Hola David,

Lo que yo haría sería crear una sola tabla con Productos y por medio de Left Join CostoProm, para lo cual tu código podría quedar así:

Porductos_tmp:

LOAD

     Codigo,

     Nombre,

     Ajuste

From Product.qvd;

Left Join(Productos_tmp) // Agrega el Costo a cada producto para tener una sola tabla con Ajuste y Costo

CostoProm:

LOAD

     Codigo,

     Costo

From CostoProm.qvd;

Productos:  // En este punto Productos ya traera Ajuste y Costo en la misma tabla

LOAD

     *,

     (Ajuste * Costo) as Valorizado

Resident Productos_tmp;

Drop Table Productos_tmp;

Saludos.

ecolomer
Master II
Master II

Si, claro que si.

Este es el código que tengo

PRODUCTOS:

LOAD

    CODIGO,

    AJUSTE,

    NOMBRE,

FROM

$(PathQvd)EXIPRODUCTO.qvd  (qvd);

LEFT JOIN (TEMP)

COSTOPROM:

LOAD

    CODIGO,

    COSTO

FROM

$(PathQvd)COSTOPROM.qvd  (qvd);

PROD_FINAL:

LOAD  *,  (AJUSTE * COSTO) as VALOR

Resident PRODUCTOS;

DROP TABLE PRODUCTOS;

Not applicable
Author

No me funciona el código 😕

Not applicable
Author

Hola David,

Podrias compartirme tu script o bien el qvw que estas trabajando, si gustas una versión reducida. para poder apoyarte mejor?

Saludos.