如何解决扩展问题
在制作报表时,经常会遇到将数据库里一列数据按照条件取值后,分为多列显示的需求,由于受到扩展格的影响,总是实现不了这样的需求。本文简单简单介绍一下如何用valueat函数实现按条件取值分多列显示数据的需求。
第一步:制作报表,如图所示:
预览效果:
如图所示,由于B2的默认左主格是A2,所以B2随A2扩展,里面没有数据。
第二步:修改报表,如图所示:
如图所示:首先在B2和C2用count函数计算出指定条件后有多少条数据,然后在A3单元格中用max函数获取一个最大值,然后用to函数从0扩展出展示数据所需要的单元格数量,最后用valueat函数根据指定位置返回数组或者集合表达式中的某一个元素。
Valueat函数的用法如下:
语法:
valueat(arrayexp,suffixExp)
参数说明:
arrayexp 数组或者集合表达式
suffixExp 整数,用于指定返回集合中的第几个元素,以0开始计数
返回值:
集合中的一个元素,数据类型由集合中的元素类型决定
示例:
例1:valueat(to(5,8),2) 返回值为:7
例2:valueat({“a”,”b”,”c”},0) 返回值为:“a”
B3单元格里的表达式:valueat(ds1.Select(TYPE,,TYPE==”9011″),A3)
C3单元格的表达式:valueat(ds1.Select(TYPE,,TYPE==”9011″),A3)
预览效果:
这样,就可以实现将数据库里的一列数据按条件分成多列显示了。同理,还可以添加C列,D列等。