1.1 网格报表
网格报表是我们最常见的报表之一,一般情况下,网格报表会根据数据集纵向扩展,我们将这样的网格报表称之为普通的网格报表;在实际的业务需求中,横向扩展的网格报表也会经常被应用到,下面我们对这两类网格报表做一下介绍。
1.1.1 普通网格报表
设计时:
- 合并单元格B2、C2、D2、E2、F2、G2、H2,输入标题名称,并居中显示
- 选择 B4—-H5为报表区域,设置报表边框
- 在B4、C4、D4、E4、F4、G4、H4中输入业务字段的名称,并将背景色设置为蓝色
- 在B5中,输入表达式select(p1.RPRODUCTID),表示引用产品ID(RPRODUCTID)的全部数据。
- 在C5中,输入表达式RCATEGORYNAME,其他单元格输入的表达式与C5类似。
运行时:
1.1.2 横向扩展网格报表
图3.4 横向扩展网格报表标题扩展属性设置图
- B2输入标题名,为了使标题居中,添加批注clospan:$ALL.PR4C3+3,意思为根据第四行第三列的表达式selecth进行全列扩展,
- B4-B10添加表头。
- C4-C10添加业务字段。
- C4输入表达式selecth(p1.RPRODUCTNAME),表示引用RPRODUCTNAME的全部数据进行横向扩展。
运行时:
1.2 分组报表
1.2.1 一级分组报表
设计时:
- 在B4、C4、D4、E4、F4、G4中输入需要显示的业务字段名称
- 在B5中输入group(p1.RCATEGORYNAME),表示数据根据产品类别(RCATEGORYNAME)进行分组显示。
- 在C5中输入select(p1.RPRODUCTNAME),意思是引用产品名称(RPRODUCTNAME)的全部数据。
- 在D5中输入RCOMPANYNAME, E5-G5 输入与D5类似。
运行时:
图3.7 一级分组报表运行结果图
1.2.2 二级分组报表
设计时:
- 在B4、C4、D4、E4、F4、G4中输入需要显示的业务字段名称
- 在B5中输入group(p1.RCOMPANYNAME),意思是对字段RCOMPANYNAME的数据进行分组。
- 在C5中输入group(p1.RCATEGORYNAME),意思是对字段RCATEGORYNAME的数据进行分组。
- 在D5中输入select(p1.RPRODUCTNAME),意思是引用RPRODUCTNAME的数据。
- 在E5中输入RCOMPANYNAME, E5-G5 输入与D5类似。
运行时:
1.2.3 二级分组报表(行统计)
设计时:
- 合并B5、B6,输入表达式group(p1.RCOMPANYNAME),表示以供货商(RCOMPANYNAME)的数据进行分组。
- 在C5中,输入表达式group(p1. RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)的数据进行分组。
- 在D5中,输入表达式select(p1. RPRODUCTNAME),表示引用产品名称(RPRODUCTNAME)的全部数据。
- 在E5-G5中,分别输入表达式RQUANTITYPERUNIT(单位数量)、p1.RUNITPRICE(单价)、p1.RUNITSINSTOCK(库存数量),表示这里引用的哪个关系的数据。
- 在F6中,输入表达式=SUM(F5),表示每个供货商(RCOMPANYNAME)中每个产品类别(RCATEGORYNAME)的各产品(RPRODUCTNAME)的单价(RUNITPRICE)之和。
- 在F7中,输入表达式=SUM(F5),表示为每种供货商(RCOMPANYNAME)的单价(RUNITPRICE)之和。
- 同理,在G6、G7中输入的表达式=SUM(G5),表示计算每个分组中库存数量(RUNITSINSTOCK)的合计。
运行时:
1.2.4 二级分组报表(行列统计)
设计时:
- 合并B5、B6,输入表达式group(p1.RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)的进行分组。
- 在C5中,输入表达式group(p1.RPRODUCTNAME),表示以产品名称(RPRODUCTNAME)的数据进行分组。
- 在D5中,输入表达式select(p1.RCOMPANYNAME),表示引用供货商(RCOMPANYNAME)的全部数据。
- 在E5-G5中,分别输入表达式RQUANTITYPERUNIT(单位数量)、p1.RUNITPRICE(单价)、p1.RUNITSINSTOCK(库存数量),表示引用的关系数据。
- 在H5中,输入表达式=F5*G6,表示该单元格的值为单价x数量(RUNITPRICE * RUNITSINSTOCK)。
- 在F6中,输入表达式=SUM(F5),表示每个产品类别(RCATEGORYNAME)中每个产品(RPRODUCTNAME)的各供货商(RCOMPANYNAME)的单价(RUNITPRICE)之和。
- 在F7中,输入表达式=SUM(F6),表示为每种产品类别(RCATEGORYNAME)的单价(RUNITPRICE)之和。
- 同理,在G6、G7中输入的表达式=SUM(G5),表示计算每个分组中库存数量(RUNITSINSTOCK)的合计。
- 在H6、H7中输入的表达式=SUM(H5),表示计算每个分组中单价x数量(RUNITPRICE * RUNITSINSTOCK)的合计。
运行时:
1.2.5 二级分组报表(分组统计)
设计时:
- 合并B5、B6、B7,输入表达式group(p1.RCOMPANYNAME),表示以供货商(RCOMPANYNAME)的数据进行分组。
- 合并C5、C6中,输入表达式group(p1. RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)的数据进行分组。
- 在D5中,输入表达式select(p1. RPRODUCTNAME),表示引用产品名称(RPRODUCTNAME)的全部数据。
- 在E5-G5中,分别输入表达式RQUANTITYPERUNIT(单位数量)、p1.RUNITPRICE(单价)、p1.RUNITSINSTOCK(库存数量),表示这里引用的哪个关系的数据。
- 在F6中,输入表达式=SUM(F5),表示每个供货商(RCOMPANYNAME)中每个产品类别(RCATEGORYNAME)的各产品(RPRODUCTNAME)的单价(RUNITPRICE)之和。
- 在F7中,输入表达式=SUM(F5),表示为每种供货商(RCOMPANYNAME)的单价(RUNITPRICE)之和。
- 在F8中,输入表达式=SUM(F5),表示为所有数据单价(RUNITPRICE)总合计。
- 同理,在G5、G6、G7中输入的表达式=SUM(G5),表示计算每个分组中库存数量(RUNITSINSTOCK)的合计。
- 在H5、H6、H7中输入的表达式=SUM(H5),表示计算每个分组中单价x数量(RUNITPRICE * RUNITSINSTOCK)的合计。
运行时:
1.3 交叉报表
1.3.1 二维交叉报表
- 在B5中,输入group(p1.RPRODUCTNAME),表示纵向以产品(RPRODUCTNAME)进行分组。
- 在C4中,输入grouph(p1.RCOMPANYNAME),表示横向以供应商(RCOMPANYNAME)进行分组。
- 在C5中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C3+1,表示标题根据第四行第三列的数据进行扩展,并在最终结果上加一列(因为计算居中时要包含B列)。
- 在B4中,添加批注display-type:slant-line,表示该单元格显示斜线。
- 在C5中,添加批注default-value:0,表示单元格默认值为0。
运行时:
1.3.2 多维交叉报表
设计时:
- 在B6中,输入group(p1.RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)进行分组。
- 在C6中,输入group(p1.RPRODUCTNAME),表示纵向以产品(RPRODUCTNAME)进行分组。
- 在D4中,输入grouph(p1. RREGION),表示以区域(RREGION)进行分组。
- 在D5中,输入grouph(p1. RCOMPANYNAME),表示横向以供应商(RCOMPANYNAME)进行分组。
- 在D6中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C4+2,表示标题根据第四行第三列的数据进行扩展,并在最终结果上加两列(因为计算居中时要包含B和C列)。
- 合并B4、B5、C4、C5中,添加批注display-type:slant-line,表示该单元格显示斜线。
- 在D6中,添加批注default-value:0,表示单元格默认值为0。
运行时:
1.3.3 二维交叉报表(行列统计)
设计时:
- 在B5中,输入group(p1.RPRODUCTNAME),表示纵向以产品(RPRODUCTNAME)进行分组。
- 在C4中,输入grouph(p1.RCOMPANYNAME),表示横向以供应商(RCOMPANYNAME)进行分组。
- 在C5中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在C6中,输入=SUM(C5),表示计算每个供应商(RCOMPANYNAME)所有产品(RPRODUCTNAME)的采购成本(RUNITPRICE * RUNITSINSTOCK)合计。
- 在D5中,输入=SUM(C5),表示计算所有供应商(RCOMPANYNAME)的每个产品(RPRODUCTNAME)的采购成本(RUNITPRICE * RUNITSINSTOCK)合计。
- 在D6中,输入=SUM(D5),表示计算全部供应商产品的总成本。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C3+1,表示标题根据第四行第三列的数据进行扩展,并在最终结果上加一列(因为计算居中时要包含B)。
- 在B4中,添加批注display-type:slant-line,表示该单元格显示斜线。
- 在C5中,添加批注default-value:0,表示单元格默认值为0。
运行时:
1.3.4 多维交叉报表(行统计)
设计时:
- 合并B6、B7、B8,输入group(p1.RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)进行分组。
- 合并C6、C7,输入group(p1.RPRODUCTNAME),表示纵向以产品(RPRODUCTNAME)进行分组。
- 在D4中,输入grouph(p1. RREGION),表示以区域(RREGION)进行分组。
- 在D5中,输入grouph(p1. RCOMPANYNAME),表示横向以供应商(RCOMPANYNAME)进行分组。
- 在D6中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在E6中,输入=SUM(D6),表示所有供应商中,每个产品的采购成本合计。
- 在D7-D9中,分别输入=SUM(D6),表示按照单元格所在行、列对应的分组数据,分别计算各分组的采购成本。
- 在E7-E9中,分别输入=SUM(E6),表示按照单元格所在行对应的分组数据,分别计算各分组的采购成本。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C4+2,表示标题根据第四行第三列的数据进行扩展,并在最终结果上加两列(因为计算居中时要包含B和C列)。
- 合并B4、B5、C4、C5中,添加批注display-type:slant-line,表示该单元格显示斜线。
- 在D6中,添加批注default-value:0,表示单元格默认值为0。
运行时:
1.3.5 多维交叉报表(行列统计)
设计时:
- 合并B6、B7,输入group(p1.RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)进行分组。
- 在C6中,输入group(p1.RPRODUCTNAME),表示纵向以产品(RPRODUCTNAME)进行分组。
- 合并D4、E4,输入grouph(p1. RREGION),表示以区域(RREGION)进行分组。
- 在D5中,输入grouph(p1. RCOMPANYNAME),表示横向以供应商(RCOMPANYNAME)进行分组。
- 在D6中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在E6中,输入=SUM(D6),表示所有供应商中,每个产品的采购成本合计。
- 在D7-D8中,分别输入=SUM(D6),表示按照单元格所在行、列对应的分组数据,分别计算各分组的采购成本。
- 在E7-E8中,分别输入=SUM(E6),表示按照单元格所在行对应的分组数据,分别计算各分组的采购成本。
- 在F6-F7中,分别输入=SUM(E6)、=SUM(E7)、=SUM(E8),表示分别计算各分组数据上列的合计。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C4+2,表示标题根据第四行第三列的数据进行扩展,并在最终结果上加两列(因为计算居中时要包含B和C列)。
- 合并B4、B5、C4、C5中,添加批注display-type:slant-line,表示该单元格显示斜线。
- 在D6中,添加批注default-value:0,表示单元格默认值为0。
运行时:
图3.25 多维交叉报表运行结果图
1.4 卡片报表
卡片式报表在其他报表工具中,有称其为“自由报表”,它是将数据库表中的每一条数据都以一个卡片的形式展现,在这一节,我们讲解一下卡片报表在X5report中的设计。
设计时:
- 合并单元格A4、A5、A6、A7、A8 ,对于卡片报表,合并第一列的单元格目的是将该部分作为一个整体进行显示。该方法也适用于“主从报表”的制作。
- 合并单元格B2、C2、D2、E2、F2、G2,输入标题名称,并居中显示
- 在C4中输入select(e1. REMPLOYEEID),
- 在E4中输入EMPLOYEENAME, C5、C6、C7、C8、E5、E6输入方式与E4类似。
运行时:
1.5 主从报表
1.5.1 普通主从报表
设计时:
- 合并B1-G1,输入标题,并居中显示。
- 在B3-G6区域中,输入主表字段标题与引用业务字段。
- 在B7-G8区域中,输入从表字段标题与引用业务字段。
- 在C3中,输入select(p1.RORDERID),表示主表引用p1数据集的数据。
- 在C3中,添加批注is-master-dataset:true,表示p1数据集为主表。
- 在C3中,添加批注individual-table:true,表示该区域独立成一张表。
- 在C8中,输入select(e1.RORDERID,’RORDERID=p1.RORDERID’),表示从表引用e1数据集的数据,并使用订单ID(RORDERID)作为外键关联主表。
- 在C8中,添加批注master-dataset:p1,表示e1数据集的主表是p1。
- 在C8中,添加批注page-record:1,表示打印时,每页显示一张主从报表。
- 在B8中,输入=COUNT(C8),并添加批注v-acc:true、v-group:$PR3C3,表示该列单元格按照e1数据集的数据进行序号递增。
- 合并A3-A9,表示A3-A9所在的行作为一个整体显示。
运行时:
1.5.2 分组主从报表
设计时:
- 合并B1-G1,输入标题,并居中显示。
- 在B3-G6区域中,输入主表字段标题与引用业务字段。
- 在B7-G8区域中,输入从表字段标题与引用业务字段。
- 在C3中,输入select(p1.RORDERID),表示主表引用p1数据集的数据。
- 在C3中,添加批注is-master-dataset:true,表示p1数据集为主表。
- 在C3中,添加批注individual-table:true,表示该区域独立成一张表。
- 在B8中,输入group(e1.RORDERID,”,’RORDERID=p1.RORDERID’),表示引用e1数据集的数据并根据订单ID(RORDERID)进行分组。使用自身的订单ID(RORDERID)作为外键关联主表。
- 在B8中,添加批注master-dataset:p1,表示e1数据集的主表是p1。
- 在B8中,添加批注page-record:1,表示打印时,每页显示一张主从报表。
- 在C8中,输入select(e1.RPRODUCTNAME),表示引用e1数据集的全部数据。
- 合并A3-A9,表示A3-A9所在的行作为一个整体显示。
运行时:
1.6 多源关联分片报表
1.6.1 多源交叉报表
设计时:
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C3+1,表示标题会以第四行第三列的数据进行扩展,并最终结果+1列(因为计算居中时要包含B列)。
- 在B5中,输入group(s1.RPRODUCTNAME),表示纵向使用s1数据集进行扩展,并对产品名称(RPRODUCTNAME)进行分组。
- 在C4中,输入grouph(s2.RCOMPANYNAME),表示横向根据s2数据集进行扩展,并对供货商(RCOMPANYNAME)进行分组。
- 在C5中,输入=SUM(s1.RUNITPRICE*s1.RUNITSINSTOCK),表示该单元格的值为单价乘以库存数量(RUNITPRICE* RUNITSINSTOCK)。
- 在C5中,添加批注conditionv:s2.RSUPPLIERID=s1.RSUPPLIERID,表示以供应商ID(RSUPPLIERID)作为s1和s2数据集的关联关系。
运行时:
1.6.2 多源纵向分片报表
设计时:
- 在B6中,输入group(p1.RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)进行分组。
- 在C6中,输入group(p1.RPRODUCTNAME),表示纵向以产品(RPRODUCTNAME)进行分组。
- 在D4中,输入grouph(p1. RREGION),表示以区域(RREGION)进行分组。
- 在D5中,输入grouph(p1. RCOMPANYNAME),表示横向以供应商(RCOMPANYNAME)进行分组。
- 在D6中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C4+2,表示标题根据第四行第四列的数据进行扩展,并在最终结果上加两列(因为计算居中时要包含B、C列)。
- 在B4中,添加批注display-type:slant-line,表示该单元格显示斜线。
- 类似的,在B7-D7的区域,输入对应的s2数据集的表达式。
- 在D7中,添加批注main-dataset:s1,conditionv:s2.RSUPPLIERID=s1.RSUPPLIERID,表示s2以s1数据集为主表,通过供应商ID(RSUPPLIERID)相关联。
运行时:
1.6.3 多源横向分片报表
设计时:
- 在B6中,输入group(p1.RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)进行分组。
- 在C6中,输入group(p1.RPRODUCTNAME),表示以产品名称(RPRODUCTNAME)进行分组。
- 在D4中,输入grouph(p1. RREGION),表示以区域(RREGION)进行分组。
- 在D5中,输入grouph(p1. RCOMPANYNAME),表示横向以供应商(RCOMPANYNAME)进行分组。
- 在D6中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C4+2,表示标题根据第四行第四列的数据进行扩展,并在最终结果上加两列(因为计算居中时要包含B、C列)。
- 合并B4、B6、C4、C5,添加批注display-type:slant-line,表示该单元格显示斜线。
- 类似的,在E4-E6的区域,输入对应的s2数据集的表达式。
- 在E6中,添加批注conditionh:s2.RPRODUCTID=s1.RPRODUCTID,表示s2和s1数据集通过供应商ID(RSUPPLIERID)相关联。
运行时:
1.6.4 多源双向分片报表
设计时:
图3.38 多源双向分片报表设计图
- 在B6中,输入group(s1. RORDERDATE_YEAR),表示以销售日期的年份(RORDERDATE_YEAR为别名)进行分组。
- 在C6中,输入group(s1. RORDERDATE_MOUNTH),表示以销售日期的月份(RORDERDATE_MOUNTH)进行分组。
- 在D4中,输入grouph(s1. RREGION),表示以区域(RREGION)进行分组。
- 在D5中,输入grouph(s1. RCITY),表示以市(RCITY)进行分组。
- 在D6中,输入=SUM(s1.RUNITPRICE*s1. RQUANTITY),表示该单元格的值为对应的单价x数量单位(RUNITPRICE * RQUANTITY)。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C4+2,表示标题根据第四行第四列的数据进行扩展,并在最终结果上加两列(因为计算居中时要包含B、C列)。
- 合并B4、B6、C4、C5,添加批注display-type:slant-line,表示该单元格显示斜线。
- 在B7中,输入group(s2.RTITLE),表示以雇员职务(RTITLE)进行分组。
- 在C7中,输入group(s2.RFULLNAME),表示以雇员姓名(RFULLNAME)进行分组。
- 在D7中,添加批注main-dataset:s1和conditionv:s2.REMPLOYEEID=s1.REMPLOYEEID,表示s2和s1数据集通过雇员ID(REMPLOYEEID)相关联。
- 在E4中,输入产品类别。
- 在E5中,输入grouph(s3.RCATEGORYNAME),表示以产品类别(RCATEGORYNAME)进行分组。
- 在E6中,添加批注main-dataset:s1和conditionh:s3.RPRODUCTID=s1.RPRODUCTID,表示s3和s1数据集通过产品ID(RPRODUCTID)相关联。
- 在E7中,添加批注main-dataset:s1和conditionh:s3.RPRODUCTID=s1.RPRODUCTID和conditionv:s2.REMPLOYEEID=s1.REMPLOYEEID,表示该单元格计算的数据必须符合批注里给定的两个关联条件。
运行时:
图3.39 多源横向分片报表运行结果图
1.6.5 报表图表混合表
设计时:
- 在C4中,输入grouph(p1.RPRODUCTNAME),表示横向以产品(RPRODUCTNAME)进行分组。
- 在B5中,输入group(p1.RCOMPANYNAME),表示纵向以供应商(RCOMPANYNAME)进行分组。
- 在C5中,输入=SUM(p1.RUNITPRICE*p1.RUNITSINSTOCK),表示该单元格的值为对应的单价x库存数量(RUNITPRICE * RUNITSINSTOCK)。
- 在B2中,输入标题,添加批注colspan:$ALL.PR4C3+1,表示标题根据第四行第三列的数据进行扩展,并在最终结果上加一列(B列)。
- 在B8中,添加批注object:chartA,colspan:$ALL.PR4C3+1,表示单元格引用对象chartA(图表组件id),并且根据第四行第三列的数据进行扩展,并在最终结果上加一列(B列)。
运行时:
1.7 报表特性
1.7.1 递增序号
以普通网格报表为例。设计时:
- 添加新列(B列)。
- 在B4中,输入文字“序号”。
- 在B5中,输入=COUNT(C5),并添加批注v-acc:true、v-group:$ALL,表示根据C5单元格的全部数据进行序号递增。
运行时:
图3.44 递增序号报表运行结果图
1.7.2 单元格扩展
对于列会自动扩展,即使用表达式selecth、grouph的报表。为了保证标题可以在列扩展之后仍可以居中显示。我们使用批注colspan和rowspan进行设置。
设计时:
- 在B2中,插入批注colspan:$ALL.PR4C3。
- colspan:$ALL:固定值,列的扩展。
- PR3C3+1:表示标题按照第三行,第三列进行显示。由于B列并没有在C4的计算之中,所以最后要加上这一列。
1.7.3 行列隐藏
在使用报表时,常常会遇到这样的情况:例如,用户希望某些数据不显示,或希望只显示某些数据。根据该需求,我们提供了行、列、指定值或条件隐藏的方法来设计报表。
- 行隐藏:
在A4中,添加v-visible:false,表示第四行在报表中不显示。
注意:v-visible:false为行属性,所以需要添加在行的第一个单元格。
- 列隐藏:
在F1中,添加h-visible:false,表示第F列在报表中不显示。
注意:h-visible:false为列属性,所以需要添加在列的第一个单元格。
- 条件隐藏:
在A1中,添加批注v-visible:(RPRODUCTID = ‘1’ or RPRODUCTID = ‘3’) and RCATEGORYNAME =’调味品’,表示显示符合给定条件的数据。
注意:v-visible:false为行属性,所以需要添加在行的第一个单元格。
1.7.4 排序与条件过滤
- 语法:
group/grouph(分组字段, 过滤条件, 排序方式)
select/selecth(关键字段, 过滤条件, 排序方式)
排序方式:field:排序字段;order:{ ascending|descending };type:{ text|number }
- 说明:
field:需要排序的字段
order:顺序,ascending表示升序,descending表示降序。默认为升序。
type:字段类型,text为文本类型,number为数字类型。
如:产品信息表需要按照产品单价排序,那么我们要在单元格内写:p1.select(p1.ProductName,”,’field:UnitPrice;order:ascending;type:number’)
(第二个参数过滤条件为空,需要写一个’’来占位)
表示按照字段UnitPrice升序排序,字段类型为number型。也可以写成p1.select(p1.ProductName,”,’field:UnitPrice’)。
- 过滤条件:
如:主从报表的从表定义,e1.group(e1.RORDERID,”,’RORDERID=p1.RORDERID’)
表示自身RORDERID关系要关联p1数据集的RORDERID关系。
1.7.5 报表链接
设计时:
- 在C5中,插入批注:html:<a model=”dialog” href=”/demo/report/process/links/reportLinks.w?Company-Name=$RCOMPANYNAME&product-name=$RPRODUCTNAME&process=’/demo/report/process/links/linksProcess’&activity=’reportLinksActivity'” title=”产品明细-{$RPRODUCTNAME}” />
- 表示弹出标题为产品明细-{$RPRODUCTNAME}的对话框(model=’dialog’),并传入参数Company-Name,product-name。
说明:model为打开链接模式,包括dialog(对话框),replace(替换自身),window(portal)
运行时:
1.7.6 图片链接
设计时:
图3.54 图片属性设置图
-
在G1中,插入批注image:/UI/demo/report/process/simple/images/logo.gif,表示该单元格链接到位于/UI/demo/report/process/simple/images/logo.gif的图片资源。
运行时:
1.7.7 条形码
设计时:
- 在C3中,插入批注display-type:barcode、barcode-type:code93,表示该单元格的信息将转换成条形码显示,转换码制为code93。
- 其它相关批注:barcode-config:{height:’’,mw:’’,wf:’’,qz:’’,hrp:’’,hrfont:’’….}
运行时:
图3.57 条形码属性运行结果图
1.8 报表运算
1.8.1 合计值
请参考网格报表、分组报表、交叉报表中都进行了计算合计的演示。
1.8.2 平均值
我们以二级分组报表(行统计为例)
设计时:
- 将F6单元格中的内容修改为=avg(F5),表示计算各个类别产品单价的平均值。
运行时:
……
图3.59 平均值运算运行结果图
1.8.3 占比
设计时:
- 添加一列H。
- 在H5中,输入=G5 div G7,表示该单元格的值为G5除以G7的值,即该产品的库存占总库存的百分比。
- 在H6中,输入=G6 div G7,表示该单元格的值为G6除以G7的值,即该类产品的库存占总库存的百分比。
运行时:
本文由WeX5君整理,WeX5一款开源免费的html5开发工具,H5 App开发就用WeX5!
阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443
评一波