横向扩展列多列排序

编辑
文档创建者:cherishdqy (66470 )     浏览次数:5324次     编辑次数:5次     最近更新:熊长志 于 2017-07-28     

目录:

1. 问题描述编辑

当模版要实现多列点击排序,而多列的列名是根据字段横向扩展出来的,使用扩展后排序中的方法分别设置order参数的值无法实现横向扩展列中的点击列排序。
222

2. 实现方法编辑

获取点击列的所有值,然后在销售员的单元格属性中,设置扩展后排序,销售员根据点击列的所有值进行排序。

3. 示例编辑

3.1 绑定数据列

将数据列拖拽至单元格,并设置单元格的属性,设置位置及方法如下图:
222

按照上图方法,将下表中对应数据列拖入到单元格中(扩展设置在右下面板的【扩展方向】,数据设置在右上面板【数据设置】):
注:字段设置为汇总时扩展属性会自动变为不扩展,可以通过单元格左上角的灰色箭头查看单元格的扩展方向。
单元格数据集数据列属性
A2ds1销售员  从上到下扩展,居中,其余默认
B1 ds1 产品  从左到右扩展,居中,其余默认
B2ds1销量  不扩展,数据设置:汇总|求和,居中,其余默认

3.2 超级链接设置

给B1单元格,添加超级链接>动态参数,新增1个动态参数为“排序”,并添加两个参数名order和index,order的参数值为公式:if($order == 1, 0, 1),index的参数值为公式:&B1,如下图所示:
222
注:超级链接-动态参数中的index为&B1,即点击时设置index的值为所点击的单元格的序号。
3.3 排序方法的设置
右击销售员所在列(A2单元格),右击单元格>扩展属性,在设计器右侧下方的单元格属性面板中设置扩展后排序为升序并且公式为:if($order == 1, EVAL("B2[;B1:" + $index + "]"), EVAL("-B2[;B1:" + $index + "]")) 。如下图所示:
222
注:该公式的含义为:order为1时,按照EVAL("B2[;B1:" + $index + "]")获取到的点击列的值进行升序排列;order为0时,将获取到的点击列的值处理为负数,然后按照负数进行升序排列。
具体的模板设置可参考:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\Order_6.cpt
在线查看示例效果请点击Order_6.cpt

附件列表


主题: 专题总结
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?