Mejores prácticas de modelado de datos
Esta sección describe las distintas maneras de cargar datos en el documento QlikView, dependiendo de cómo estén estructurados los datos y del modelo de datos que queramos.
En general, la forma de cargar datos en el documento se puede explicar como un proceso de extracción, transformación y carga:
-
Extracción
El primer paso consiste en extraer datos de la fuente de origen de los datos. En el script, utilizamos las sentencias SELECT o LOAD para definir dicha extracción. Las diferencias entre estas sentencias son las siguientes:
- SELECT sirve para seleccionar datos desde una fuente de datos ODBC o proveedor OLE DB. La sentencia SELECT SQL la evalúa el proveedor de datos y no QlikView.
- La sentencia LOAD carga datos desde un archivo, desde datos definidos en el script, desde una tabla previamente cargada, desde una página web, desde el resultado de una sentencia SELECT posterior, o bien generando los datos automáticamente.
-
Transformación
La etapa de transformación consiste en la manipulación de los datos mediante las funciones de script y las reglas para derivar la estructura deseada del modelo de datos. Las operaciones habituales son:
- Calcular nuevos valores
- Traducir los valores codificados
- Renombrar campos
- Unir tablas
- Agregar los valores
- Pivotar
- Validar los datos
-
Load
En el último paso se ejecuta el script para cargar el modelo de datos que hayamos definido en el documento.
El objetivo debería ser crear un modelo de datos que permita una manipulación eficaz de los datos en QlikView. Por lo general esto significa que deberíamos buscar un esquema de estrella razonablemente normalizado o un esquema en copo de nieve sin referencias circulares, esto es, un modelo en el que cada entidad se almacena en una tabla aparte. En otras palabras, un modelo de datos típico presentaría el siguiente aspecto:
- Una tabla de hechos central que contiene claves a las dimensiones y los números utilizados para calcular medidas (como número de unidades, cifras de ventas y cifras de presupuestos).
- Unas tablas secundarias alrededor conteniendo las dimensiones con todos sus atributos (como productos, clientes, categorías, calendario y proveedores).
Cada tabla en el modelo de datos normalmente corresponde o bien a una sentencia SELECT o LOAD. Las diferencias entre estas sentencias son las siguientes:
- SELECT sirve para seleccionar datos desde una fuente de datos ODBC o proveedor OLE DB. La sentencia SELECT SQL la evalúa el proveedor de datos y no QlikView.
- La sentencia LOAD carga datos desde un archivo, desde datos definidos en el script, desde una tabla previamente cargada, desde una página web, desde el resultado de una sentencia SELECT posterior, o bien generando los datos automáticamente.