apache-superset - 将数据连接到超集
问题描述
有两张表,一张每天收集事实,另一张每月收集具有相同属性集(例如,地区、城市、技术)的事实。我需要计算超集中的公式
SUM(t1.count_exp) / SUM(t2.count_base)
每月按地区、按城市、按地区+城市+技术计算时,将正确显示。在其他bi系统中,先执行group by,然后执行join,计算上面的公式,得到想要的结果。如何在超集中获得类似的结果?
解决方案
假设两个表都在同一个数据库中,那么您可以编写自己的查询来连接“SQL Lab”中的两个表,然后使用那里提供的“探索”选项可视化查询结果。
在 SQL Lab 中单击“探索”后,Superset 将根据 SQL 查询的结果在 Superset 内创建一个虚拟数据集(表)。从可视化中应用于此虚拟表的任何过滤器/分组依据/限制都将查询此查询。
https://superset.apache.org/docs/frequently-asked-questions
视图是一个简单的逻辑层,将任意 SQL 查询抽象为虚拟表。这可以让您连接和联合多个表,并使用任意 SQL 表达式应用一些转换。限制是您的数据库性能,因为 Superset 将有效地在您的查询(视图)之上运行查询。一个好的做法可能是将您的主大表仅连接到一个或多个小表,并尽可能避免使用 GROUP BY,因为 Superset 将执行其自己的 GROUP BY 并且执行两次可能会降低性能。
推荐阅读
- android - 某类的意思
- xcode - Xcode 10、sourcery 和 swiftlint 构建阶段顺序
- php - 如何修复 Laravel 5.7 中的“类签名不存在”错误?
- c# - 按钮单击无法使 H1 可见 (asp.net)
- java - 原因:org.usb4java.LoaderException:在类路径/org/usb4java/windows-x86_64/libusb-1.0.dll 中找不到本机库
- python - 如何用super构造类实例?
- arrays - Ruby,在一行中打印所有哈希“子字段”
- javascript - Chrome 中与 Windows 规模相关的拖放问题 (125%)
- matlab - 如何在 MATLAB 中稳健地估计具有趋势、少量水平常数步长和噪声的信号的上下包络线
- qt - 如何制作从 QML 获取可变数量参数的 Q_INVOKABLE 方法