如何实现 superset 实现SQL动态查询
发布时间:2024-05-31 09:01:14 所属栏目:MsSql 来源:DaWei
导读: 这篇文章给大家分享的是用Superset怎样做SQL动态查询的。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起
|
这篇文章给大家分享的是用Superset怎样做SQL动态查询的。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。 使用自定义参数方式实现 superset 实现SQL动态查询 1、启用参数:config.py 设置"ENABLE_TEMPLATE_PROCESSING": True 2、当前superset v1.2版本支持的参数包括: {{ current_username() }} 当前登录用户名 {{ current_username(add_to_cache_keys=False) }} 不从缓存中获取登录用户名,默认从缓存获取 {{ current_user_id()}} 当前登录用户ID {{ current_user_id(add_to_cache_keys=False) }} 不从缓存中获取登录用户ID,默认从缓存获取 {{ url_param('custom_variable') }} url 参数,比如127.0.0.1:8001\dashboard?abc=123,参数就是{{ url_param('abc') }} 结果就是123 {{ cache_key_wrapper() }} 还没有弄明白啥用 {{ filter_values("字段名") }} 获取dashboard filter_box组件对某个字段的筛选结果 {{ from_dttm }} 获取dashboard filter_box组件日期筛选的开始时间 {{ to_dttm }} 获取dashboard filter_box组件日期筛选的结束时间 {{ get_filters() }} 暂时没有弄明白 3、判断是否自定义成功: 在superset sql lab中执行如下代码,如果能被解析,就说明成功 4、应用案例: 在dataset里面,动态访问数据源,数据源添加where语句:select * from sales where salesname =' {{current_username()}}' dashboard里面,通过获取筛选器的结果,然后获取其他表应当显示的数据范围: select DATE,risktype,sum(num) as num from (SELECT date , customerid,product,risktype ,count(*) as num from v_superset_forecast_risk group by date , customerid,product,risktype ) a join (select distinct customer_code,product from v_superset_access where name='{{ current_username() }}' )access on a.customerid=access.customer_code and a.product=access.product and DATE_FORMAT(date,'%Y-%m')> DATE_FORMAT(date_sub(STR_TO_DATE(concat( {{ "'" + "', '".join(filter_values('yearmonthend')) + "'" }},'-01'), '%Y-%m-%d'), interval 12 month),'%Y-%m') and DATE_FORMAT(date,'%Y-%m')<={{ "'" + "', '".join(filter_values('yearmonthend')) + "'" }} group by DATE,risktype 因为sql里面可以使用jinja 表达式,比如判断筛选当前没有筛选的时候,获取什么数据 注意{% %} 内部使用参数的时候,不需要加{{}},否则报错 通过筛选器实现模糊查询 “用Superset怎样做SQL动态查询的”的内容就介绍到这里了,感谢大家的阅读。 (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
- SQLServer中bigint转int带符号时报错问题解决方法
- sql server自动生成拼音首字母的函数
- sql C 如何将此LEFT JOIN返回的行数限制为一个?
- mdf文件和ldf文件导入到sql server 2005实现语句
- mysql 临时表 加索引_MySQL漏加索引
- 如何使用Visual Studio 2010在数据库中生成随机测试数据
- SQLServer中mod()函数实现取余数的方法
- sql-server – ‘Microsoft.ACE.OLEDB.16.0’提供程序未在本
- SQLServer 2000 升级到 SQLServer 2008 性能之需要注意的地
推荐文章
站长推荐
