Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola tengo el siguiente script:
[INGRESOS TOTALES]:
LOAD *
FROM
left join ([INGRESOS TOTALES])
LOAD
DES,
NOR,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE2]
FROM
(ooxml, embedded labels, table is [Page 2]);
left join ([INGRESOS TOTALES])
LOAD
DES,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE1]
FROM
(ooxml, embedded labels, table is [Page 1]);
left join ([INGRESOS TOTALES])
LOAD
DES,
OPA,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE3]
FROM
(ooxml, embedded labels, table is [Page 3]);
left join ([INGRESOS TOTALES])
LOAD
DES,
PRF,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE4]
FROM
(ooxml, embedded labels, table is [Page 4]);
left join ([INGRESOS TOTALES])
LOAD
DES,
PTA,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE5]
FROM
(ooxml, embedded labels, table is [Page 5]);
[INGRESOS TOTALES NEW]:
LOAD
PTA,
CLA_P,
ORD,
ITE,
OPA,
PAC,
NOR,
PFA,
PRE,
CFA,
CRE,
HON,
GAS,
FEC,
PRF,
SER,
NRE,
ORI,
SUC,
NFA,
TOTAL,
DES,
TRIM( [CENTRO DE COSTO PAGE1] & [CENTRO DE COSTO PAGE2] & [CENTRO DE COSTO PAGE3] & [CENTRO DE COSTO PAGE4] & [CENTRO DE COSTO PAGE5] ) AS [CENTRO DE COSTO]
RESIDENT [INGRESOS TOTALES];
DROP TABLE [INGRESOS TOTALES];
RENAME TABLE [INGRESOS TOTALES NEW] TO [INGRESOS TOTALES];
Si selecciono todos los campos y los exporto a excel, la suma del campo TOTAL me da un valor, pero si hago un pivot table o tabla simple de la columna TOTAL me da un valor mas alto. Alguien me podria ayudar al respecto?
Carlos Muchas Gracias! Funciona excelente! Ahora para entender me podrias explicar la logica de lo que hicimos?
Martin,
En resumen utilizamos la función ApplyMap para integrar los valores de [CENTRO DE COSTO] a cada renglón correspondiente. La principal característica del ApplyMap es que te permite mapear un valor a partir de una llave.
Puedes revisar la ayuda de QlikView para ver más acerca del ApplyMap pero a groso modo funciona así:
Dado esto, lo que hicimos fue crear llaves compuestas para aquellos [CENTROS DE COSTO] que dependen de más de un campo para poder integrar su valor. Por ejemplo, el [CENTRO DE COSTO] de la página dos depende de los campos DES y NOR, por lo que se creó la llave DES & '_' & NOR y así cada llave se creó de manera correspondiente con sus dependencias de campos.
El punto importante en el ApplyMap es que sólo mapeará el primer valor que se encuentre para una llave. Entonces, si una llave tiene más de dos [CENTRO DE COSTO], el ApplyMap no nos hubiera servido de nada. Por esta razón el ApplyMap sólo puede sustituir a un JOIN cuando cada llave sólo tiene un valor a mapear, si es más de uno un JOIN u otro método serán necesarios.
Espero que esto te clarifique un poco más el procedimiento.
Por cierto, si consideras algún comentario como útil, no dudes en marcarlo como tal para que otras personas puedan encontrar respuestas de manera más rápida.
Saludos.
Gracias por todo Carlos, quedo bastante claro.. Un fuerte abrazo.
Saludos