8 de abril de 2014

Selector Desde Hasta con Campos

Para lograr filtros de fecha de tipo Desde Hasta usando Campos, y obtener un resultado como el siguiente:

















Puede usarse la técnica con los siguientes pasos:

1. Cargar la tabla de Ventas
2. Crear una tabla "Temporal" con todas las Fechas relacionadas, usando la tabla de Ventas
3. Crear una tabla "Desde" con todas las fechas Mayor o igual (>=) a cada fecha, usando la tabla Temporal 
4. Crear una tabla "Hasta" con todas las fechas Menor o igual (<=) a cada fecha, usando la tabla Temporal 
5. Borrar tabla "Temporal" creada previamente.

El modelo de datos quedaría así:











El scrip para crear el modelo es el siguiente:

//----------------------------------------------
//Paso 1
Ventas:
LOAD date(RowNo()+40908)  as Fecha,
RowNo()*(1+Rand())        as Venta
AutoGenerate (91);
//----------------------------------------------
//Paso 2
Temporal: LOAD Distinct Fecha Resident Ventas;
Join LOAD Fecha AS Fecha_tmp Resident Ventas;
//----------------------------------------------
//Paso 3
Desde: LOAD FechaFecha_tmp as Desde
Resident Temporal Where Fecha>=Fecha_tmp;
//----------------------------------------------
//Paso 4
Hasta: LOAD FechaFecha_tmp as Hasta
Resident Temporal Where Fecha<=Fecha_tmp;
//----------------------------------------------
//Paso 5
DROP Table Temporal; 



El qvw de ejemplo puede descargarse Aquí



NOTA:
Para obtener esta funcionalidad, pero con variables, ver nota publicada aquí

No hay comentarios: