1. 内容概述
我们在创建内嵌数据集时会使用SQL查询语句从数据库中进行取数,普通的SQL查询语句是相对静态和固定的,而动态SQL语句本身不固定,它会根据实际场景的不同进行动态变化。
如下图所示,当用户选择不同的统计范围时,SQL查询语句发生了变化,从而在数据库中获取到了不同的数据。
接下来我们看一下具体怎样应用动态SQL查询语句来实现图中的效果。
2. 操作步骤
(1) 新建报表,添加报表参数
如下图所示设置参数名称、提示文本、数据类型和可用数据。设置完成后,单击上方的返回箭头返回到报表设计器当中。
(2) 添加内嵌数据集
添加基于WynDemoDataV3的内嵌数据集。
(3) 使用静态SQL语句获取字段列表
本例中使用SQL语句:select 销售大区 as 地区名称, count(订单编号) as 订单量, sum(订单金额) as 销售额 from 销售明细 group by 销售大区 ,单击“验证”按钮,可见获取到3个查询字段。
(4) 将静态SQL语句修改为动态SQL语句
本例中使用:
select {Switch(@统计范围 = "大区", "销售大区", @统计范围 = "省份", "销售省份", @统计范围 = "城市", "销售城市")} as 地区名称, count(订单编号) as 订单量, sum(订单金额) as 销售额 from 销售明细 group by {Switch(@统计范围 = "大区", "销售大区", @统计范围 = "省份", "销售省份", @统计范围 = "城市", "销售城市")}
输入动态SQL语句后,单击“验证”和“确定”按钮。
(5) 添加文本框组件显示SQL语句
在报表中添加一个文本框组件,将动态SQL语句粘贴到文本框中,这样做是为了方便我们查看实际进行数据查询的SQL语句。
(6) 制作报表标题
添加两个文本框组件,分别输入“全国各”和“销售统计”字样并调整字体样式。
然后将报表参数拖拽至两个文本框之间,并调整字体样式,使其动态显示报表参数的值。
具体如下图所示。
(7) 添加图表组件
选中标题区域,将图表的标题内容删除。
为绘图区域添加降序排序。
(8) 添加表格组件
绑定数据集中的数据字段并适当调整表格宽度。
选中“销售额”明细单元格,调整数据格式为货币格式,如下图所示。
(9) 预览报表
当我们选择统计范围为“大区”时,SQL查询语句即为:select 销售大区 as 地区名称, count(订单编号) as 订单量, sum(订单金额) as 销售额 from 销售明细 group by 销售大区
因此“地区名称”实际为“销售大区”,并且数据按照“销售大区”进行分组统计。
当我们选择统计范围为“省份”时,SQL查询语句即为:select 销售省份 as 地区名称, count(订单编号) as 订单量, sum(订单金额) as 销售额 from 销售明细 group by 销售省份
此时“地区名称”实际为“销售省份”,并且数据按照“销售省份”进行分组统计。