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

HierarchyBelongsTo

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

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

Синтаксис:  

HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)

 

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

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

Можно создать дополнительные поля, содержащие разницу глубины узлов.

Аргументы:  

Аргументы
Аргумент Описание
NodeID Имя поля, содержащего идентификатор узла. Это поле должно существовать во входной таблице.
ParentID Имя поля, содержащего идентификатор родительского узла. Это поле должно существовать во входной таблице.
NodeName Имя поля, содержащего имя узла. Это поле должно существовать во входной таблице.
AncestorID Строка имени нового поля идентификатора родительского узла, которое содержит идентификатор родительского узла.
AncestorName Строка имени нового поля родительского узла, которое содержит имя родительского узла.
DepthDiff Строка имени нового поля DepthDiff, содержащего глубину узла в иерархии по отношению к родительскому узлу. Дополнительный параметр. При его отсутствии это поле не создается.

Пример:  

HierarchyBelongsTo (NodeID, AncestorID, NodeName, AncestorID, AncestorName, DepthDiff) LOAD * inline [

NodeID, AncestorID, NodeName

1, 4, London

2, 3, Munich

3, 5, Germany

4, 5, UK

5, , Europe

];

 

Results
NodeID AncestorIDNodeNameAncestorNameDepthDiff
11LondonLondon0
14LondonUK1
15LondonEurope2
22MunichMunich0
23MunichGermany1
25MunichEurope2
33GermanyGermany0
35GermanyEurope1
44UKUK0
45UKEurope1
55EuropeEurope0

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

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