Синтетические ключи
Если две или несколько внутренних таблиц имеют два или несколько общих полей, то это предполагает взаимосвязь составного ключа. В программе QlikView эта операция выполняется с помощью создания синтетических ключей автоматически. Эти ключи представляют собой анонимные поля, включающие все возможные сочетания составного ключа.
Если во время загрузки данных получено предупреждение о синтетических ключах, рекомендуется просмотреть структуру данных в обозревателе таблиц. Необходимо убедиться, что в модели данных нет ошибки. Иногда это является причиной такого предупреждения, но в основном это связано с ошибкой в скрипте.
Наличие множества синтетических ключей зачастую свидетельствует о неправильной модели данных, но не обязательно. Тем не менее, верный признак неправильной модели данных — это наличие синтетических ключей на основе других синтетических ключей.
Работа с синтетическими ключами
Проблему с появлением синтетических ключей в скрипте загрузки можно решить несколькими способами:
-
Убедитесь, что в качестве ключей используются только поля, логически связывающие две таблицы.
- Такие поля, как «Comment», «Remark» и «Description» могут находиться в нескольких таблицах без связи с чем-либо, и, таким образом, не должны использоваться как ключи.
- Такие поля, как «Date», «Company» и «Name» могут находиться в нескольких таблицах и иметь одинаковые значения, но, тем не менее, разные роли (Дата заказа/Дата отправки, Компания клиента/Компания поставщика). В таких случаях они не должны использоваться как ключи.
-
Убедитесь, что не используются лишние поля, только необходимые. Например при использовании даты в качестве ключа необходимо убедиться, что поля «year», «month» или «day_of_month», относящиеся к одной дате, загружены не более чем из одной внутренней таблицы.
-
При необходимости формируйте собственные несоставные ключи. Обычно это выполняется путем объединения строк внутри функции скрипта AutoNumber.