报表样例

通过本示例,可以了解当交叉报表中的数据来自多个数据集时,如何进行数据集的关联设置,以及sum数据集函数的条件表达式的作用。

制作如下图所示的交叉报表“产品销售统计表3”:

报表特点

  • 交叉报表中的数据来自三个数据集。
  • 报表行表头的数据是从一个数据集中取字段“地区”进行分组。
  • 报表列表头的数据是从另一个数据集中取字段“产品名称”进行分组。
  • 报表交叉单元格的数据又是对第三个数据集中的字段“销售金额”进行sum求和,但是汇总统计值要与行、列表头的“地区”和“产品名称”的值相关联。

制作方法

第一步 新建数据集

报表中的第一个数据集ds1是从数据表“演示 _ 客户表”取“客户名称”、“地区”两个字段的数据,使用复杂SQL数据集,sql为:select 客户名称,地区 from demo_customers

报表中的第二个数据集ds2是从数据表“演示 _ 产品表”取“产品名称”、“产品类别”两个字段的数据,使用复杂SQL数据集,sql为:select 产品名称,类别 from demo_product where 产品名称 in (‘矿泉水’,’牛奶’,’苹果汁’,’汽水’,’苏打水’)

报表中的第三个数据集ds3是从数据表“演示 _ 销售表”取“订单ID”、“地区”、“产品名称”、“销售金额”两个字段的数据,使用复杂SQL数据集,为:select 订单ID,地区,产品名称,销售金额 from demo_salesday

第二步 制作表样

绘制出报表基本结构:

第三步 定义单元格表达式

1)快捷公式选择【分组】,将ds1的“地区”字段拖拽至A3单元格,将ds2的“产品名称”字段拖拽至B2单元格。

2)使用【向导】,将ds3的“销售金额”字段拖拽至C3单元格,在单元格向导页面,选择会汇总—求和,并设置过滤条件,设置如下图:

生成的取数表达式如下: A3:=ds1.Group(地区,false) B2:=ds2.Group(产品名称,false) B3:=ds3.Sum(销售金额,地区==A3 and 产品名称==B2 )

第四步 设置横向扩展

选中B2单元格,在右侧属性栏【扩展】中,设置【扩展方式】为“横向扩展”。

第五步 保存预览

点击预览按钮,在弹出的保存页面设置资源名称、文件名称和保存路径。

预览页面如下图所示: