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

Связи между логическими таблицами

В базе данных может содержаться несколько таблиц. Каждая таблица может быть рассмотрена как список элементов, при этом каждая запись в списке представляет собой экземпляр объекта определенного типа.

Пример:  

Если две таблицы являются списками различных элементов, например одна из таблиц является списком клиентов, а другая — списком счетов, и обе таблицы имеют общее поле, например номер клиента, это обычно означает, что между двумя таблицами существует взаимосвязь. В стандартных инструментах запросов SQL две таблицы практически всегда должны быть объединены.

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

Поэтому связь практически аналогична объединению. Единственным различием между ними является то, что объединение выполняется при выполнении скрипта, при этом в результате объединения обычно создается логическая таблица. Связь создается после создания логической таблицы: связи всегда создаются между логическими таблицами.

Четыре таблицы: список стран, список клиентов, список транзакций и список принадлежностей, которые ассоциированы друг с другом посредством полей Country и CustomerID.

Four logical tables associated.

Сравнение связи Qlik Sense с естественным внешним объединением SQL

Связь Qlik Sense напоминает естественное внешнее объединение SQL. Однако связь имеет более общие свойства: внешнее объединение в SQL обычно является односторонней проекцией одной таблицы на другой. Результатом связи всегда является полное (двунаправленное) стандартное внешнее объединение.

Информация о частотности в полях для связывания

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

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

Ограничения для связывания полей

  1. В фильтре, в котором отображается поле, не может отображаться частота.
  2. Для большинства статистических сущностей блоки статистики недоступны.
  3. В диаграммах невозможно создавать выражения, содержащие функции, зависимые от данных частоты (такие как функции Sum, Count и значение Average) для поля, если модификатор Distinct неактивен. После каждой повторной загрузки все выражения диаграммы в программе Qlik Sense будут исследованы на предмет наличия неоднозначных случаев, возникших в результате изменений структур данных. Если будут найдены неоднозначные выражения, на экране отобразится предупреждение и это выражение будет деактивировано. Пока проблема не будет устранена, это выражение невозможно снова активировать. Если активирован файл журнала, все неоднозначные выражения будут включены в файл журнала.

Обходной прием

Существует простой способ преодоления этих ограничений. Еще раз загрузите поле из таблицы, в которой должно быть выполнено вычисление частот, и сохраните его с новым именем. Затем новое поле можно использовать для фильтра частот, блока статистики или для вычислений в диаграммах.

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

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