Entender las referencias circulares

Si existen referencias circulares ("bucles") en una estructura de datos, las tablas se asociarán de tal forma que haya más de una ruta de asociaciones entre dos campos.

Por lo general debería evitarse este tipo de estructura de datos en la medida de lo posible, ya que puede llevar fácilmente a ambigüedades en la interpretación de los datos.

QlikView resuelve el problema de las referencias circulares interrumpiendo el bucle con una tabla parcialmente desconectada. Si QlikView encuentra estructuras circulares de datos durante la ejecución de un script de carga, aparecerá un diálogo de advertencia y una o varias tablas se definirán como desconectadas parcialmente. Normalmente, QlikView intenta desconectar la tabla más larga del bucle, ya que a menudo suele tratarse de una tabla de transacciones que, por regla general, es la que se debe desconectar. En el visor de tabla, las tablas parcialmente desconectadas se indican mediante líneas discontinuas de color rojo hacia otras tablas.

Ejemplo:  

Se cargan los datos procedentes de tres tablas con los siguientes contenidos:

  • Los nombres de unos equipos nacionales de fútbol
  • Los clubes de fútbol de algunas ciudades
  • Las ciudades de algunos países europeos
Vista de las tablas que contienen los datos fuente

Esta estructura de datos no resulta muy eficaz, puesto que el nombre de campo Team se utiliza para dos conceptos distintos: los equipos nacionales y los clubes locales. Con estos datos en las tablas la situación lógica que nos encontramos es imposible de analizar.

Cuando se cargan las tablas en QlikView, QlikView determina cuál de las conexiones de datos es la de menor importancia y desconecta esa tabla.

Abra el Visor de tabla para ver cómo interpreta QlikView la relevancia de las conexiones de datos:

La tabla con ciudades y los países a los que pertenecen ahora está parcialmente desconectada con respecto a la tabla de equipos nacionales de diferentes países y la tabla de clubes locales de distintas ciudades.