Перейти к основному содержимому

Циклические ссылки

НА ЭТОЙ СТРАНИЦЕ

Циклические ссылки

Если циклические ссылки (циклы) присутствуют в структуре данных, таблицы будут связаны таким образом, чтобы существовало более одного пути связей между двумя полями.

  1. Откройте редактор загрузки данных в приложении Scripting Tutorial.
  2. Щелкните Create new , чтобы добавить новый раздел скрипта.
  3. Название раздела Region.
  4. Под элементом DataFiles в меню справа щелкните Выбрать данные.

  5. Загрузите, а затем выберите Region.txt. Откроется окно предварительного просмотра данных.
  6. Выберите все поля и убедитесь, что выбран параметр Встроенные имена полей в разделе Имена полей, чтобы включить имена полей таблицы при загрузке данных.
  7. Щелкните команду Вставить скрипт.
  8. Щелкните команду Загрузить данные.
  9. В этот раз, видимо, что-то пошло не так с загрузкой ваших данных. Циклическая ссылка создана. В окне Выполнение загрузки данных появится сообщение об ошибке, указывающее, что во время загрузки была найдена циклическая ссылка. Однако загрузка завершена, а приложение сохранено.

  10. Откройте раздел Просмотр модели данных.
  11. Порядок таблиц можно изменить перетаскиванием так, чтобы соединения таблиц можно было легко проследить.

    Просмотр модели данных, отображающий циклическую ссылку
    Data model viewer showing circular reference.

    Красные пунктирные линии указывают на то, что создана циклическая ссылка. Этого следует избегать, поскольку это может привести к неоднозначности интерпретации данных.

Исправление циклических ссылок

Чтобы понять, что привело к созданию циклической ссылки, давайте рассмотрим таблицы в разделе Просмотр модели данных более подробно.

Если посмотреть на таблицу Table1 и таблицу Table2 на снимке экрана выше, то можно увидеть, что у них есть общее поле Date. Также видно, что у таблиц Table1 и Region есть общее поле SalesKey. Наконец, у таблиц Table2 и Region есть общее поле Week. Это значит, что цикл, циклическая ссылка были созданы. Поскольку в дальнейшем при анализе данных могут возникнуть проблемы, давайте удалим эту ссылку.

Самый простой способ решения — переименовать или удалить одно из полей. В нашем случае загружены некоторые данные, которые не нужны в этом приложении, их можно удалить.

  1. Откройте Редактор загрузки данных.
  2. Щелкните раздел Region и удалите следующие две строки в операторе LOAD:
  3. "Week",

    SalesKey

  4. Не забудьте также удалить запятую после элемента "Region Code".
  5. Код скрипта должен выглядеть теперь так:

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

  6. Щелкните команду Загрузить данные.
  7. Откройте раздел Просмотр модели данных.
  8. Нежелательные ссылки на раздел Region удалены.

    Просмотр модели данных, отображающий, что циклическая ссылка удалена
    Data model viewer showing that circular reference has been removed.