截取字段中的部分字符

在某些时候,数据库中的字段中的数据比较特殊。如一个varchar类型的字段“城市编号”,该字段中的数据是这样:“上海,,123,“杭州,,123”。像这种包含了汉字,逗号和数字且有一定规律的字段,在报表中取数的时候可能只需要将前面的汉字展现出来,后面的逗号和数字无需展现。

那么该如何来截取这前面的一部分汉字呢?

这种功能可以通过split()和隐藏行来实现。下面具体看一下实现步骤。

首先定义一张报表,如下图:

其中,ds1数据集中的数据如下图:

A1中写:=ds1.select(城市编号,false),将城市编号查询出来,

B1中写:=split(A1,,,true),将A1中的数据解析成多个子串,并且也解析逗号。

预览效果如下图:

然后选中B1单元格,在右边属性栏中找到“隐藏行”,在其表达式中写:

if(row()%3==0 || value()==”",true,false),意思是将行号为3的倍数的行和单元格值为空的行隐藏起来。

那么,这 时候预览效果如下图:

但是需要注意一点:如果报表有报表头,或者这些数据并不是位于报表中的第一行,那么隐藏行表达式中的“row()%3==0中的3需要根据实际情况而改变。

以下是split()说明:

函数说明:

将字符串按分割符分割成多个子串

 

语法:

split( srcExp,sepExp{,boolExp})

 

参数说明:

srcExp 待分割的字符串表达式

sepExp 分隔符表达式

boolExp bool型,是否解析引号、括号里的分隔符,

true时解析,为false时不解析,缺省为false

 

热门文章