# 交叉表

下面我们学习如何制作交叉表

未配置过报表设计器的请先参考报表设计器

交叉表会根据用户设置的行、列、聚合值等属性来生成交叉表。 效果如下: rpt

# 设计报表

我们可以按照常规报表介绍新建报表,设计数据源,设计报表。

也可以直接打开示例

本地报表设计器http://localhost:5555/designer/?report=crosstab (opens new window)

在线报表设计器http://www.satrda.com/designer/?report=crosstab (opens new window)

# 设置交叉表

  1. 定义数据源

设置数据源SQL语句 select customerid,companyname,productid,productname,quantity,amount

  1. 报表类型选择交叉

  2. 展开交叉表属性组

  • rows选中 customeridcompanyname两项
  • columns选中 productname
  • values选中 amount
  • 扩展列中设置开始列2列数3
  1. 展开分组属性组
  • 添加一个分组,分组字段为customerid
  1. 设计模板

设计样式如图: rpt

其中

  • C1单元格text为@productname
  • C3单元格text为#{amount}
  • F3单元格text为#{crosstabsum('amount')},namegrand_sum_amount
  • F4单元格text为#{sum(grand_sum_amount for all )}

注意:#{crosstabsum('amount')}表示对当前行的amount列求和。