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:

  1. 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.
  2. 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
  3. 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).
Nota: En muchos casos es posible resolver una tarea, por ejemplo agregaciones, bien construyendo un modelo de datos más rico o bien realizando las agregaciones en las expresiones del gráfico. Como regla general, experimentará un mejor rendimiento si mantiene las funciones de transformación de datos en el script de carga.
Sugerencia: Es una buena práctica escribir primero un boceto del modelo de datos en papel. Esto le ayudará a estructurar qué datos extraer y qué transformaciones efectuar.

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.