Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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;
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
QLIKVIEW Server
Pues debes cambiar a QLIKVIEW esto es SENSE
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
No se como hacerlo.
Me gustaría eso si hacerlo desde el script.
Si puedes decirme te lo agradecería mucho.
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.
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;
No me funciona el código 😕
Hola David,
Podrias compartirme tu script o bien el qvw que estas trabajando, si gustas una versión reducida. para poder apoyarte mejor?
Saludos.