Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a todos una consulta quiero crear un qvd mensual que vaya acumulando ejemplo tengo qvd del periodo 201101 luego quiero hacer un left join del periodo 201102 pero quiero que sea autimatico la carga si alguien tuviera una idea sobre mi particular problema le agradeceria su apoyo, saludos
Hi all I want to create a query that is accumulated monthly QVD example I have QVD 201101 period then I do a left join for the period 201102, but want it to be automatic. The load if someone had an idea about my particular problem I would appreciate your help me,
greetings
Hola Julian,
En primer lugar, deberías hacer un Concatenate entre el qvd almacenado, y la tabla que estás trayendo.
En segundo, intuyo que querés hacer una carga incremental. La idea es:
Ventas:
Load
Producto,
Cliente,
Ventas,
Fecha
From Ventas.qvd
Order By
Fecha asc;
Let vUltFecha=Peek('Fecha');
Concatenate
SQL Select
Producto,
Cliente,
Ventas,
Fecha
From dba.TablaSQL
Where Fecha >= $(vUltFecha);
Store Ventas into Ventas.qvd;
Si no tenés QV Server, creás un .bat que contenga:
[Ruta QV, ejemplo "C:\Archivos de Programa\Qlikview\QV.exe"] -r [Nombre del archivo qvw, por ejemplo Ventas.qvw]
Luego creás un job en el schedule de Windows para el segundo día de cada mes y listo!!
Si tenés QV Server, lo último estuvo de más.
Saludos,
Sebas
Gracias por la correccion claro lo que hago es un concatenate si quiero un incremental pero no por el ultimo registro o la ultima fecha te explico yo hago el cierre contable mensual entonces es una foto en el momento y creo mi qvd luego al siguiente mes hago los mismo la foto del momento y tengo mi segundo qvd asi sucesivamente cada mes y yo ahora lo hago manual mi concatenate lo que deseo es ir concatenando pero automaticamente haber si te aclare el panorama y muchas gracias igual por la atencion prestada.
No tengo claro si he entendido bien el problema, pero yo lo que haría sería:
// 1- Crear una tabla con los registros nuevos que quiero añadir a mi QVD
Ventas:
sql Select .....
from ....;
// 2- Concatenar el QVD con todos los registros que ya tenia
CONCATENATE
Load .......
from ventas.qvd
// 3- Almacenar la tabla entera en el QVD
STORE Ventas into ventas.qvd
Hola fgs En teoria es asi como debe funcionar pero como hago para que me capture en paso 2 los qvds generados...saludos
Julián,
En el código anterior, no es necesario cargar más de un QVD. Lo que hace el script es conectarse a la base de datos, traerse los datos nuevos contatenarlos con los datos del QVD y volver a escrivir el mismo QVD.
Otra aproximación (que a mi me gusta más) es tener un proceso que mensualmente crea un fichero QVD y tener un fichero QVD por mes; por ejemplo Ventas2012-01.qvd, Ventas2012-02.qvd, ....... El resultado sería que en un directoria tendría un fichero QVD por mes y el mes y año estaría codificados en el nombre del fichero.
Luego este código cargaría todos los QVD's del año 2011.
Ventas:
LOAD Customer,
OrderID,
Sales,
Date
FROM
[Ventas2011-*.qvd]
(qvd);
Fíjate en el '*' del nombre del fichero.
Saludos, Ferran.
Hola ferran yo tengo dos qvs uno el generador donde extraigo la data mes a mes por ejemplo cierre20111131,cierre20111231,cierre20121231 pero eso lo vengo ahciedno manualmente , luego tengo el otro archivo donde concateno y eso tambien lo hago manulamente: de sta forma lo hago CIERRES: load fechacierre,importe,cliente.....from cierre20111131.qvd; concatenate(CIERRES) load fechacierre,importe,cliente.....from cierre20111231.qvd;.................asi lo hago manualamente mes a mes pero quiero que sea automatico mi cierree....saludos
Aquí tienes el código que yo pondría en las dos aplicaciones QV.
1) Generador de QVD mensuales. Este código genera de forma automática un qvd para el mes actual.
let vHoy= Today();
let vAño=Year(vHoy);
let vMes=num(Month(vHoy));
let vFichero= 'Ventas-'&$(vAño)&'-'&$(vMes)&'.qvd';
trace $(vHoy);
trace $(vAño);
trace $(vMes);
trace $(vFichero);
Ventas:
LOAD Customer,
OrderID,
Sales,
Date
FROM
[2012-02.xlsx]
(ooxml, embedded labels, table is Sheet1);
store Ventas into $(vFichero);
2) Cargador de QVD's. Este código carga todos los meses en una sola tabla. Qlikview los concatena de forma automática.
Ventas:
LOAD Customer,
OrderID,
Sales,
Date
FROM
[Ventas*.qvd]
(qvd);
Te sirve?
Ferran.
Me sacaste el script del teclado Ferran!! jejej
Muy buena, de todas maneras, la del aterisco en el From... no la sabía!!!
Voy a seguir insistiendo para responder al menos un tema!!!
Saludos
Hola no se puede ordernar cuando sale directo del QVD!
se debe hacer un paso intermedio.
salu2