Apache Superset 树形图无法正确显示层次结构

问题描述 投票:0回答:2

我正在尝试在 Apache Superset 的树形图中呈现层次结构查询。 由于某种原因,它总是将其显示为单个点或直线。 我最初尝试使用它来呈现 PostgreSQL 备份的 pgBackRest 信息的结构,但是当这不起作用时,我尝试对员工和经理进行简单的层次结构查询,但效果不佳。 如果有人使用过树形图,请提供帮助。 我的 Apache Superset 版本是 1.3.2 附件是我尝试使其工作的查询。

with recursive cte as (
select 1 as level, ds.name, ds.backup_label, ds.backup_prior from (
select data->'name' as name, 
       (jsonb_array_elements(data->'backup')->>'label')::text as backup_label,
       (jsonb_array_elements(data->'backup')->>'prior')::text as backup_prior
from jsonb_array_elements(v2.pgbackrest_info()) as data
) as ds
where ds.backup_prior is null
union all
select c.level + 1 as level, ds2.name, ds2.backup_label, ds2.backup_prior from (
select data->'name' as name, 
       (jsonb_array_elements(data->'backup')->>'label')::text as backup_label,
       (jsonb_array_elements(data->'backup')->>'prior')::text as backup_prior
from jsonb_array_elements(v2.pgbackrest_info()) as data
) as ds2 join cte c on c.backup_label = ds2.backup_prior)
select * from cte;

员工查询enter image description here

SELECT id, name, manager_id, 1 as depth FROM employees
         WHERE id = 2
  UNION
  SELECT e.id, e.name, e.manager_id, t.depth + 1
  FROM employees as e
  JOIN tree t
  ON t.id = e.manager_id
  )
  SELECT id, name, manager_id, depth FROM tree;
apache-superset treechart
2个回答
0
投票

以防万一这有帮助,您可以查看这个特定示例并将其适应您自己的数据。

首先,我们需要创建一个图表。我已在 SQL Lab 上运行此查询并从中创建了一个图表:

select 'Terror' as genre, 'IT' as movie
union
select 'Terror' as genre, 'The Shining' as movie
union
select 'Action' as genre, 'Terminator 2' as movie
union
select 'Comedy' as genre, 'Hot Fuzz' as movie
union
select 'Comedy' as genre, 'Bad Santa' as movie
union 
select 'Movies' as genre, 'Terror' as movie
union 
select 'Movies' as genre, 'Comedy' as movie
union 
select 'Movies' as genre, 'Action' as movie
union 
select '' as genre, 'Movies' as movie

然后像这样配置该图表: enter image description here

如您所见,我没有使用列名,因为我放在一起的列名已经是字符串,并且我正在为应作为根出现的条目设置根 id 值。


0
投票

我也有同样的问题。显然,树形图期望列类型为

varchar

因此,您可以通过将节点和父列转换为

varchar
类型来更改查询,并且它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.