繁体   English   中英

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

[英]Apache Superset tree chart doesn't display hierarchy correctly

我正在尝试在 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;

员工查询在此处输入图像描述

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;

以防万一这有帮助,您可以 go 通过这个特定示例并使其适应您自己的数据。

首先,我们需要创建一个图表。 我在 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

然后像这样配置该图表: 在此处输入图像描述

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM