zoukankan      html  css  js  c++  java
  • 玩转报表排名之组内排名

    “一眨眼又到年中了,各种业绩考核结果即将出炉。这不头儿明天要对于各个地区的订单情况做个排名分析,吩咐我下班前吧材料准备好,可是离下班就剩下五分钟了!好巧不巧仰慕已久的女神又突然约饭!怎么办?怎么办?!”

    嗯 ~ 是时候展现真正的技术了。

    【技术装备】:润乾报表

    【核心技术】:坐标定位单元格

    我们都知道排名分析是常见的分析方法,主要是通过排名让使用者了解当前业务维度下数据记录的次序,多用于业绩考核和对比分析。排名分析中除了之前讲到的总(组间)排名,还涉及到组内排名,这就是今天要放的大招。

    组内排名就是在分组内对数据进行独立排名,不同分组之间的排名互不影响。如下图所示,我们除了统计各城市的总排名外,还需要统计这个城市在所属地区下的排名情况:

    话不多说,开干!总排名按照我们之前讲解的内容很容易就能做出来:

    那地区内各个城市的排名如何计算呢?

    如果我们能获取到各个地区下的订单总价,然后对这些数据进行排名就很简单了,在润乾报表中,这确实就是一件很简单的事情,答案是用坐标来获取:通过 C2[A2],就可以获取 A2(地区) 下的 C2(订单总价) 数据了。说到这里,想必你应该都已经制作出来了吧,鼓掌 ~

    报表设计如下图所示:

    其中,

    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 单元格扩展后某一地区内的订单总价大于当前单元格订单总价的城市个数,然后加一,从而实现对订单总价进行组内排名的效果。

    一个表达式就实现了组内排名分析,是不是 so easy?

    好了,至此,组内排名需求效果已完美实现,我们来回顾一下其中遇到的问题和解决的技巧:

    【问题】单元格定位:

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

    润乾报表分分钟搞定排名分析,小编也如期赴约,嗷吼吼 ~ 这样的利器可以来一打。

    作者:xiaohuihui

    链接:http://c.raqsoft.com.cn/article/1533471524092?r=IBelieve

    来源:乾学院

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    剑指 Offer 42. 连续子数组的最大和
    剑指 Offer 41. 数据流中的中位数
    剑指 Offer 40. 最小的k个数
    剑指 Offer 39. 数组中出现次数超过一半的数字
    20210510日报
    20210507日报
    20210506日报
    20210505日报
    20210504日报
    20210503日报
  • 原文地址:https://www.cnblogs.com/IBelieve002/p/9764634.html
Copyright © 2011-2022 走看看