1

因此,我设法获得了两个节点表,其中一个具有节点的“树”或结构,而在另一个表中,我具有该表的最后一个节点(叶节点)。

我想在第 1 列中创建一个完整的表,即 Distinct Leaf 节点值,在第 2 列中,有一个一对一的,这个节点可以拥有的所有父节点。 

所以想象一下我有这样的节点结构:

在此处输入图像描述

 如您所见,叶子节点是 CM1011、CM1012、CM1021 和 CM1022。所以我想要一张这样的桌子:

在此处输入图像描述

如您所见,叶子节点都与其父节点连接。这些是我的表:

树节点(结构):

在此处输入图像描述

叶节点:

在此处输入图像描述

你能帮我解决这个问题吗?

无论如何谢谢。

4

1 回答 1

0

执行此操作所需的功能是 HierarchyBelongsTo https://help.qlik.com/en-US/qlikview/May2021/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptPrefixes/HierarchyBelongsTo.htm

我们需要指定节点和祖先列,它还需要名称值,在您的情况下可能不需要。您可以使用数据集中的一些其他值,或者例如一些虚拟值 - 这里是行号。此外,它还会返回带有 node=node 的行,因此我们可以通过拒绝等于 0 的 DepthDiff 来过滤它。

[nodes]:
HierarchyBelongsTo 
    (node, sub_node, row, sub_node, AncestorName, DepthDiff ) 
LOAD 
    *,
    RowNo() as row
Inline
[node, sub_node
CM1, CM1011
CM1011, CM10111
CM10111, CM101111];

    [nodes_cleared]:
LOAD
    node, 
    sub_node
Resident
     [nodes]
Where
    DepthDiff > 0;
         
    DROP Table [nodes];

这是带有示例数据的结果表:

在此处输入图像描述

于 2021-12-28T12:38:09.937 回答