hur.cn - 华软网

 热门搜索

分组的数据窗口,如何才能得到每个分组区的上一行记录的行号

  作者:未知    来源:网络    更新时间:2018/10/11

数据窗口如下:  
行号  |甲   |乙   |丙   |丁   |  
   1  |100  |200  |311  |411  |  
组一  |100  |200  |311  |411  |--------------丙丁两列的分组计算,取值为第1行的丙丁两例值  
   2  |100  |200  |300  |400  |  
   3  |100  |200  |300  |400  |  
   4  |100  |200  |300  |400  |  
   5  |100  |200  |322  |422  |  
组二  |400  |800  |322  |422  |--------------丙丁两列的分组计算,取值为第5行的丙丁两例值  
   6  |100  |200  |300  |400  |  
   7  |100  |200  |333  |444  |  
组三  |200  |400  |333  |433  |--------------丙丁两列的分组计算,取值为第7行的丙丁两例值  
   8  |100  |200  |300  |400  |  
   9  |100  |200  |344  |444  |  
组四  |200  |400  |344  |444  |--------------丙丁两列的分组计算,取值为第9行的丙丁两例值  
                       :  
                       :    
                       :  
问题:  
以上数据窗口中的分组计算如何才能实现  
1.程序中写编码如何实现  
2.在数据对象中写表达如何实现  
3.其它任何方法,只要能实现就行

------华软网友回答------
查下dw_1.findgroupchange()函数的用法
------华软网友回复------
last(#X for all)
last(#x fro group 1)等
用在compute里面
------华软网友回复------
compute里面用last(#x for all)等
------华软网友回复------
试一下
------华软网友回复------
dw_1.findgroupchange 即可
------华软网友回复------
用findgroupchange要自己写算法,赋值也很麻烦. 
还是用计算列来解决吧.
在组头中放计算列,显示"丙"的数据:
Describe("evaluate('丙'," + String( if( first(GetRow() for group 1)=1,last(getrow() for group 1), first( getrow() for group 1) - 1 ) ) + ")" )


丁的话一样道理

Describe("evaluate('丁'," + String( if( first(GetRow() for group 1)=1,last(getrow() for group 1), first( getrow() for group 1) - 1 ) ) + ")" )      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。