全部博文(105)
分类: 数据库开发技术
2013-06-13 14:53:04
数据窗口中分组后如何添加序号列?
2008-02-29 12:43:25| 分类: PB编程技巧 |字号 订阅
用计算域,放在明细区:
getrow() - first(getrow() for group 1) + 1
---------------------------------------------------------------
first(getrow() for group 1)
可以取得每一组的第一行的行号
---------------------------------------------------------------
//做分组组号
cumulativesum( if( 分组列名 [-1] = 分组列名 [0],0,1) for all )
//做组内编号
getrow() - first(getrow() for group 1) + 1
---------------------------------------------------------------
★★★★ pb中怎样按分组取行号? ★★★★
有三个函数可以灵活使用:
cumulativepercent:取得包括当前行之前值占总数的百分点
cumulativesum:取得包括当前行之间的行的值的总数
percent:取得当前行值占总数的百分点
用法(三个都相同):
cumulativesum ( column { for range }
下面的表达式可取得分组1的每一行的行号:
cumulativesum (1 for group 1)
range的值可以这样写:
all — (缺省) 取某列的当前行之前所有行的累积值
group n — 取某列的当前行之前,在分组中所有行的累积值。必须指定一个分组号。例如 group 1
page — 取某列的当前行之前,且在本页内所有行的累积值
对于交叉表,可以这样指定 crosstab 的范围:
crosstab — (只用于交叉表) 在交叉表中,取某列的当前行之前所有行的累积值
对于图表和 ole 对象, 可以使用下列方式之一:
graph — (只用于图表) the cumulative percentage of values in column in the range specified for the rows option
object — (只用于 ole 对象) the cumulative percentage of values in column in the range specified for the rows option