一、报表实例
在上节设计的“运货信息表1”中,运货商是用数值显示的,用户可能看不清楚,我们希望在报表中显示对应的运货商的名称,如下图所示:
此报表保存为“运货信息表2”。
二、设计过程:
1、增加一个数据集
引用数据集demo_运货商
2、编辑显示值表达式
(1)设置C2的显示值为:demo_运货商.select1(COMPANYNAME,SHIPPERID==value())
(2)设置B2、F2单元格的显示格式为:yyyy年MM月dd日
(3)设置D2单元格的显示格式为:¥#0.00
三、小结
1. 显示值
由于业务的需要以及设计数据库的考虑,从数据库事实表中取出来的很多度量字段的值都是编码,例如:员工表的性别字段,往往存的是0或者1,但是在报表中希望显示成“男”或“女”。
虽然编码字段在报表中显示成对应的中文,但是该单元格的真实编码还需要保留,当别的单元格引用该单元格时,引用的是编码而非中文,此时就需要用到单元格的显示值属性。
单元格的显示值也可以被引用,此时用到disp函数,例如:disp(A1) 代表A1单元格的显示值。
显示值的定义有两种方式:单值和对照表
- 单值定义法:
例1:"中国",那么该单元格就显示为"中国"
例2:ds1.select1(name,value()==id)
- 对照表定义法:
例:map(list("0","1"),list("男","女"))
2. 显示值表达式的设置方法
选中单元格,在报表属性栏的“显示值”栏或菜单工具栏的【编辑】-【显示值】中设置。
“显示值”和“表达式编辑”窗口如下图所示:
课后练习:
1、显示值的定义有哪几种方式?分别用到什么函数?
2、显示值怎么设置?
3、已知E3单元格的表达式:=ds3.DEGREE,数据集degree如下图所示,要想将学历用汉字显示出来,E3单元格的显示值表达式如何写?
4、已知F3单元格的表达式:=ds1.供应商ID,数据集ds2如下图所示,要想将供应商用汉字显示出来,F3单元格的显示值表达式如何写?