如何在Snowflake仪表板中配置可关联查询的自由文本输入
Snowflake仪表板自由文本查询参数配置方案
基础操作步骤
- 进入目标仪表板,点击顶部编辑按钮进入编辑状态
- 点击顶部工具栏的「过滤器」选项,选择「添加过滤器」
- 过滤器类型选择 文本,自定义过滤器名称(例如
客户ID),不要选择下拉列表、日期等其他类型 - 过滤器关联设置中,绑定你的底层客户信息工作表,关联字段选择存储客户唯一ID的列,勾选允许任意文本输入,不要设置可选值范围限制
- 保存过滤器配置后,修改底层工作表的查询语句,在WHERE筛选条件中引用过滤器参数,引用格式为
:过滤器名称,示例如下:
精确匹配客户ID的查询写法:
如需支持模糊匹配,可调整为:SELECT * FROM your_customer_table WHERE customer_unique_id = :客户IDSELECT * FROM your_customer_table WHERE customer_unique_id LIKE '%' || :客户ID || '%'
多客户ID批量查询配置
如果需要支持用户同时输入多个客户ID批量查询,可做如下调整:
- 回到文本过滤器的编辑页面,勾选「允许多个值」选项
- 将查询条件调整为IN匹配,示例:
用户输入多个ID时用逗号分隔即可生效SELECT * FROM your_customer_table WHERE customer_unique_id IN (:客户ID)
安全提示
如需避免用户输入内容带来的SQL注入风险,可在查询中增加输入校验逻辑,例如客户ID为数字类型时,用
TRY_CAST(:客户ID AS NUMBER)做类型转换,转换失败时返回空值,阻止异常输入执行。
内容的提问来源于stack exchange,提问作者LeelaSella
相关产品推荐
相关产品推荐

