报表知识库
我要提问

如何解决扩展问题

在制作报表时,经常会遇到将数据库里一列数据按照条件取值后,分为多列显示的需求,由于受到扩展格的影响,总是实现不了这样的需求。本文简单简单介绍一下如何用valueat函数实现按条件取值分多列显示数据的需求。

第一步:制作报表,如图所示:

 159

预览效果:

 160

如图所示,由于B2的默认左主格是A2,所以B2随A2扩展,里面没有数据。

第二步:修改报表,如图所示:

 1611

如图所示:首先在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)

预览效果:

 1621