如何制作自由式报表

第1节:深入了解主格

左主格必须是纵向扩展格,上主格必须是横向扩展格,否则设置无效。不允许出现循环设置的情况,即设置A的主格是B,B的主格是C,C的主格又是A,出现循环设置时认为设置有误,报表无法计算。显然,在缺省的情况下是不可能出现循环设置的,而在人为设置时必须避免这种情况的出现。

横向扩展格不允许有左主格,纵向扩展格不允许有上主格。 人为设置时,可能发生左(上)主格在右(下)边的情况,而且主格也不一定和附属格在同一行(列)上。

第2节:简单的自由报表

第一步:打开设计器

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

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

第四步:新建数据集,

ds1:SELECT  名字,雇员ID,职务,雇用日期,地址,出生日期,邮政编码  FROM 雇员

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

其中:

B2单元格中表达式为:=ds1.select(雇员ID);扩展方向设置为纵向扩展,左主格设置为“A0”。

D2单元格中表达式为:=ds1.雇用日期;显示值表达式为:=todate(@value),显示格式设置为yyyy年MM月dd日,左主格设置为b2

B3单元格中表达式为:=ds1.名字;左主格设置为b2。

D3单元格中表达式为:=ds1.出生日期;显示值表达式为:=todate(@value),显示格式设置为yyyy年MM月dd日,左主格设置为b2

B4单元格中表达式为:=ds1.职务;左主格设置为b2

D4单元格中表达式为:=ds1.邮政编码;左主格设置为b2

B5单元格中表达式为:=ds1.地址;左主格设置为b2

将A1、A2、A3、A4、A5和C2、C3、C4单元格的左主格设为B2单元格

第六步:保存预览:

第3节:处理图片字段

目标:在free.brt报表上做修改,增加显示员工照片。

第一步:定义表达式

选中第四列,在列首格点右键,在弹出的菜单中选“新增列”;将E2、E3、E4单元格合并,将A1、B1、C1、D1、E1单元格合并,将B5、C5、D5、E5单元格合并,并设置如下:

其中:

E2单元格的类型设为“图片类型”。

E2单元格中表达式为:=ds1.照片,左主格设置为b2

第二步:保存预览

 

第4节:循环条带式报表

第一步:打开设计器

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

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

第四步:新建数据集:

ds1:SELECT  DISTINCT 订单.订单ID,订单.客户ID,订单.发货日期,订单.到货日期,订单.货主名称,订单.运货商,订单.运货费,订单.货主城市  
    FROM 订单 where 订单ID>10388  and 订单ID<10488
ds2:SELECT  订单明细.产品ID,订单明细.单价,订单明细.折扣,订单明细.数量,订单明细.订单ID  FROM 订单明细

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

其中:

B2单元格中表达式为:=ds1.select(订单ID);扩展方向设置为纵向扩展,左主格设置为“A0”。

D2单元格中表达式为:=todate(ds1.发货日期),显示格式设置为yyyy-MM-dd,左主格设置为b2

F2单元格中表达式为:=todate(ds1.到货日期);显示格式设置为yyyy-MM-dd,左主格设置为b2。

B3单元格中表达式为:=ds1.客户ID;左主格设置为b2

F3单元格中表达式为:=ds1.货主名称;左主格设置为b2

B4单元格中表达式为:=ds1.运货商;左主格设置为b2

D4单元格中表达式为:=ds1.运货费;左主格设置为b2

F4单元格中表达式为:=ds1.货主城市;左主格设置为b2

B6单元格中表达式为:=ds2.select(产品ID,,订单ID=B2);扩展方向设置为纵向扩展, 左主格设置为b2

C6单元格中表达式为:=ds2.单价

D6单元格中表达式为:=ds2.折扣

E6单元格中表达式为:=ds2.数量

F6单元格中表达式为:=C6*E6

将A1、A2、A3、A4、A5、A7、B5、C2、C4、C5、D5、E2、E3、E4、E5、F5单元格的左主格设为B2单元格

第六步:保存预览: