Claves sintéticas

Cuando dos o más tablas de datos tienen dos o más campos en común, esto sugiere una relación de claves compuestas. Qlik Sense manipula esto creando claves sintéticas automáticamente. Dichas claves son campos anónimos que representan todas las combinaciones posibles de la clave compuesta.

Si recibe una advertencia sobre las claves sintéticas cuando esté cargando datos, es recomendable revisar la estructura de datos en el visor del modelo de datos. Pregúntese a sí mismo si el modelo de datos es correcto o no. A veces lo es pero, a menudo, la clave sintética se encuentra ahí debido a un error en el script.

La presencia de varias claves sintéticas suelen ser un síntoma de un modelo de datos incorrecto, pero no siempre. Sin embargo, un signo inequívoco de que el modelo de datos es incorrecto es la presencia de claves sintéticas basadas en otras claves sintéticas.

Advertencia: Cuando el número de claves sintéticas aumenta, en función del volumen de datos, la estructura de la tabla y otros factores, Qlik Sense puede o no gestionarlas con acierto, y podría terminar requiriendo demasiado tiempo y/o memoria. En tal caso, será necesario recrear el script eliminando todas las claves sintéticas.
Tres tablas asociadas con la clave sintética $Syn 1.

Three tables associated with a synthetic key.

Gestionar claves sintéticas

Si necesita evitar las claves sintéticas, hay una serie de métodos para solucionar esto en el script de carga de datos:

  • Compruebe que solo se usan como claves los campos que vinculan lógicamente dos tablas.

    • Los campos como “Comentario”, “Observación” y “Descripción” pueden estar presentes en varias tablas sin que exista relación alguna entre ellos y, por tanto, no se deben usar como claves.
    • Los campos como “Fecha”, “Compañía” y “Nombre” pueden estar presentes en varias tablas y tener valores idénticos, pero proporcionar distinta información (Fecha del pedido/Fecha de envío, Compañía del cliente/Compañía del proveedor). En este tipo de casos no se deben usar como claves.
  • Asegúrese de que no se usan campos redundantes, es decir, asegúrese de que solo se conectan los campos necesarios. Por ejemplo, si va a usar una fecha como clave, asegúrese de no cargar el “año”, el “mes” o el “día del mes” de la misma fecha de más de una tabla interna.

  • Si fuera necesario, cree sus propias claves no compuestas; esto se suele hacer mediante la concatenación de cadenas dentro de una función de script AutoNumber.