superset如何使用参数控制

文章讲述了作者从熟悉Davinci转向使用较旧版本Superset0.37.2的经历。在Superset中,作者发现数据加载和模型构建过程与Davinci有所不同,特别是自定义SQL无法自动创建模型。文中提供了详细的SQL查询示例,并提到了动态SQL查询的实现,同时引用了相关的技术文档资源。
摘要由CSDN通过智能技术生成

此前用过国产开源的可视化平台Davinci,实际上对那个的制作流程比较适应,这次恰好有需要用superset,被迫重新了解下怎么使用。

当前用的superset版本有点老,0.37.2,新版本没去了解。

制作报表首先是数据加载,数据库链接都一样,但是数据集需要来自一个表后自动确认模型,如果采用自定义SQL则无法自动加在出模型,这一点当前版本的superset不太好用。

直接记录下现成的sql吧,以防以后还有的用到

-- Note: Unless you save your query, these tabs will NOT persist if you clear your cookies or change browsers.
select 
	a.*,
	b.device_name_project,
	b.device_name_level_2,
	concat(a.firmware_event_id,'(',ifnull(c.event_id_name_zh,''),')') as firmware_id_name_zh, 
	d.area,
	concat(a.firmware_event_key,'(',ifnull(e.event_param_key_name_zh,''),')') as firmware_event_key_name_zh
from
(
	select 
		*,
		{% if filter_values('firmware_event_key_name_zh')|length %}
		regexp_replace('{{ filter_values('firmware_event_key_name_zh')|replace("['",'')|replace("']",'') }}', '\\(.*','')
		{% else %}
		'' 
		{% endif %}
		as firmware_event_key,
		{% if filter_values('firmware_event_key_name_zh')|length %}
		get_json_string(firmware_event_params,regexp_replace("$.{{ filter_values('firmware_event_key_name_zh')|replace("['",'')|replace("']",'')|replace('(.*','') }}", '\\(.*','')) 
		{% else %}
		'' 
		{% endif %}
		as firmware_event_value
	from dw.dws_log_firmware_sum_di
	where p_day >= cast(date_add(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),-90) as string)
)a
left join 
(select devicesource,device_name_project,device_name_level_2 from hm_dim.dim_devicename)b
on a.device_source = b.devicesource
left join 
--事件ID名称维表
(select event_id, event_id_name_zh from dw.dim_log_event_id)c
on a.firmware_event_id = c.event_id
left join
-- 国家区域维表
(select country,area from hm_dim.dim_countrycodewitharea)d 
on a.active_country = d.country
left join
-- 事件key名称维表
(select event_param_key,event_param_key_name_zh from dw.dim_log_key)e
on a.firmware_event_key = e.event_param_key

参考资料:
Superset实现动态SQL查询 - 数据行者 - 博客园 (cnblogs.com)
Template Designer Documentation — Jinja Documentation (2.11.x) (palletsprojects.com)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值