涉及排名或做排行榜的时候,我们需要和No.1的值做比较,来查看差距。比如业务员比较销售业绩的时候,将其他业务员的业绩与销售冠军进行比较;在市场占有率上,挑战者与主导者的市场份额比较;学分排名上,其他学员的成绩和第一名的成绩进行比较等等,需要确定TOP1的值,接下来用多种方式计算TOP1的值。

场景是房产销售业绩排行比较。销售表记录了销售员销售多种户型的销售额记录,新建一个销售员表与销售表的销售员进行关联。

第一种方式

用MAXX迭代函数计算销售员里销售额最大的值。

TOP1_v1 =
MAXX ( ALL ( '销售员' ), '销售表'[销售额(万元)] )

第二种方式

用TOPN函数和CALCULATE结合计算。

TOP1_v2 =
CALCULATE ( '销售表'[销售额(万元)],
TOPN ( 1,ALL ( '销售员' ), '销售表'[销售额(万元)] ))

第三种方式

用summarize新建一个聚合表,相当于对销售表按销售员进行聚合透视。
直接用MAX取聚合表的最大值即是销售员TOP1的销售记录。

聚合表 =
SUMMARIZE ( '销售表', '销售员'[销售员], "销售额", '销售表'[销售额(万元)] )
TOP1_v3 =
MAX ( '聚合表'[销售额] )

接下来的两种方式看起来比较麻烦,不过这两种方式旨在熟悉一下其他函数的用法。

第四种方式

在聚合表里新建计算列,用rank.eq计算出排名第一的就是No.1的值。

销售额排名 =
RANK.EQ ( '聚合表'[销售额], '聚合表'[销售额] )
TOP1_V4 =
CALCULATE ( SUM( '聚合表'[销售额] ), '聚合表'[销售额排名] = 1 )

第五种方式

在做帕累托图的时候,需要计算出累计百分比,销售员中累计百分比最小的销售记录就是No.1的值,按这个思路来计算TOP1的值。

销售额累计占比 =
CALCULATE (SUM ( '聚合表'[销售额] ),FILTER ( '聚合表', '聚合表'[销售额] >= EARLIER ( '聚合表'[销售额] ) )
)/ SUM ( '聚合表'[销售额] )
销售额累计占比排名 =
RANK.EQ ( '聚合表'[销售额累计占比], '聚合表'[销售额累计占比], ASC )

销售额累计占比排名按升序排序,最小排名就是最大值。

TOP1_v5 =
CALCULATE ( SUM( '聚合表'[销售额] ), '聚合表'[销售额累计占比排名]= 1 )

以上就是5种计算TOP1值的方法。有了标杆值,计算出销售额相对占比即销售员销售额占No.1的比例,查看相对差距。

销售额相对占比 =
IF (ISFILTERED ( '销售员'[销售员] ),DIVIDE ( '销售表'[销售额(万元)], '销售表'[TOP1_v1] ),BLANK ()
)

用slim data bar可视化销售员业绩排行,可以看到销售员与No.1的差距。
由于目标和相对占比无法在一张图里展示,下图是两张slim data bar拼接而成。

以上就是处理排行中与No.1进行比较的方法,希望对大家有所帮助。

** PowerPivot工坊原创文章,转载请注明出处!*


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

多种 DAX 方法计算 TOP1 的值相关推荐

  1. 如何使用蒙特卡洛(Mento Carlo)方法计算PI(Π)值?(C语言实现)

  2. Python用蒙特卡罗方法计算圆周率近似值

    实验目的: 1.理解蒙特Ÿ卡罗方法原理. 2.理解for循环本质与工作原理. 3.了解random模块中常用函数. 实验内容: 蒙特Ÿ卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的 ...

  3. Asp.Net异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值的解决方法...

    今天项目中碰到一个以前从没有见过的异常信息"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值",于是查了一下资料,原来此异常是由于我在代码中使用了"Re ...

  4. python计算圆周率_Python实现计算圆周率π的值到任意位的方法示例

    本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周率π的值. 二.算法:马青公式 π/4=4arcta ...

  5. 当前方法的代码已经过优化,因此无法计算表达式的值

    当前方法的代码已经过优化,因此无法计算表达式的值 /************************************************************************** ...

  6. 怎样用python计算π的值_IV.python初探日记:python实现蒙特卡洛方法计算π值

    早上中级微观经济学课上复习泰勒展开和麦克劳林展开,顺带讲到了用蒙特卡洛方法实现计算π值,于是下午着手用python尝试着实现了一下,并用matplotlib输出了一部分数据. 完整的代码在文末,本文适 ...

  7. 蒙特卡洛python求解派_利用蒙特卡洛(Monte Carlo)方法计算π值[ 转载]

    圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法. 国际公认的π值计算采用蒙特卡洛方法. 一.蒙特卡洛方法 蒙特卡洛(Monte Carlo)方法,又称随机抽样或统计试 ...

  8. 编写函数 int fac(int x)计算 x!的值。在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac)

    编写函数 int fac(int x)计算 x!的值.在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac) 递归: #includ ...

  9. python学习之 利用蒙特卡洛方法计算PI值

    使用环境为python IDLE3.5. #利用蒙特卡洛方法计算PI值 from random import random from math import sqrt from time import ...

最新文章

  1. 关于poll机制应用及驱动
  2. 数据拟合matlab算法
  3. Android 显示、隐藏状态栏和导航栏
  4. 115.什么是SHELL
  5. [Swift]LeetCode468. 验证IP地址 | Validate IP Address
  6. Firing(POJ-2987)
  7. SpringCloud Stream操作消息队列
  8. 疫情期间再读三体(3)——黑暗森林到底怎么个黑法
  9. K线形态识别—K线反转形态之缺口
  10. 手把手教你做一个APP应用(含源码)
  11. 银河麒麟桌面操作系统【telnet配置】
  12. 一级路由器 和 二级路由器 的关系
  13. 从零开始足球战术分析
  14. 【Mac SSH】SSH连接工具finalShell推荐
  15. eNSP解决OSPF不规则区域几个方法和vlink-peer
  16. 软件系统——需求调研
  17. 线程同步,为什么要引入线程同步?
  18. 2022年云南最新建筑八大员(市政)模拟考试题库及答案
  19. 10秒钟脱口而出两位数的平方
  20. Vue项目使用splitpanes插件(垂直水平分割窗口)

热门文章

  1. MATLAB Simulink模块库详解(二)Sinks篇
  2. 迪拜政府重金研究区块链,未来四年…
  3. 微信无法下载文件做提示跳转到浏览器
  4. 基于51单片机的倒车雷达声光报警系统proteus仿真原理图PCB
  5. 分布式会话和基于TOKEN的分布式会话
  6. Build Mesh!
  7. oracle查询前几名,Oracle子查询前1名的结果(Oracle subquery top 1 result)
  8. 选择要运行的生成任务_为什么要选择正念而不是多任务
  9. C#WINFORM全选反选(两种)
  10. Apache Livy 安装部署使用示例