1. 概述
1.1 应用场景
用户在制作表格组件时,在 过滤组件 过滤结果的基础上,希望数据可以按照某种顺序展示。
1.2 功能简介
表格排序有两个入口:「分析区域字段框维度字段」的排序入口和「图表生成区域表格中表头」的排序入口。如下图所示:
注:明细表仅支持「表头排序」。
1.3 不支持表格排序
表格类型 | 说明 |
---|---|
明细表 | 不支持维度排序 |
计算字段 不支持表头排序 | |
所有表格 | 「时间」字段不支持自定义排序,「数值」维度字段只有「区间分组」设置可以自定义排序 |
2. 维度排序
注:明细表不支持维度排序。
2.1 升序/降序排列
在维度排序可设置排序依赖的字段。
排序依赖字段选择范围:
排序依赖字段 |
---|
依赖字段自身排序 |
依赖其他维度字段排序 |
依赖拖入分析区域的指标字段排序 (结果过滤器和表格属性中也属于分析区域) |
如下图所示:
2.1.1 依赖自身排序
维度按自身排序,如首字段相同则比较下一个字符。例如,对合同签约时间设置为降序排列且依赖合同签约时间字段,如下图所示:
则「合同签约时间」从最近日期往后,降序排列,效果如下图所示:
注:默认排序规则是 UTF-8,UTF-8 汉字是按照康熙字典进行的排序,如果需要汉字按照拼音排序需要开启 中文排序 功能,再重启 BI ,然后重新抽取所有数据,汉字排序如遇见特殊字符会出现报错,请谨慎开启。
2.1.2 依赖其他字段排序
1)依赖指标字段排序
例如,设置「合同类型」按购买数量升序排列,如下图所示:
则对「合同类型」按照购买数量从小到大升序排列,效果如下图所示:
2)依赖其他维度字段排序
若被依赖字段与排序字段一一对应,则根据被依赖字段排序。例如,设置合同 ID根据合同签约时间升序排列,如下图所示:
则合同ID 根据「合同签约时间」升序设置效果如下图所示:
若被依赖字段对应多个值,按该分组下最小/大字段值进行升/降序。
例如,设置合同类型根据合同签约时间「升序」排列。设置后,合同类型按合同签约时间的组内最小值,升序排列。效果如下图所示:
2.2 自定义排序
支持按照用户自定义拖拽顺序排序。
例如设置合同类型的自定义排序,点击进入自定义排序入口,如下图所示:
拖拽字段设置自定义排序,完成点击「确定」保存。如下图所示:
自定义排序的维度表头不显示排序图标。效果如下图所示:
3. 表头排序
通过表头字段实现对表格展示数据的排序。下面通过不同的表格组件来介绍各自的表头排序规则。
3.1 分组表
注:指标字段设置的排序条件会覆盖维度设置的排序条件。由于分组表和交叉表有分组的逻辑,所以会先按照汇总值排序,然后再组内排序。
分组表表头排序入口,如下图所示:
例如,设置合同类型升序,合同签约时间组内升序。效果如下图所示:
注:默认排序规则是 UTF-8,UTF-8 汉字是按照康熙字典进行的排序,如果需要汉字按照拼音排序需要开启 中文排序 功能,再重启 BI ,然后重新抽取所有数据,汉字排序如遇见特殊字符会出现报错,请谨慎开启。
在此基础上设置了购买数量的降序排列,由于分组表和交叉表有分组的逻辑,所以会先按照汇总值排序,然后再组内排序。
即先按照不同「合同类型」的汇总购买数量进行降序排列,然后对每个合同类型下「合同签约时间」对应的购买数量进行组内降序排列,效果如下图所示:
3.2 交叉表
维度:支持升序、降序排序;
指标:支持按升序、降序、不排序设置;指标设置的排序条件会覆盖维度设置的排序条件。由于分组表和交叉表有分组的逻辑,所以会先按照汇总值排序,然后再组内排序。
交叉表表头排序与分组表表头排序基本相同,可参考本文 3.1 节。
需要注意:当行列维度中有相同字段的时候,对其中一个字段设置排序,另一个也会同步排序;例如交叉表中都有合同类型,给其中任意一个合同类型设置排序,另一个合同类型都会同步排序,如下图所示:
3.3 明细表
明细表首字段已经设置排序后,第二个及之后设置排序的字段,是在第一个设置的字段排序基础上实现「组内」排序的。
注:计算字段 不支持排序。
例如,按照合同类型、合同签约时间、合同金额依次降序排列。则合同金额在满足前两个降序排列条件下,组内降序排列,如下图所示:
4. 注意事项
4.1 中文排序
默认排序规则是 UTF-8,UTF-8 汉字是按照康熙字典进行的排序,如果需要汉字按照拼音排序,需要开启「中文排序」功能,再重启 BI ,然后重新抽取所有数据,汉字排序如遇见特殊字符会出现报错,请谨慎开启。
4.1.1 操作步骤
1)在「系统管理>常规>BI参数」中有中文排序按钮,开启后使文本字段按照中文拼音首字母排序,需重启服务器,分布式表需要重新抽数。如下图所示:
2)重启 BI 后重新更新数据表,详情参见文档:全局更新
4.1.2 效果查看
在系统管理中开启中文排序,抽数并重启后。例如上表是未开启中文排序的状态,开启中文排序后分别按照“长-c”,“服-f”,“购-g”来排序,如果首字符的首个拼音字母一样,则按照首字符的第二个拼音字母排序,拼音均相同的,较长的字符排在后面例如“长期协议”在“长期协议订单”之前。如下图所示:
4.2 null 值排序
null为最小值,升序是排在最前,降序时排在最后。如下图所示:
4.3 自定义排序与过滤组件共同使用
若使用了过滤组件,然后在表格中使用自定义排序,设置排序时不会只显示过滤后的结果,而是显示所有数据。