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

Синтетические ключи

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

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

Наличие множества синтетических ключей зачастую свидетельствует о неправильной модели данных. Тем не менее, верный признак неправильной модели данных — это наличие синтетических ключей на основе других синтетических ключей.

Примечание к предупреждениюЕсли число синтетических ключей возрастает в зависимости от объемов данных, структуры таблиц и других факторов, в программе Qlik Sense они могут или не могут быть полноценно обработаны, а также может потребоваться дополнительное количество времени и/или памяти. В таком случае необходимо разработать скрипт заново, удалив все синтетические ключи.

С синтетическим ключом $Syn 1 связаны три таблицы.

Three tables associated with a synthetic key.

Работа с синтетическими ключами

Если необходимо не допустить появления синтетических ключей, для этого существует несколько способов в скрипте загрузки данных:

  • Убедитесь, что в качестве ключей используются только поля, логически связывающие две таблицы.

    • Такие поля, как «Comment», «Remark» и «Description» могут находиться в нескольких таблицах без связи с чем-либо, и, таким образом, не должны использоваться как ключи.
    • Такие поля, как «Date», «Company» и «Name» могут находиться в нескольких таблицах и иметь одинаковые значения, но, тем не менее, разные роли (Дата заказа/Дата отправки, Компания клиента/Компания поставщика). В таких случаях они не должны использоваться как ключи.
  • Убедитесь, что не используются лишние поля, только необходимые. Например при использовании даты в качестве ключа необходимо убедиться, что поля «year», «month» или «day_of_month», относящиеся к одной дате, загружены не более чем из одной внутренней таблицы.

  • При необходимости формируйте собственные несоставные ключи. Обычно это выполняется путем объединения строк внутри функции скрипта AutoNumber.

СОПУТСТВУЮЩИЕ УЧЕБНЫЕ МАТЕРИАЛЫ:

Подробнее

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!