亿信ABI
当前版本:5.6.1

列头排序

1. 概述

为了方便用户查看数据时,通过点击列头便捷切换排序效果。

2. 使用说明

2.1排序按钮实现排序

场景1:固定报表的排序

地区

人数

湖北

=100000

湖南

=300000

广东

=200000


计算后的效果,如下图:通过点击标题“人数”实现快速排序。

场景2:浮动报表的排序

例如取个人周报表主题表(FACT_GRZB),按请假工时快速排序展示;

序号

员工ID

请假工时

#

=FACT_GRZB.USERID_

=FACT_GRZB.QJGS


计算效果如下:通过点击标题”请假工时”可以切换升/降序。

注意:表头“排序”按钮,针对客户端当前页排序,适合一页展示的浮动表或者固定报表,快速排序。

2.2万能式钻取实现排序

一些复杂效果的排序实现,在属性“钻取设置”中的“万能式”使用sort()函数,点击列头时会对报表进行排序。函数的原型为sort("range=xx;sortcol=xx;seqcol=xx"):

range

表示要排序的表元。通常是一个指标表元数组。

sortcol

表示要排序的列。可以是数字,也可以是字母。默认是排序表元所在的列。range和sortcol只需指定一个。0-base.

seqcol

表示报表中的序号列。默认是序号表元(即文字为"#"的表元)所在的列。 如果没有,则为-1.

inclient

指定在客户端排序,还是服务器端排序。 为true时,在客户端排序,为false时在服务器端排序,如果不指定,那么根据报表的结构自动判断。
1、有多个分析区时会在服务器端排序
2、有分页时在服务器端排序
程序没办法判断奇偶行颜色各异,这种情况应该手工指定inclient=false。奇偶行颜色各异不能在客户端排序,排序之后颜色会乱掉。必须在服务器端排序。

在要排序的表头使用万能式钻取:sort("inclient=false")即可解决奇偶行颜色各异排序后显示不正确情况。

场景3:全量数据实现排序

基于场景2,计算出的数据分页了,需要在全量数据实现排序效果。可以在表格标题的“属性”中配置万能式钻取,钻取表达式:sort("inclient=false")

点击标题“请假工时”时,会重新计算页面实现排序,如下图会有重新计算的效果。

场景4:浮动表格奇偶行颜色各异

基于场景3,选中浮动行(表格的第二行),在高级属性中增加背景颜色if(MOD(row(),2)=1,'#5AC8FA','#FFFFFF'),表头排序还是使用万能式,钻取表达式:sort("inclient=false")

计算效果如下,

注意:如果使用表头的排序按钮,间隔色效果会乱,效果如下:新增了一列“自然工时”字段,在表头使用“排序”按钮。

场景5:表格联动统计图时的排序

使用表头排序按钮会在客户端排序,不会同步更新统计图的,如果想排序时统计图中的数据也变化,需要在表头万能式使用sort("inclient=false"),Inclient:为true时,在客户端排序,为false时在服务器端排序。

基于场景4,添加统计图,展示员工请假工时情况统计图,横轴取“员工id”,纵轴展示“请假工时”。

通过点击表头的万能式钻取,可以实现排序并且同步刷新统计图数据。

点击使用“排序”按钮的“自然工时”标题,统计图不变化

场景6:表头设置锁定行列的排序

基于场景5在报表设置行列锁定B2(第一行第一列)后,表头“排序”和万能式钻取排序效果一样,都是服务器端计算.

如下图,点击“自然工时”标题排序效果。

场景7:表内表元相加获取值的排序

基于场景6,新增一列“工时合计”,取“请假工时”和“自然工时”,在标题“工时合计”单元格设置万能式钻取:sort("inclient=true")

设置的inclient=true,所以如下图是客户端当前页计算效果。

场景8:表头所有列都按指定列排序

如下图,选中多列表头的单元格,点击万能式,配置钻取表达式:sort("range=H2;inclient=true"),range:表示要排序的表元;

点击“工时合计”表头升序,页面是按“请假工时”升序。

【注意事项】表头“排序”按钮,只是客户端当前页排序,涉及多页、奇偶行颜色各异等效果必须在服务器端排序,使用万能式钻取。

附件列表

0

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇Gis地图制作

下一篇领导驾驶舱制作

请先登录