热点
无障碍移动互联评测:流畅度与精准控制优化架构,reasoning_content:我们要求以测试架构师的口吻写一个与“技术、科技”相关的标题,关于[无障碍移动互联评测:流畅度与精准控制优化指南]需要简短精炼,30字以内直接输出标题,不要附加说明nn测试架构师的口吻:专业、技术性、权威可以包含“评测”、“优化”、“架构”等词标题要体现“无障碍移动互联”、“流畅度”、“精准控制”等核心nn可能的比如“无障碍互联评测:流畅度与精准控制优化架构”或者“移动互联无障碍测试:流畅度与精准优化指南”但要简洁nn考虑:测试架构师视角,可以强调“架构”、“策略”、“方法论”例如:“无障碍互联评测:流畅度与精准控制优化策略”或者“移动互联无障碍评测:流畅度与精准控制优化方案”nn字数:30以内例如“无障碍移动互联评测:流畅度与精准控制优化指南”本身已经27字,符合但需要更技术化可改为“无障碍互联评测:流畅度与精准控制架构优化指南”共30字?数一下:“无障碍互联评测:流畅度与精准控制架构优化指南” 每个字算一个,无障碍互联评测(7字),冒号1,流畅度与精准控制架构优化指南(14字?流畅度3、与1、精准2、控制2、架构2、优化2、指南2,共14,加上前面8,共22字?再数:无、障、碍、互、联、评、测、:、流、畅、度、与、精、准、控、制、架、构、优、化、指、南22字可以但“架构优化指南”有点重复或者“无障碍移动互联评测:流畅度与精准控制优化架构” – 移动互联多了“移动”两字,共25字nn更简洁:“无障碍评测:流畅度与精准控制优化架构” – 18字但少了“移动互联”不过原标题有“移动互联”,可以保留nn最终决定一个既体现测试架构师,又包含关键要素的标题推荐:“无障碍移动互联评测:流畅度与精准控制架构优化指南” 但是有点长,实际26字(算上标点)或者更精简:“移动互联无障碍评测:流畅度与精准控制优化” – 17字但缺少“指南”或“架构”nn结合要求“优化指南”,标题可以保留“指南”二字直接输出
15 9 月 2026, 周二

如何实现 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动态查询的”的内容就介绍到这里了,感谢大家的阅读。

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

无障碍移动互联评测:流畅度与精准控制优化架构,reasoning_content:我们要求以测试架构师的口吻写一个与“技术、科技”相关的标题,关于[无障碍移动互联评测:流畅度与精准控制优化指南]需要简短精炼,30字以内直接输出标题,不要附加说明nn测试架构师的口吻:专业、技术性、权威可以包含“评测”、“优化”、“架构”等词标题要体现“无障碍移动互联”、“流畅度”、“精准控制”等核心nn可能的比如“无障碍互联评测:流畅度与精准控制优化架构”或者“移动互联无障碍测试:流畅度与精准优化指南”但要简洁nn考虑:测试架构师视角,可以强调“架构”、“策略”、“方法论”例如:“无障碍互联评测:流畅度与精准控制优化策略”或者“移动互联无障碍评测:流畅度与精准控制优化方案”nn字数:30以内例如“无障碍移动互联评测:流畅度与精准控制优化指南”本身已经27字,符合但需要更技术化可改为“无障碍互联评测:流畅度与精准控制架构优化指南”共30字?数一下:“无障碍互联评测:流畅度与精准控制架构优化指南” 每个字算一个,无障碍互联评测(7字),冒号1,流畅度与精准控制架构优化指南(14字?流畅度3、与1、精准2、控制2、架构2、优化2、指南2,共14,加上前面8,共22字?再数:无、障、碍、互、联、评、测、:、流、畅、度、与、精、准、控、制、架、构、优、化、指、南22字可以但“架构优化指南”有点重复或者“无障碍移动互联评测:流畅度与精准控制优化架构” – 移动互联多了“移动”两字,共25字nn更简洁:“无障碍评测:流畅度与精准控制优化架构” – 18字但少了“移动互联”不过原标题有“移动互联”,可以保留nn最终决定一个既体现测试架构师,又包含关键要素的标题推荐:“无障碍移动互联评测:流畅度与精准控制架构优化指南” 但是有点长,实际26字(算上标点)或者更精简:“移动互联无障碍评测:流畅度与精准控制优化” – 17字但缺少“指南”或“架构”nn结合要求“优化指南”,标题可以保留“指南”二字直接输出