首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

RS2008怎么实现父组排名而子组不排名?

2014-01-21 
RS2008如何实现父组排名而子组不排名??例如:排名A0.33A10.1A20.2B0.61B10.5B20.1C0.52C10.2C20.3只对A/B/C

RS2008如何实现父组排名而子组不排名??
例如:
              排名
A     0.3    3
  A1  0.1
  A2  0.2
B     0.6    1
  B1  0.5
  B2  0.1
C     0.5    2
  C1  0.2
  C2  0.3


只对A/B/C排名,在后面增加一列显示排名,谢谢!
[解决办法]
可以在SQL里实现,但是比较麻烦。可以先将结果进行排序,这样就能得到排名,并存到一个新加字段里。然后再重新连接之前的结果集。
[解决办法]
分组对应的属性中有个排序选项,可以指定排序规则
[解决办法]
数据库中实现,先查排名后查对应排名的子项。不知行不行,这样应该比在报表中实现要简单。
[解决办法]
RS里先对父分组,然后组属性里选择排序。。。
其实你sql 里直接按父排序,然后报表里按父分组即可
[解决办法]
可以在SQL 控制试试,不过以下是建立在父组与子组之间的联系是明确的前提下。



/*表 _temp_csdn_test 数据如下

c1c2
A0.3
A10.1
A20.2
B0.6
B10.5
B20.1
C0.5
C10.2
C20.3
*/
select b.rankno,a.* from _temp_csdn_test a 
left join (select dense_RANK() over(order by c2 desc) as rankno,c1,c2
 from _temp_csdn_test where LEN(c1)=1) b
 on left(a.c1,1)=b.c1
 order by b.rankno
/*结果
1B0.6
1B10.5
1B20.1
2C0.5
2C10.2
2C20.3
3A0.3
3A10.1
3A20.2*/
 


得到以上数据以后,你可以在报表端控制排名是否显示。

热点排行