左主格必须是纵向扩展格,上主格必须是横向扩展格,否则设置无效。不允许出现循环设置的情况,即设置A的主格是B,B的主格是C,C的主格又是A,出现循环设置时认为设置有误,报表无法计算。显然,在缺省的情况下是不可能出现循环设置的,而在人为设置时必须避免这种情况的出现。
横向扩展格不允许有左主格,纵向扩展格不允许有上主格。 人为设置时,可能发生左(上)主格在右(下)边的情况,而且主格也不一定和附属格在同一行(列)上。
第一步:打开设计器
第二步:启动内置示例数据库,连接内置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单元格
第六步:保存预览:
目标:在free.brt报表上做修改,增加显示员工照片。
第一步:定义表达式
选中第四列,在列首格点右键,在弹出的菜单中选“新增列”;将E2、E3、E4单元格合并,将A1、B1、C1、D1、E1单元格合并,将B5、C5、D5、E5单元格合并,并设置如下:
其中:
E2单元格的类型设为“图片类型”。
E2单元格中表达式为:=ds1.照片,左主格设置为b2
第二步:保存预览
第一步:打开设计器
第二步:启动内置示例数据库,连接内置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单元格
第六步:保存预览: