玩转报表排名

简介: 排名

排名分析是常见的分析方法,主要是通过排名让使用者了解当前业务维度下数据记录的次序,多用于业绩考核和对比分析。虽然排名的需求看着很简单,但实际操作时会发现有常常并不容易实现,这是因为排名的花样实在不少。今天我就来带大家玩转排名,开外挂分分钟搞定需求下班去浪!

一般来讲,常见的排名方式有以下几类:单级排名、去重排名、横向排名、多级排名等。下面就详细说明各种排名是如何被外挂软件——润乾报表——轻松搞定的。

一、单级排名

单级排名也称为组间排名,即对一个字段的数值进行排名,例如,对各个城市的订单总价进行排名,效果图如下:
1

具体实现操作如下:
2

其中,

A2:=ds1.group(货主城市, 货主城市:1)   按照城市进行分组进行数据计算

B2:=ds1.sum(单价 * 数量)       计算每个城市的额销售额

C2:=count(B2[`0]{B2>$B2})+1   根据订单总价进行城市排名分析,也就是统计订单总价比当前单元格订单总价大的城市个数,第一名这个个数是 0,所以需要加 1

这样就实现了单级排名分析,是不是 so easy?

不出所料,有同学举手说第 4 名重复(广州和石家庄)了,那么如果需要实现去重排名,应该怎么做呢?

二、去重排名

去重排名顾名思义,就是排名中没有重复的名次,如果出现相同的名次,后面的名次加 1。

很简单,我们只需要增加一列协助列处理就可以,如下图所示:
3

增加协助处理列:

C2 表达式:=row()     取得当前单元格所在行的行号

E2 表达式:=D2+count(B2[`0]{D2==$D2&&C2<$C2})  取得不重复名次

其中,count(B2[`0]{D2==$D2&&C2<$C2}) 表示统计 B2 单元格中满足下面条件的个数:对应行的 D2 单元格值相同且行号小于当前行。在此基础上加上原来的名次就实现了不重复名次的计算。

最后把不需要的 C 列和 D 列设置隐藏,最终效果如下图所示:
4

上面都是纵向扩展排名,如果是横向扩展的数据,如何实现横向排名呢?

三、横向排名

横向和纵向是根据数据扩展的方向来区分的,顾名思义,横向排名是对横向扩展数据的排名例如,对各个城市的订单总价进行排名,配置方法如下:
5

我们只需要在排名单元格 A3 表达式中增加一个英文分号就可以,表示横向扩展取数计算,即:=count(A2[;`0]{A2>$A2})+1

结果如下:
6

上面我们已经将简单排名需求的制作方法做了详细说明,下面我来考大家一下,如果我在上一个报表的基础上增加了货主地区分组,统计排名时不光统计总的排名,还要统计每一地区内的排名,该如何做呢?这就是我们接下来要说的多级排名。

四、多级排名

多级排名也称为组内排名,对应单级排名的“组间排名”,即在某个分组内各个数据的排名,不同分组之间的排名互不影响,如下图所示,我们除了统计各城市的总排名外,还需要统计这个城市在所属地区下的排名:
7

聪明的你是不是很快就做出来了?我们再来看下具体配置:
8

其中,

A2:=ds1.group(货主地区:1, 货主地区!=null)  按照货主地区分组取数

B2:=ds1.group(货主城市; 货主城市:1)       按照货主城市分组取数

C2:=ds1.sum(单价 * 数量)                  计算订单总价

D2:=count(C2[A2]{C2>$C2})+1            计算同一地区下的订单总价排名

E2:=count(C2[`0]{C2>$C2})+1             计算所有地区下的订单总价排名

count(C2[A2]{C2>$C2})+1 为统计 A2 单元格扩展后某一区域内的订单总价大于当前单元格订单总价的城市个数,然后加一,从而实现对订单总价多级排名的效果。

回顾

好了,至此,常见排名需求效果已经介绍完毕,我们来回顾一下其中遇到的问题和解决的技巧:

单元格定位:

【技巧】:前面我们在很多地方都用了类似“count(C2[0]{C2>$C2})”的表达式,在润乾报表中,这个表达式有一个正式的名称:层次坐标表示法:cellx[0, Lk:lk]。通过层次坐标表示法,我们就可以定位特定的单元格了,其中,`0 代表了根坐标。

不管排名需求如何千变万化,润乾报表都能够以不变应万变,用层次坐标表示法一招搞定,这一波操作 6 不 6?快来加入润乾大家庭,更多快速简便的报表制作方式等你来挖掘。

作者:xiaohuihui
链接:http://c.raqsoft.com.cn/article/1533025684032?r=IBelieve
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
1天前
|
人工智能 运维 安全
|
4天前
|
SpringCloudAlibaba 负载均衡 Dubbo
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
本文对比分析了SpringCloudAlibaba框架下Feign与Dubbo的服务调用性能及差异。Feign基于HTTP协议,使用简单,适合轻量级微服务架构;Dubbo采用RPC通信,性能更优,支持丰富的服务治理功能。通过实际测试,Dubbo在调用性能、负载均衡和服务发现方面表现更出色。两者各有适用场景,可根据项目需求灵活选择。
377 124
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
|
6天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
626 107
|
3天前
|
Java 数据库 数据安全/隐私保护
Spring 微服务和多租户:处理多个客户端
本文介绍了如何在 Spring Boot 微服务架构中实现多租户。多租户允许单个应用实例为多个客户提供独立服务,尤其适用于 SaaS 应用。文章探讨了多租户的类型、优势与挑战,并详细说明了如何通过 Spring Boot 的灵活配置实现租户隔离、动态租户管理及数据源路由,同时确保数据安全与系统可扩展性。结合微服务的优势,开发者可以构建高效、可维护的多租户系统。
199 127
|
3天前
|
Web App开发 前端开发 API
在折叠屏应用中,如何处理不同屏幕尺寸和设备类型的样式兼容性?
在折叠屏应用中,如何处理不同屏幕尺寸和设备类型的样式兼容性?
225 124
|
3天前
|
人工智能 数据可视化 测试技术
Coze平台指南(3):核心功能-创建智能体与设计角色
Coze 智能体是由大语言模型驱动,通过提示词设定角色,并借助知识库、插件和工作流扩展能力,以执行特定任务的AI助手。对测试工程师而言,精心设计的智能体可显著提升测试效率与质量,关键是要准确理解测试需求,并将其转化为智能体的角色设定和功能配置。建议进一步学习知识库与工作流,以深化应用。
|
7天前
|
JSON fastjson Java
FastJson 完全学习指南(初学者从零入门)
摘要:本文是FastJson的入门学习指南,主要内容包括: JSON基础:介绍JSON格式特点、键值对规则、数组和对象格式,以及嵌套结构的访问方式。FastJson是阿里巴巴开源的高性能JSON解析库,具有速度快、功能全、使用简单等优势,并介绍如何引入依赖,如何替换Springboot默认的JackJson。 核心API: 序列化:将Java对象转换为JSON字符串,演示对象、List和Map的序列化方法; 反序列化:将JSON字符串转回Java对象,展示基本对象转换方法;