Quick BI数据集中SQL占位符默认值全局生效导致仪表板下拉查询控件数据返回为空。

更新时间:
复制为 MD 格式

问题描述

如下图所示:交叉表和查询控件关联引用的不是同一个数据集。但是,数据集对应的表和字段都来源于同一个数据源的同一个表,都有使用product_box这个字段。且两个数据集都未开启抽取加速和结果缓存。发现交叉表中可以展示出数据,而查询控件的下拉列表中数据却展示为空:

image

查询控件和图表使用的不是同一个数据集,但数据集使用的是同一个物理表的同一个字段:

image

数据集都未开启结果缓存和抽取加速:

image

问题原因

访问仪表板的时候,鼠标右键页面空白处,选择”检查“,打开浏览器控制台。选中查询控件下拉列表,捕获下拉列下发的请求接口,发现下拉列表下发的SQL语句中,有如下条件where report_date>='2025-12-04' and report_date<='2025-12-24'

image

进一步前往查询控件关联的数据集编辑页,发现该数据集并未设置过滤条件:

image

再前往SQL编辑页,发现生成数据集的SQL使用了占位符,且占位符设置默认值为全局生效:

image

该条件下SQL整体返回数据为空;从而确认基于数据集创建的查询控件和图表都应该返回数据为空,找到问题原因。

占位符默认值生效范围支持“仅数据集”和“全局生效”两种模式:仅数据集-只在数据集编辑页生效,全局生效-在仪表板、电子表格等下游也生效。

解决方案

切换数据集占位符默认值的生效范围为”仅数据集”,并确定:

image

后续保存数据集,并在仪表板编辑页刷新数据集,将数据集的修改内容同步至仪表板即可。

适用于

  • Quick BI公有云专业版6.0.2