Saltar al contenido principal

Referencias circulares

EN ESTA PÁGINA

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.

  1. Abra el Editor de carga de datos en la app Scripting Tutorial.
  2. Haga clic en Create new para añadir una nueva sección de script.
  3. Denomine a la sección: Region.
  4. En DataFiles en el menú a la derecha, haga clic en Seleccionar datos.

  5. Cargue y después seleccione Region.txt. Se abre una ventana de vista previa de datos.
  6. Seleccione todos los campos y asegúrese de que Nombres de campo incluidos está seleccionado en Nombres de campo para que se incluyan los nombres de los campos de tabla cuando cargue los datos.
  7. Haga clic en Insertar script.
  8. Haga clic en Cargar datos.
  9. Esta vez parece que algo ha salido mal al cargar los datos. Se ha creado una referencia circular. La ventana Progreso de carga de datos mostrará un mensaje de error, indicando que se ha encontrado una referencia circular durante el proceso de carga. Sin embargo, la carga está completa y la app se guarda.

  10. Abra el Visor del modelo de datos.
  11. Puede arrastrar las tablas y reorganizarlas de modo que las conexiones entre las distintas tablas sean más fáciles de apreciar.

    El visor del modelo de datos mostrando la referencia circular
    Data model viewer showing circular reference.

    Las líneas discontinuas de color rojo indican que se ha creado una referencia circular. Esto es algo que conviene evitar, porque puede provocar ambigüedades en la interpretación de los datos.

Cómo resolver las referencias circulares

Para poder comprender qué ha provocado las referencias circulares, fijémonos detenidamente en las tablas del Visor del modelo de datos.

Si echa un vistazo a Table1 y Table2 en la captura de pantalla anterior, verá que tienen el campo Date en común. También puede ver que Table1 y Region tienen el campo SalesKey en común. Por último, observe que Table2 y Region tienen el campo Week en común. Esto significa que se ha creado un bucle, una referencia circular. Dado que esto puede dar problemas a la hora de analizar los datos posteriormente, es mejor eliminarla.

La forma más sencilla de solucionar este problema es cambiar el nombre o eliminar uno de los campos. En nuestro ejemplo, como hemos cargado algunos datos que no necesitamos para la app, vamos a eliminarlo.

  1. Abra el Editor de carga de datos.
  2. Haga clic en la sección Region y elimine las dos filas siguientes en la sentencia LOAD:
  3. "Week",

    SalesKey

  4. Asegúrese de eliminar también la coma que aparece detrás de "Region Code".
  5. Su script ahora debería presentar el siguiente aspecto:

    LOAD Region, "Region Code" FROM [lib://DataFiles/Region.txt] (txt, codepage is 28591, embedded labels, delimiter is '\t', msq);

  6. Haga clic en Cargar datos.
  7. Abra el Visor del modelo de datos.
  8. Se han eliminado las referencias no deseadas a Region.

    Visor del modelo de datos que muestra que se ha eliminado la referencia circular
    Data model viewer showing that circular reference has been removed.