Mostrando entradas con la etiqueta Load Store Drop. Mostrar todas las entradas
Mostrando entradas con la etiqueta Load Store Drop. Mostrar todas las entradas

30 de abril de 2018

Guardar csv sin header

Script para crear un nuevo csv sin header, quedando así:



NOTA: si se usa técnica de primeras filas como nombre variable, no funciona si valores de primera y segunda columna son iguales.


14 de enero de 2015

Cargar solo campos con prefijo especifico

Si se quieren cargar únicamente los campos que empiezan con el prefijo "_Flag", teniendo algo como:










Puede usarse la siguiente técnica:

2 de diciembre de 2014

Cargar ultimos 3 qvd

Si se quieren cargar los qvd correspondiente los últimos 3 días, y se tiene la fechas en el nombre del archivo con formato YYYYMMDD (AñoMesDia), teniendo algo como:
   C:\Qlikview\QVD\Ventas_Diarias_20140128.qvd
   C:\Qlikview\QVD\Ventas_Diarias_20140127.qvd
   C:\Qlikview\QVD\Ventas_Diarias_20140126.qvd
   C:\Qlikview\QVD\Ventas_Diarias_20140123.qvd
   C:\Qlikview\QVD\Ventas_Diarias_20140122.qvd
   C:\Qlikview\QVD\Ventas_Diarias_20140121.qvd

Una tecnica sería esta:
//--------------------------------------------------------------------------------
// PASO 1: Lee el nombre de todos los qvd y extraer la fecha
FOR Each file in FileList('C:\Qlikview\QVD\Ventas_Diarias_*.qvd')
          Hitoricos:
         
First 1
         
Load
              '$(file)'                                
as NombreArchivo,   
              
right(FileBaseName(),8)                  as Fecha_NombreArchivo
          
From $(file);
next file;

//--------------------------------------------------------------------------------
// PASO 2: Ordena de mayor a menor y elige los 3 archivos con mayor fecha
Ultimos_3_Dias:
first 3
NoConcatenate Load Distinct * Resident Hitoricos
Order By Fecha_NombreArchivo desc;
DROP Table Hitoricos;

//--------------------------------------------------------------------------------
// PASO 3: Carga qvd de los ultimos 3 dias
FOR i=0 to NoOfRows('Ultimos_3_Dias')-1
          
LET vUltimoArchivo = PEEK('NombreArchivo' , i, 'Ultimos_3_Dias');
                Ventas_Ultimos_3_Dias:
               
LOAD Distinct   *
               
FROM $(vUltimoArchivo) (qvd);
next;
DROP Table Ultimos_3_Dias;


4 de julio de 2014

Sobrescribir QVDs por QVDs sin datos


El siguiente script sustituye todos los QVDs de la carpeta TEMPORAL por QVDs con el mismo nombre, pero sin datos

for Each archivo in FileList('..\QVD\TEMPORAL\*.qvd')     
           TablaTemporal: 
LOAD 0 as CampoSinDato AutoGenerate 0;     
           
STORE TablaTemporal into $(archivo);
           
DROP Table TablaTemporal;      
 
NEXT 



28 de mayo de 2014

Extraer todas las tablas de Access

El siguiente scrip lee todas las tablas de la base Access  C:\Neptuno.mdb y guarda los qvd en la carpeta C:\QVD

ODBC CONNECT TO [MS Access Database;DBQ=C:\Neptuno.mdb]; 

Tablas:
LOAD*; SQLTABLES;
Lista: 
LOAD TABLE_NAME resident  Tablas where TABLE_TYPE='TABLE'; 
 
for i = 0 to NoOfRows('Lista') - 1 
   LET nombretabla=Peek('TABLE_NAME',$(i),'Lista'); 
   '$(nombretabla)':
SQL SELECT * FROM [$(nombretabla)];
   STORE '$(nombretabla)' into C:\QVD\$(nombretabla).qvd;
   DROP Table  '$(nombretabla)';
next 


NOTA: Para SQL ver referencia Nro.2

La base Neptuno.mdb de ejemplo puede descargarse aquí.

Referencia: 

7 de enero de 2014

Borrar todas las tablas de un QVW

El siguiente script borra todas las tablas previamente cargadas

LET Cantidad_Tablas = NoOfTables();
do while Cantidad_Tablas > 0
    
LET Nombre_Tabla = TableName(0);
    
DROP Table $(Nombre_Tabla);
    
LET Cantidad_Tablas = NoOfTables();
LOOP; 


NOTA
Para guardar todas las tablas de un qvw en formato qvd o txt, ver nota publicada AQUI





6 de enero de 2014

Extraer todas las tablas de un QVW

El siguiente script carga el qvw Modelo_de_Datos.qvw usando la funcion Binary, y luego guarda un qvd por cada tabla que encuentre:

Binary Modelo_de_Datos.qvw;

for i = 0 to NoOfTables()-1
     LET Nombre_Tabla = TableName(i);
    
Store $(Nombre_Tabla) into $(Nombre_Tabla).qvd (qvd);
next;


NOTA:
La funcion Binary Modelo_de_Datos.qvw debe ser la primera linea de script, sino da error.
Para guardar en txt, solo cambiar la extensión .qvd  por .txt.

Para borrar todas las tablas de un qvw, ver nota publicada AQUI





29 de diciembre de 2013

Cargar txt con Longitud Fija

Si se tiene un archivo Texto.txt que contiene el siguiente texto:
inicio del campo 1 comienzo del campo 2 texto restante


Para cargarlo en formato Tabla se puede usar el siguiente script:
LOAD
@1:18   as Campo1,
@19:39 as Campo2,
@40:n   as Otros
FROM Texto.txt  (fix, codepage is 1252);


Esto creará la tabla:


El scrip hace lo siguiente:
@1:18  indica que el campo comprende desde la posición 1 hasta la 18
@19:39 indica que el campo comprende desde la posición 19 hasta la 39
@40:n  indica que el campo comprende desde la posición 40 hasta la última posición

NOTA: Este Scrip puede ser generado automáticamente por el Asistente de Archivo al elegir “Longitud Fija” en Tipos de Archivos.

22 de diciembre de 2013

Guardar QVD diferente en cada ejecución

El siguiente script guarda un qvd diferente en cada ejecución realizada, con la fecha y hora en el nombre del qvd

LET vActual=date( now() , 'YYYYMMDD_hhmmss');

Fact_Ventas:
LOAD*INLINE [Sucursal, Ventas
Norte, 70
Sur, 20
Este, 65
Oeste, 30];

STORE Fact_Ventas into Fact_Ventas_$(vActual).qvd;