首页 > 解决方案 > 将数据连接到超集

问题描述

有两张表,一张每天收集事实,另一张每月收集具有相同属性集(例如,地区、城市、技术)的事实。我需要计算超集中的公式

SUM(t1.count_exp) / SUM(t2.count_base)

每月按地区、按城市、按地区+城市+技术计算时,将正确显示。在其他bi系统中,先执行group by,然后执行join,计算上面的公式,得到想要的结果。如何在超集中获得类似的结果?

标签: apache-supersetsuperset

解决方案


假设两个表都在同一个数据库中,那么您可以编写自己的查询来连接“SQL Lab”中的两个表,然后使用那里提供的“探索”选项可视化查询结果。

在 SQL Lab 中单击“探索”后,Superset 将根据 SQL 查询的结果在 Superset 内创建一个虚拟数据集(表)。从可视化中应用于此虚拟表的任何过滤器/分组依据/限制都将查询此查询。

https://superset.apache.org/docs/frequently-asked-questions

视图是一个简单的逻辑层,将任意 SQL 查询抽象为虚拟表。这可以让您连接和联合多个表,并使用任意 SQL 表达式应用一些转换。限制是您的数据库性能,因为 Superset 将有效地在您的查询(视图)之上运行查询。一个好的做法可能是将您的主大表仅连接到一个或多个小表,并尽可能避免使用 GROUP BY,因为 Superset 将执行其自己的 GROUP BY 并且执行两次可能会降低性能。


推荐阅读