left join on多表关联_Superset为什么不支持多表关联

7fbcd804d9863d2268965ab6b7ccff36.png

先说我的猜测:

从代码上说,Superset是可以支持多表关联的(仅限于同一数据库之内),甚至在SQL Editor中可以绕过不支持多变关联的限制,自己写SQL语句,再保存成图表(slice)。

在界面上不支持多表关联,可能更多是从操作逻辑的角度考虑。也就是说,该如何设置多表关联呢?如果不引入《The Data Warehouse Toolkit》中介绍的“事实表+维度表”模型,则多表关联的意义过于宽泛,用户可以任意设定两表关联的条件,这样的话,界面该如何呈现才能符合用户的预期。如果引入“事实表+维度表”模型,则Superset的灵活性就会受到限制。

代码:

Superset执行SQL查询的代码在superset/connectors目录下,按文件名推测,应该是该目录下的models.py文件。该文件定义了SqlaTable类,该类继承了flask_appbuilder的Model和superset自己的basemodel的DataSource。

在前端执行Run Query操作,会调用到superset/viz.py中的get_df函数,该函数内部,会调用self.datasource.query函数,通过动态绑定,这个query函数实际执行的是SqlaTable的query函数,该函数的逻辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值