Cómo eliminar claves sintéticas en Qlikview

Contenidos

En uno de mis artículos anteriores, hablamos sobre claves sintéticas (claves sintéticas en Qlikview – Simplified). Discutimos por qué se generan las claves sintéticas y llegamos a la conclusión de que si tenemos varias claves sintéticas en nuestro modelo de datos, podría ser el resultado de un modelo de datos incorrecto y generar resultados inesperados. También vimos algunas formas de eliminar claves sintéticas y mejorar nuestro modelo de datos.

Este artículo comienza donde terminamos nuestro último artículo. Discutiremos dos técnicas más para eliminar claves sintéticas y optimizar nuestro modelo de datos en nuestra aplicación QlikView. Estas dos técnicas son: –

  1. Concatenación
  2. Tabla de enlaces / claves

Entendamos estas dos técnicas en detalle usando ejemplos:

Analice la tendencia de ventas a lo largo de los años con conjuntos de datos de transacciones interanuales

Una empresa orientada a las ventas tiene conjuntos de datos de transacciones año tras año (un conjunto de datos para cada año) con uno o dos campos diferentes (debido a cambios o defectos del sistema base) pero el resto de los campos son similares. La empresa desea mostrar las tendencias de ventas interanuales utilizando estos conjuntos de datos.

En este escenario, carguemos todos los conjuntos de datos interanuales en QlikView. Como era de esperar, QlikView crea claves sintéticas para unir estas tablas, ya que estas tablas tienen múltiples campos comunes. Puede ver el modelo de datos con clave sintética a continuación. Ahora, para eliminar la clave sintética, no podemos renombrar / eliminar todos estos campos porque son importantes y están relacionados entre sí. Aquí, necesitamos todos los campos en una tabla para mostrar las tendencias interanuales, la estacionalidad mensual durante el año y muchas más cosas. Como sabe, Qlikview concatena / combina automáticamente tablas si tienen la misma granularidad y columnas. Sin embargo, en nuestro escenario, algunas de las columnas son diferentes. Aquí necesitamos forzar la concatenación usando CONCATENAR y combine los datos en una sola tabla (Ver Snpashot a la derecha).

qlik_view_concatenate1-8250113

A continuación, también puede ver que en la tabla SALES, tanto Employee_Type como Branch_Type aparecen con sus valores disponibles y el número total de registros es N1 (número de registros en 2010) + N2 (número de registros en 2011).

qlik_view_concatenate_2-1367217

De manera similar, si la granularidad y las columnas en las tablas son las mismas, entonces podemos usar Concatenar que fusionará las tablas en una y la tabla resultante tendrá la suma de las filas de las dos tablas.

Analice el desempeño de ventas del empleado en comparación con sus objetivos (y analice el desempeño en varias dimensiones como producto, año de incorporación, región):

Para realizar esto contamos con cinco tablas, en las cuales dos son tabla de hechos y otras son de dimensión (a continuación se muestra la estructura de la tabla).

qlikview_link_table-7015942

Arriba puede ver que las tablas, «Ventas» y «Plan» tienen tres campos comunes y las tablas de Dimensión también están asociadas con ambas tablas de hechos.

Ahora, si cargamos todas estas tablas directamente en QlikView, resultará en un modelo de datos con claves sintéticas (captura de pantalla a continuación).

qlikview_link_table_synthetic_keys-2423710

Dado que las tablas de hechos no tienen columnas similares, no podemos optar por la concatenación. Al mismo tiempo, también los necesitamos para nuestro análisis. Ahora, para eliminar la clave sintética en este modelo de datos, deberíamos usar ENLACE mesa. Vincula dos o más tablas de hechos quitando todos los campos comunes de las tablas originales y los coloca en una nueva tabla (llamada tabla de vínculos). La nueva tabla de vínculos contiene todas las combinaciones posibles de valores para el conjunto de campos a través de una clave única y está asociado con las tablas originales.

En palabras simples, podemos decir que la tabla de enlaces reemplaza a la tabla de claves sintéticas y tiene todas las combinaciones de los campos clave que son comunes para las tablas de hechos. También deberíamos crear una nueva clave compuesta para conectar las tres tablas (tablas de dos hechos y tabla de vínculos) y eliminar los campos comunes de las tablas de hechos.

Reglas para definir la tabla de enlaces: –

  1. Cree una clave basada en campos comunes de tablas de hechos y rompa todas las demás asociaciones mediante comentarios o cambio de nombre.
  2. Asegúrese de que todas las combinaciones que existen en ambas tablas de hechos estén disponibles en la tabla de vínculos creada; de lo contrario, puede causar la pérdida de algunos registros.
  3. La tabla de vínculos debe tener registros distintos.

Ahora veamos los métodos para desarrollar el modelo de datos usando Link Table: –

Paso 1 Cargue la tabla de hechos, clave de formulario para todos los campos comunes y comente todos los campos comunes.qlikview_link_table_scripts1-4950189

Paso 2 Cree la tabla de vínculos cargando los valores distintos de las tablas de hechos

qlikview_link_table_scripts2-7435361

Paso 3 Cargue otras tablas de dimensiones.

qlikview_link_table_scripts3-2512155

Paso 4 Vuelva a cargarlo y tendríamos el siguiente modelo de datos sin una clave sintética.

qlikview_link_table_model-3702933

Arriba, puede ver un modelo de datos con tabla de enlaces y tiene todos los campos comunes de tablas de hechos.

Tabla de enlaces Vs concatenar

En los ejemplos anteriores, observamos ambos escenarios, donde deberíamos ir con la tabla CONCATENATION o LINK. Ambos métodos tienen sus propias ventajas. Veamos algunos de estos:

  1. Si la granularidad y los campos en las tablas de hechos son los mismos, deberíamos optar por Concatenar, que fusionará las tablas en una. Cuando estos sean diferentes y estén unidos a diferentes dimensiones, usaremos la mesa LINK.
  2. Con Link Tables puede mantener un modelo de datos más comprensible. Por otro lado, Concatenar es un enfoque simplista con un rendimiento excelente para manejar un gran volumen de datos.
  3. La elección también depende de qué tipo de análisis queremos realizar y qué modelo será suficiente para nuestro propósito.

Nota final: –

Como se mencionó anteriormente, varias claves sintéticas generalmente reflejan un modelo de datos incorrecto. Habíamos analizado algunos métodos para eliminar claves sintéticas en el pasado. En este artículo, analizamos particularmente dos métodos: tabla LINK y concatenación. Ambos métodos tienen sus propias ventajas y aplicaciones. La elección del método debe depender de los requisitos comerciales y del tipo de análisis requerido de los datos.

¿Te ha resultado útil esta serie? Hemos simplificado un tema complejo: claves sintéticas y hemos intentado presentarlo de una manera simple y comprensible. Si necesita más ayuda sobre el modelo de datos y claves sintéticas, no dude en hacer sus preguntas a través de los comentarios a continuación.

Si le gusta lo que acaba de leer y desea continuar su aprendizaje analítico, suscríbete a nuestros correos electrónicos, Síguenos en Twitter o como nuestro Facebook página.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.