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?
Martin,
Si sólo existe un CENTRO DE COSTO por cada combinación de DES o DES - NOR o DES - OPA o DES - PRF o DES - PTA, entonces puedes darle vuelta a los JOINS con ApplyMap.
Intenta lo siguiente:
Mapa_DES:
Mapping LOAD Distinct
DES AS KEY_DES,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE1]
FROM
(ooxml, embedded labels, table is [Page 1]) ;
Mapa_DES_NOR:
Mapping LOAD Distinct
DES & '_' & NOR AS KEY_DES_NOR,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE2]
FROM
(ooxml, embedded labels, table is [Page 2]) ;
Mapa_DES_OPA:
Mapping LOAD Distinct
DES & '_' & OPA AS KEY_DES_OPA,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE3]
FROM
(ooxml, embedded labels, table is [Page 3]) ;
Mapa_DES_PRF:
Mapping LOAD Distinct
DES & '_' & PRF AS KEY_DES_PRF,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE4]
FROM
(ooxml, embedded labels, table is [Page 4]) ;
Mapa_DES_PTA:
Mapping LOAD Distinct
DES & '_' & PTA AS KEY_DES_PTA,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE5]
FROM
(ooxml, embedded labels, table is [Page 5]) ;
[INGRESOS TOTALES]:
LOAD *,
ApplyMap('Mapa_DES',DES, Null() ) AS [CENTRO DE COSTO PAGE1],
ApplyMap('Mapa_DES_NOR',DES & '_' & NOR, Null() ) AS [CENTRO DE COSTO PAGE2],
ApplyMap('Mapa_DES_OPA',DES & '_' & OPA, Null() ) AS [CENTRO DE COSTO PAGE3],
ApplyMap('Mapa_DES_PRF',DES & '_' & PRF, Null() ) AS [CENTRO DE COSTO PAGE4],
ApplyMap('Mapa_DES_PTA',DES & '_' & PTA, Null() ) AS [CENTRO DE COSTO PAGE5]
FROM
(qvd); [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];
Could you provide an example, how do you select all fields?
I made a simple table with all the fields and later i exported to excel, I sum the field TOTAL in excel and its a diferent value than if i made in qlikview a pivot table with the field [CENTRO DE COSTO] as dimmension and Sum(TOTAL) as Calculated Dimension.
I know that the correct value is the excel value but i dont understand why in qlikview cant do a simple sum.
Sorry for my english
Sum(Total) must be computed in an expression, if it is possible change the name total with something else because TOTAL is a key world
I thoght that but TOTAL is a sum of the fields (HON) AND (GAS)
I changed the pivot table for SUM(HON)+SUM(GAS) in the calculated dimension and didnt worked too.
I think the problem is something about the field [CENTRO DE COSTO] but i did know how i do wrong.
Martin,
Recuerda que al usar JOINS es posible que los registros se multipliquen si existen múltiples coincidencias entre registros. Creo que eso es justamente lo que está pasando en tu caso.
Tienes que revisar si los registros se están duplicando y utilizar SUM(TOTAL) como una expresión, no como dimensión.
La razón por la que te dan valores diferentes al sumar en Excel y en QlikView es porque si haces una tabla simple, esta te mostrará todas las combinaciones diferentes, es decir, solo te pondrá 1 vez los registros que están repetidos. Esto sin embargo no ocurre cuando haces la suma en la tabla pivote, pues la expresión SUM(TOTAL) suma todos los registros sin importar si están repetidos o no.
Carlos lamentablemente tenes razon, estoy en un problema que no puedo solucionar. Gracias.
Martin,
Si sólo existe un CENTRO DE COSTO por cada combinación de DES o DES - NOR o DES - OPA o DES - PRF o DES - PTA, entonces puedes darle vuelta a los JOINS con ApplyMap.
Intenta lo siguiente:
Mapa_DES:
Mapping LOAD Distinct
DES AS KEY_DES,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE1]
FROM
(ooxml, embedded labels, table is [Page 1]) ;
Mapa_DES_NOR:
Mapping LOAD Distinct
DES & '_' & NOR AS KEY_DES_NOR,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE2]
FROM
(ooxml, embedded labels, table is [Page 2]) ;
Mapa_DES_OPA:
Mapping LOAD Distinct
DES & '_' & OPA AS KEY_DES_OPA,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE3]
FROM
(ooxml, embedded labels, table is [Page 3]) ;
Mapa_DES_PRF:
Mapping LOAD Distinct
DES & '_' & PRF AS KEY_DES_PRF,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE4]
FROM
(ooxml, embedded labels, table is [Page 4]) ;
Mapa_DES_PTA:
Mapping LOAD Distinct
DES & '_' & PTA AS KEY_DES_PTA,
[CENTRO DE COSTO] AS [CENTRO DE COSTO PAGE5]
FROM
(ooxml, embedded labels, table is [Page 5]) ;
[INGRESOS TOTALES]:
LOAD *,
ApplyMap('Mapa_DES',DES, Null() ) AS [CENTRO DE COSTO PAGE1],
ApplyMap('Mapa_DES_NOR',DES & '_' & NOR, Null() ) AS [CENTRO DE COSTO PAGE2],
ApplyMap('Mapa_DES_OPA',DES & '_' & OPA, Null() ) AS [CENTRO DE COSTO PAGE3],
ApplyMap('Mapa_DES_PRF',DES & '_' & PRF, Null() ) AS [CENTRO DE COSTO PAGE4],
ApplyMap('Mapa_DES_PTA',DES & '_' & PTA, Null() ) AS [CENTRO DE COSTO PAGE5]
FROM
(qvd); [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];
Carlos gracias por la inforomacion ante todo y esta nueva sentencia la pongo luego de:
[INGRESOS TOTALES]:
LOAD *
FROM
o al final de todo el script?
Carlos olvida mi pregunta no dije nada. Ahora lo pruebo pero creo que funciona.