润乾报表学习笔记--显示格式,显示值

    • 显示格式

      报表运算出来的数据,往往需要按照一定的格式进行展现,例如金额1234.5678希望显示成¥1,234.56,日期2005/12/25希望显示成2005-12-25,百分比0.2345希望显示成23.5%等等

    • 虽然对数据的显示格式有一定的要求,但是单元格里真实的数据不能改变,照样能够被其他单元格引用,例如1234.5678虽然显示成1,234.56,但是其他单元格引用时,引用的是1234.5678而不是1,234.56,否则会导致误差

 

  • 显示格式的设置方法
    • 选中需要设置显示格式的单元格(可以批量选择),双击属性列表中的 显示格式,如下图所示:
      润乾报表学习笔记--显示格式,显示值_第1张图片
       
    • 双击后,弹出显示格式编辑对话框,如下图所示:

    • 润乾报表学习笔记--显示格式,显示值_第2张图片
  • 显示值:由于业务的需要以及设计数据库的考虑,从数据库事实表中取出来的很多度量字段的值往往是编码,例如员工表的性别字段,往往存的是0或者1,但是在报表中希望显示成 男 或 女

  • 虽然编码字段在报表中显示成对应的中文,但是该单元格的真实编码还需要保留,当别的单元格引用该单元格时,引用的是编码而非中文,此时就需要用到单元格的显示值属性

  • 单元格的显示值也可以被引用,此时用到disp函数,例如:disp(A1) 代表A1单元格的显示值。
  • 显示值的定义有两种方式:
    • 单值和对照表举例:
    • 单值定义法:
      • 1、例如:"中国",那么该单元格就显示为"中国" 
      • 2、例如:ds1.select1(name,value()==id)
    • 对照表定义法:
      •  例如:map(list("0","1"),list("男","女"))
  • 特别说明

    当对数据集运用过滤条件后确定只剩一条记录时,虽然select和select1的的运算结果一样,但是select1运算效率高,因为他只要找到符合条件的记录,就不继续检索了,而select要检索完所有的记录才返回。考虑到显示值属性的定义里,几乎所有情况都只需要返回一条记录,因此建议大家使用select1,不要使用select

  • map函数说明

    显示值对照表函数,从对照表中找出当前单元格对应值的显示值,没有则返回null

    语法: map(valueListExp, displayListExp)

    参数说明:

    valueListExp 真实值列表,可以是可扩展单元格或结果为集合列表的表达式

    displayListExp 显示值列表,可以是可扩展单元格或结果为集合列表的表达式 真实值列表和显示值列表一一对应

    返回值: 字符型,和当前格真实值对应的显示值

    示例:

    例1:map(to(1,3),list("男","女","不定"))

    例2:map(arg1,arg2) 其中arg1为1,2,3组成的参数组,arg2为"男","女","不定"组成的字符串组

    例3:map(list(1,2,3),list("男","女","不定"))

     

  • Select1函数说明

    从数据集中按顺序检索到符合过滤条件的第一条记录,返回其selectExp值

    语法: datasetName.select1(selectExp{,filterExp{,rootGroupExp}})

    参数说明: selectExp 要选择的字段列名/列号,,也可以是表达式。 列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推 filterExp 过滤条件 rootGroupExp 是否root数据集表达式

    返回值: 数据类型不定,由selectExp的运算结果决定

    特别说明: 当对数据集运用过滤条件后确定只剩一条记录时,虽然select的运算结果一样,但是select1运算效率高,因为他只要找到符合条件的记录,就不继续检索了,而select要检索完所有的记录才返回。

    示例:

    例1:ds1.select1(name) 返回数据集ds1中第一条记录的name字段值

    例2:ds1.select1(name,score>90) 从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值

  • Value函数说明

    取得当前单元格的值

    语法: value()

    返回值: 当前单元格的值


 

你可能感兴趣的:(润乾报表,显示格式,map函数,select1函数,value函数)