在数据分析时,编辑端的排序决定了数据计算的对象范围;用户在访问时,可通过排序快速获取重点信息的罗列展示。
排序功能分为编辑端排序(制作报表时进行排序)、浏览端排序(用户访问时进行排序),且不同的组件对排序的支持也略有不同。
本文介绍以下操作:
不排序
升/降序
按其他字段排序
自定义排序
全局排序
以及以下相关操作说明:
浏览端排序说明
移动端排序说明
不同组件使用说明
示例底表数据:
商品名称 | 渠道商 | 销量 |
商品A | 渠道A | 60 |
商品A | 渠道B | 100 |
商品B | 渠道C | 200 |
商品A | 渠道C | 120 |
商品B | 渠道B | 100 |
商品C | 渠道E | 50 |
商品B | 渠道D | 30 |
商品A | 渠道D | 80 |
* 示例中,都以明细表为例,其他组件略有差异,详见《不同组件使用说明》部分。
不排序
选择不排序表示排序规则按照数据库的自然排序处理,默认所有字段为“不排序”。
升/降序
通过升降序,可以快速对当前字段进行升降序操作,如示例表,对“商品名称”升降序,相当于 sql 中的 ORDER BY 商品名称。
1. 创建一个明细表,引用示例底表,并设置好数据列信息;


2. 在“商品名称”字段上依次选择“排序” > “升序”;


3. 查看结果,已按照“商品名称”进行了升序排列了(文本类型排序以 ASCII 编码排序);


4. 如需查看哪些商品销量好,可按照销量进行倒序排列,在“销量”字段上选择“排序” > “降序”;


5. 查看结果,已按照“销量”进行了倒序排列了。


注意:
在实际查询执行中,排序会转化为 ORDER BY 执行,所以,不同的排序可能导致查询结果的不一致;
如上例,如果结果展示行数为2,则按照销量倒序后,过滤的维值为“商品B-渠道C、商品A-渠道C”,汇总结果为 200+120=220; 如按照销量升序后,过滤的维值为“商品B-渠道D、商品C-渠道E”,汇总结果为 30+50 = 80
按其他字段排序
按字段排序主要有两个使用场景:
多个维度字段需要按照一个指标进行排序:如 “部门”按照“收入”进行倒序排,“部门”下面的“小组”按照“收入”进行升序排;
展示排序字段不适合按照自身进行排序:如文本月份,按照自身排序,就会出现 4月(April)排在1月(January)前,这个时候可以通过增加个计算字段映射“英文月份”和“数字月份”字段(如April映射成4),然后“英文月份”按照“数字月份”升序,最终得到合适的排序。
1. 创建一个明细表,引用示例底表,并设置好数据列信息;

2. 在“商品名称”字段上依次选择“排序” > “按字段降序” > “销量”;

3. 查看结果,“商品名称”列已按照“销量”进行了倒序排列了(此时效果等同于只有销量降序);

4. 此时,我们希望对同样销量的商品,“渠道商”可以按照“商品名称”进行降序排,则可以对“渠道商”字段进行按字段降序;

5. 查看结果,对比前后差异,发现在同样的销量时,“商品名称A” 已经 排到了 “商品名称B”下面了。

自定义排序
对于维度字段,支持对维值进行强制排序,如周一~周日的排序,实际场景我们希望可以按照周一到周日进行排序,则可以通过自定义排序的方式实现。
假设,我们要对“渠道商”,强制按照“渠道商A > 渠道商C > 渠道商D > 渠道商B > 渠道商E”,以下展示操作过程:
1. 编辑组件,在“渠道商”字段上依次选择 “排序” >“自定义排序”;

2. 在自定义排序设置弹层里,可拖动渠道商名称进行排序;


3. 当你的数据较多时,不便于拖拽排序,也可以使用输入排序的方式,直接输入文本来进行排序。

输入排序时,不需要把全部维值给输入,没有输入的值,会按照自然排序;
如需优先显示输入的值,剩下的值按照自然排序(即不排序),则可以勾选“以上值优先排序”;
如需最后才显示输入的值,剩下的值按照自然排序(即不排序),则可以勾选“以上值最后排序”;
输入排序时,如果用户输入了不存在的维值,依然可以继续提交(因为提交的维值可能在其他场景下存在或者在未来记录可能产生);
输入排序时,最多可对1000条记录进行拖拽排序;
时间字段不支持自定义排序。
全局排序
当有多个维度字段时,默认是按照字段的位置进行优先级排序的,如示例,如果都有设置排序,那么排序会优先“商品名称”,如果“商品名称”相同,则会再按“渠道商”字段排序,以此类推;
但,我们还有一种场景,同样的表格,我们希望优先按照“渠道商”进行排序,然后再按照“商品名称”排序,这个顺序和字段的位置顺序不是一致的,这时候就需要使用到全局排序功能,全局排序决定了排序依据字段的优先级。
1. 编辑组件,在任一字段上依次选择 “排序” > “全局排序”;

2. 拖动排序字段,调整优先级(你也可以在这里重新设置字段的排序规则);

3. 我们看到优先对“供应商”字段进行排序,排完后,再对“商品名称”进行排序,排序依据为按照销量的升序,最终效果:

浏览端排序说明
在编辑侧完成初始排序后,对于访问者,也可以在浏览端根据需求进行排序。
此处浏览端指访问数据看板、分享页面或嵌出页面等(因移动端有其特殊性,所以这里不含移动端,移动端单列说明)。
下面以访问数据看板为例说明其操作:
1. 用户进入控制台 > 项目 > 数据看板 ,访问页面;

2. 点击表格类组件的表头,在弹出的排序里选择排序方式;

* 在浏览端,不支持自定义排序、全局排序,仅支持升降序及按字段升降序。
3. 查看结果,已经可以看到浏览端排序发生相应变化。

移动端排序说明
移动端因有其特殊性,无法进行复杂的排序,仅支持根据编辑端设置的规则,切换 不排序、升序、降序。
1. 手机端打开报表,在表格里点击表头切换排序


2. 排序切换仅支持:
升序:如果编辑端没有设置 按其他字段排序,则升序为当前字段升序;如有设置按其他字段排序(如按“收入”字段),则升序指按“收入”升序;
降序:功能同升序,排序方式为降序;
不排序:回到默认排序。
不同组件使用说明
编辑端/浏览端/移动端 | 组件 | 不排序 | 升降序 | 按字段升降序 | 全局排序 | 自定义排序 |
编辑端 | 明细表 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 表格 | 支持 | 支持 | 支持(指标不支持) | 支持 | 支持(指标不支持) |
| 交叉表 | 支持 | 支持 | 支持(指标不支持) | 支持(列维不支持) | 支持(指标不支持) |
浏览端 | 明细表 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 表格 | 支持 | 支持 | 支持(指标不支持) | 不支持 | 不支持 |
| 交叉表 | 支持 | 支持 | 支持(指标不支持) | 不支持 | 不支持 |
移动端 | 明细表 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 表格 | 支持 | 支持 | 支持(指标不支持,根据编辑端配置决定) | 不支持 | 不支持 |
| 交叉表 | 支持 | 支持 | 支持(指标不支持,根据编辑端配置决定) | 不支持 | 不支持 |