应用mcOrder()函数的组内序号| 快逸报表工具
V5教程-表达式与常用函数

一、报表实例

我们先来看一下例子:

在本例中报表按“城市”分成几组,如果我们想为每一组城市分别排序,该如何做呢?我们看一下快逸报表的实现方法。

二、设计过程

1、引用数据集ds20

2、编辑报表

(1)B2单元格表达式为:=ds20.Group(城市,false),左主格为根格`0

(2)C2单元格表达式为:=ds20.Select(公司名称)

(3)D2单元格表达式为:=ds20.联系人姓名

(3)E2单元格表达式为:=ds20.联系人职务

(4)A2单元格表达式为:=mcOrder(C2),左主格为C2

这样每个城市下的C2单元格扩展多少个,前面A2单元格的序号就会自动增加几个。

3、保存预览

此报表保存为“组内序号报表”,预览结果如下:

三、小结 

插入序号

选中单元格,点击菜单工具栏的【插入】-【序号】图标

在弹出的“插入序号”对话框中选择序号类型(分组内序号或分组间序号),输入设置序号的单元格名称:

【确定】后单元格中自动输入序号表达式。

四、函数说明

mcOrder() 

函数说明:取得当前格所属的某主格在所有扩展出来的格子中的排序

语法:  mcOrder(Cellx)

参数说明:

Cellx 当前格的主格

返回值:整数,Cellx主格在所有扩展出来的格子中的排序

说明:Cellx必须是当前格的主格,这样mcOrder(Cellx)才能够正确运算,其返回值相当于是Cellx主格的位置

示例:

例1:A1=to(1,3)  B1=to(4,6)  C1=A1*B1,扩展后C1的第2行值为5,对此格,mcOrder(A1)返回1,mcOrder(B1)返回2;扩展后C1的第6行值为12,对此格,mcOrder(A1)返回2,mcOrder(B1)返回3。

例2:A2的左主格为B2,B2是扩展格,在A2单元格中写入=mcOrder(B2),则返回值随B2的扩展依次改变。