本帖最后由 观小策 于 2025-2-20 16:58 编辑
实际上,筛选器只有在有选项值的时候,才会联动目标卡片。抓住这个点,我们才能实现目的。
【实现方法】
步骤一、先准备一个文本且多值类型的全局参数,如图
创建全局参数
全局参
数添加入口:在“管理员设置>资源设置>全局参数”中,设置需要用到的全局参数。具体见全局参数的使用教程
步骤二、在数据集sql里或者卡片编辑界面的新建字段里,应用全局参数。例如
场景1:直连
假如筛选器传的筛选条件在数据集的sql里生效,比如mysql直连数据集的模型结构sql之前为
select * from tableA where `大区` in ([DYNAMIC_PARAMS.大区多选])
那就需要修改数据集的sql,比如改成
select * from tableA where ('') in ([DYNAMIC_PARAMS.大区多选]) or `大区` in ([DYNAMIC_PARAMS.大区多选])
场景2:抽取
假如数据集是抽取的,我们也可以在卡片内部新建字段,字段公式参考
('') in ([DYNAMIC_PARAMS.大区多选]) or `大区` in ([DYNAMIC_PARAMS.大区多选])
然后放到筛选里
卡片里新建字段用于内部筛选
无论哪种场景,关键就是在卡片编辑界面里,“大区多选”这个全局参数的默认值都得是空字符串。
步骤三:
页面筛选器在联动目标卡片的时候,需要选【关联参数】
筛选器联动全局参数
——这样,筛选器才可以不设置任何选项,就能达到全选效果;也不影响单选或者多选的筛选效果
【效果】
效果
当然,您如果想让筛选器有个名为“全部”的选项并联动卡片来实现全选效果,只需要调整字段公式或者sql语句即可。
|