如何制作交叉式报表

第1节:体会横向扩展

第一步:打开设计器

第二步:启动内置示例数据库,连接内置demo数据源

第三步:新建报表,命名为cross.brt

第四步:新建数据集,

ds1:SELECT  客户.地区,客户.城市,订单明细.数量,订单明细.折扣,订单明细.单价,订单.雇员ID,订单.订购日期,订单明细.产品ID
    FROM 订单明细,订单,客户 WHERE 客户.客户ID = 订单.客户ID  AND 订单.订单ID = 订单明细.订单ID
    and 订单.订购日期 is not null and 客户.地区 in ('华南','西南') and year(订单.订购日期)>=1998

第五步:将摘要视图中的数据集字段托放到单元格中,如下图所示:

其中:

A1单元格右键单元格-设置类型-斜线类型;然后设置该单元格属性“斜线方式”的值设置为左上三分线;单元格数据值为 时间,销售额,地区。

A2单元格中表达式为:=ds1.group(year(订购日期),false)+"年";扩展方向设置为纵向扩展。

B1单元格中表达式为:=ds1.group(城市);扩展方向设置为横向扩展。

B2单元格中表达式为:=ds1.sum(数量*单价)

第六步:保存预览:

第2节:多层交叉

目标:在cross.brt报表上做修改,增加一级分组,变成多层交叉。

第一步:定义表达式

  1. 选中第二行,在行首格点右键,在弹出的菜单中选“插入行”
  2. 选中第二列,在列首格点右键,在弹出的菜单中选“插入列”
  3. 将a1、a2、b1、b2单元格合并,并设置如下:

其中:

A3单元格中表达式为:=ds1.group(year(订购日期),false)+"年";扩展方向设置为纵向扩展。

B3单元格中表达式为:= ds1.group(month(订购日期),false)+"月";扩展方向设置为纵向扩展。

C1单元格中表达式为:=ds1.group(地区,false);扩展方向设置为横向扩展。

C2单元格中表达式为:=ds1.group(城市,false) ;扩展方向设置为横向扩展。

C3单元格中表达式为:=ds1.sum(数量*单价)

第二步:保存预览

第3节:汇总统计

目标:在cross.brt报表上做修改,增加统计信息,汇总统计出每个月的销售总额和每个地区的销售总额。

第一步:定义表达式

  1. 选中第三行,在行首格点右键,在弹出的菜单中选“追加行”
  2. 选中第三列,在列首格点右键,在弹出的菜单中选“追加列”
  3. 将a4、b4单元格合并,将d1、d2单元格合并,并做设置如下:

其中:

C3单元格中表达式为:=sum(c3{})

D3单元格中表达式为:=sum(c3{})

第二步:保存预览