[]
动态查询是一种灵活的数据查询方式,允许用户根据实时需求动态筛选和过滤数据。通过参数化查询和交互式筛选器,用户可以在不修改底层数据的情况下,快速获取符合特定条件的数据结果。动态查询广泛应用于实时监控、数据分析等场景,帮助用户高效地实现数据的精准分析和可视化展示。
在上一节内容中,我们通过手动添加的方式,将原生查询数据集参数的所有可用值配置到筛选器的数据来源中,并将仪表板参数与筛选器绑定,从而实现数据的动态查询。
本文介绍如何使用查询结果作为筛选器的可用值,完成动态查询。
筛选器过滤:按销售大区过滤订单金额
功能描述:
通过筛选器过滤功能,用户可以选择特定的销售大区,动态查询并展示该大区对应的订单金额。
具体应用:
在销售数据分析中,快速查看某个大区(如“华东区”)的订单金额,帮助区域经理了解销售表现。
级联过滤:按销售大区及省份过滤订单金额
功能描述:
通过级联过滤功能,用户可以先选择销售大区(如“华东区”),再进一步筛选该大区下的具体省份(如“江苏省”),逐级细化查询范围。
具体应用:
在区域销售管理中,逐级分析大区及其下属省份的订单金额,帮助管理者精准定位销售热点或问题区域。
多值过滤:按多值销售大区和省份过滤订单金额
功能描述:
通过多值过滤功能,用户可以同时选择多个销售大区(如“华东区”和“华南区”)或多个省份(如“江苏省”和“浙江省”),对比分析不同区域的订单金额。
具体应用:
在跨区域销售分析中,同时对比多个大区或省份的订单金额,帮助决策者制定更全面的销售策略。
下面将详细介绍这些场景的具体操作步骤。
在仪表板中,通过筛选器直接选择原生查询数据集中的数据,完成数据的过滤。筛选器中的数据来自于数据绑定。
成果展示:
步骤一:准备主数据集
创建一个原生查询数据集,添加参数过滤大区。该数据集为主数据集,在仪表板中绑定到组件中显示数据。示例中我们将此数据集命名为了“主数据集_demo1”。
步骤二:准备筛选器专用数据集
为了避免数据循环,筛选器需要绑定一个不同的数据集,该数据集提供目标数据集参数的所有可用值。示例中我们将此数据集命名为了“大区专用_demo1”。
步骤三:制作仪表板
添加组件,绑定主数据集。由于主数据集中的参数默认值是“华北”,所以组件仅显示一根柱子。
添加筛选器,并绑定专用的数据集。筛选器默认为多选模式,需手动将属性设置中的选择模式设置为“单选”。
将筛选器的值通过仪表板参数传递给主数据集的参数,实现动态过滤效果。
创建仪表板参数,设置默认数据并给仪表板参数绑定筛选器。
数据绑定界面选择原生查询数据集,将仪表板参数绑定到主数据集参数,完成数据集参数与筛选器的关联。
此时再预览仪表板即可实现预期效果,具体效果可参考 2.1 最初部分 的成果展示。
在筛选器过滤的基础上,添加第二个筛选器(省份筛选器),实现级联数据过滤效果。
成果展示:
实现的关键在于:
大区筛选器可以过滤省份筛选器。
当省份筛选器中未选择值时,主数据集仅根据大区筛选器筛选数据。
省份筛选器中选择数值后可进一步过滤主数据集。
步骤一: 准备主数据集
创建一个原生查询数据集,添加两个参数(大区和省份),实现记录数据过滤效果。示例中我们将此数据集命名为了“主数据集_demo2”。
select 销售大区,销售省份,Int(sum(订单金额)) 金额合计,Int(sum(订单利润))利润合计
from
(select *, case when @state='$all' then 1 when 销售省份=@state then 1 end as tag from 销售明细) as tmp
where 销售大区 =@大区 and tag = 1
group by 销售大区,销售省份
步骤二:准备筛选器专用数据集
为筛选器准备专用数据集,避免数据循环,并且该数据集应可以提供目标数据集参数的所有可用值。大区筛选器只是将大区字段提取出来即可。示例中我们将此数据集命名为了“大区专用_demo2”。
省份筛选器的数据需要被大区筛选器影响,所以需要创建一个参数来过滤大区。后边再将这个参数与大区筛选器绑定即可。示例中我们将此数据集命名为了“省份专用_demo2”。
步骤三:创建仪表板
在仪表板中将要完成数据展示并将各处参数连通,实现所需效果。
在仪表板设计中,添加筛选器和柱状图,各自绑定相应的数据集。在本示例中大区筛选器绑定“大区专用_demo2”数据集;省份筛选器绑定“省份专用_demo2”数据集;柱状图绑定“主数据集_demo2”数据集。
筛选器默认为多选模式,需手动将属性设置中的选择模式设置为“单选”。
添加两个仪表板参数,分别代表大区和省份,并绑定到对应的筛选器。
将这两个仪表板参数与主数据集的参数对应绑定,实现从筛选器到主数据集的参数传递。
通过以上步骤,实现了从筛选器到主数据集的参数传递过程。
将大区筛选器与省份筛选器的参数绑定,通过仪表板参数传递,实现大区过滤省份的级联效果。
此时再预览仪表板即可实现预期效果。具体效果可参考 2.2 最初部分 的成果展示。
在级联过滤的基础上,增加大区和省份的多值选择功能。
成果展示:
实现的关键在于:
保留级联过滤的级联过滤效果并且大区筛选器和省份筛选器支持多值选择。
步骤一:准备主数据集
创建一个原生查询数据集,添加两个多值参数(大区和省份)。示例中我们将此数据集命名为了“主数据集_demo3”。
select 销售大区,销售省份,Int(sum(订单金额)) 金额合计,Int(sum(订单利润))利润合计
from
(select *, case when '$all' in (@state) then 1 when 销售省份 in (@state) then 1 end as tag from 销售明细) as tmp
where 销售大区 in (@大区) and tag = 1
group by 销售大区,销售省份
步骤二:准备筛选器专用数据集
为筛选器准备专用数据集,避免数据循环,并且该数据集应可以提供目标数据集参数的所有可用值。大区筛选器只是将大区字段提取出来即可。示例中我们将此数据集命名为了“大区专用_demo3”。
省份筛选器的数据需要被大区筛选器影响,所以需要创建一个多值参数来过滤大区。后边再将这个参数与大区筛选器绑定即可。示例中我们将此数据集命名为了“省份专用_demo3”。
步骤三:创建仪表板
在仪表板中将要完成数据展示并将各处参数连通,实现所需效果。
在仪表板设计器中,添加筛选器和柱状图,各自绑定相应的数据集。在本示例中大区筛选器绑定“大区专用_demo3”数据集;省份筛选器绑定“省份专用_demo3”数据集;柱状图绑定“主数据集_demo3”数据集。
添加两个仪表板参数,分别代表大区和省份,勾选“多值”,设置默认值并绑定到对应的筛选器。
将这两个仪表板参数与主数据集的参数对应绑定,实现从筛选器到主数据集的参数传递。
通过以上步骤,实现了从筛选器到主数据集的参数传递过程。
将大区筛选器与省份筛选器的参数绑定,通过仪表板参数,实现大区过滤省份的级联效果。
此时再预览仪表板即可实现预期效果。具体效果可参考 2.3 最初部分 的成果展示。