Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola Gente de QlikView.
Quisiera saber como hacer un sum en el load script de un campo cargado desde un archivo de excel.
Normalmente trabajo con Oracle en donde esta función es fácilmente implementable, pero ahora me moví a Excel y no se como hacer esto.
Quedo en espera de comentarios.
Por su atención.
Gracias.
Creo que te hubiera valido con cargarlo de la siguiente manera:
Orders:
Load
[FECHA] as FECHA,
[VENTAS] as VENTAS
FROM [lib://Documents/MasterCalendar.xlsx]
(ooxml, embedded labels, table is Hoja1);
Y después utilizar la siguiente expresión:
sum(Ventas)/sum({1} Ventas), o sum(Ventas)/sum({1} TOTAL Ventas), depende de dónde la uses.
Así evitas tener dos tablas no relacionadas, "islas", que son poco recomendadas.
Saludos,
Sorin.
Igual...
Load Cliente, Sum(Ventas)
From Tabla1
Group By Cliente;
Esto es en caso de que no te interese tener el detalle de lo que estas cargando.
Lo pongo de esta manera :
Orders:
Load
[FECHA] as FECHA,
[VENTAS] as VENTAS,
Sum([VENTAS]) as TOTALVENTAS
FROM [lib://Documents/MasterCalendar.xlsx]
(ooxml, embedded labels, table is Hoja1);
Y me arroja el siguiente mensaje
Primero veo que estas cargando la columna de Ventas y ademas la estas acumulando, como no hace mucho sentido, de ser asi, entonces simplemente lo que haces es hacer la carga si el sum y luego para presentar los datos entonces le haces un sum.
Lo segundo es que si vas a acumular los datos entonces debes de agruparlos tal y como lo haces en SQL.
Load Fecha as Fecha,
Sum(Ventas) as TotalVentas
From...
Group by Fecha;
No puedo usar el SQL porque son datos de un archivo de Excel.
Olvide mencionar que estoy usando Qlik Sense
Quedo en espera de comentarios.
Por su atención.
Gracias.
No importa, lo puede usar de esta manera, acabo de realizar una prueba con datos similares a lo que necesitas cargar y me ha funcionado perfectamente.
No tienes que usar SQL, te puse el simil para que lo compares con QV de como hacerlo.
Tome estos datos:
Coloque este script:
Y obtuve esta tabla de los datos:
Hola Juan, en efecto ya vi que funciona tal como me dijiste , la idea de hacerlo separado, es decir
Ventas as Ventas,
Sum(Ventas) as TotalVentas.
Es para despues usar un Gauge que conforme aplique filtros el porcentaje vaya cambiando dinamicamente,
la idea es poner en el guage la expresion :
sum(Ventas)/sum(TotalVentas),
Si lo pongo como de la siguiente manera:
Orders:
Load
FECHA as FECHA,
Sum(VENTAS) as TOTALVENTAS,
FROM [lib://Documents/MasterCalendar.xlsx]
(ooxml, embedded labels, table is Hoja1)
Group byFECHA;
Al momento de desplegar TOTALVENTAS, me muestra el listado de todas las ventas y la idea es desplegar solo una linea es decir la suma de todos los registros.
Hola Jairo,
Me parece que tienes un error de conceptos. Si tienes dos columnas (Fecha y Ventas) y agrupas por Fecha y venta, no podrás calcular el total de venta por fechas.
Por otro lado, si agrupas por fecha, tendras el total de ventas por Fecha (día). Este tipo de calculos los puedes hacer directamente en tus gráficos utilizando la siguiente expresión:
SUM(Ventas) / SuM(TOTAL Ventas)
Qlik Sense te lo calculará automáticamente.
Saludos
Juan
Hola Jairo,
Creo que las indicaciones de los dos Juanes son muy acertadas, y lo de que lo puedes calcular automaticamente en la expresión creo que es lo mas sencillo.
No obstante si quieres cargarlo en el Script por algo en particular yo te diría que pruebes con un join para añadir el total de ventas a tus ventas, algo asi:
Ventas:
Load
Fecha as FECHA,
Ventas
From archivo.xls;
Left Join (Ventas)
Load
Fecha as FECHA
sum(Ventas) as Total Ventas
Resident Ventas
Group by FECHA;
sigo pensando que es mas sencillo cargar esta operacion directamente con el TOTAL y los modificadores que necesites.
Un saludo,
Maria