在日常工作中,使用到帆软报表工具进行数据的展示,以下记录日常使用的过程,方便备查。
需求描述
用帆软报表展示销量的信息,选择不同的订单状态,展示其订单数和总金额。
第一步、设置控件
添加下拉框控件,在右侧的编辑菜单,设置控件名称,数据字典,类型设置为【自定义】,建立映射关系。
新建子查询,绘制主显示区,展示字段等如下图所示
第二步、设置数据集
根据 下拉框选择的 订单状态,通过 变量【${orderstatus}】传递,对应的SQL如下所示。
SELECT
'${orderstatus}' as orderstatus,
count( * ) AS cnt,
sum( pay_amount ) AS totalAmount
FROM
tb_order
WHERE
order_status = '${orderstatus}';
在帆软的编辑器中配置如下。
优化改进
通过以上发现,选择订单状态下没有订单信息,在页面展示不出来,需求中要求的是没有订单也要展示为 0
解决方案
可使用 ifnull 函数,为空是默认展示为0,实现SQL如下所示。
SELECT
'${orderstatus}' as orderstatus,
ifnull(count( * ),0) AS cnt,
ifnull(sum( pay_amount ),0) AS totalAmount
FROM
tb_order
WHERE
order_status = '${orderstatus}';