多种 DAX 方法计算 TOP1 的值
涉及排名或做排行榜的时候,我们需要和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 的值相关推荐
- 如何使用蒙特卡洛(Mento Carlo)方法计算PI(Π)值?(C语言实现)
- Python用蒙特卡罗方法计算圆周率近似值
实验目的: 1.理解蒙特Ÿ卡罗方法原理. 2.理解for循环本质与工作原理. 3.了解random模块中常用函数. 实验内容: 蒙特Ÿ卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的 ...
- Asp.Net异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值的解决方法...
今天项目中碰到一个以前从没有见过的异常信息"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值",于是查了一下资料,原来此异常是由于我在代码中使用了"Re ...
- python计算圆周率_Python实现计算圆周率π的值到任意位的方法示例
本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周率π的值. 二.算法:马青公式 π/4=4arcta ...
- 当前方法的代码已经过优化,因此无法计算表达式的值
当前方法的代码已经过优化,因此无法计算表达式的值 /************************************************************************** ...
- 怎样用python计算π的值_IV.python初探日记:python实现蒙特卡洛方法计算π值
早上中级微观经济学课上复习泰勒展开和麦克劳林展开,顺带讲到了用蒙特卡洛方法实现计算π值,于是下午着手用python尝试着实现了一下,并用matplotlib输出了一部分数据. 完整的代码在文末,本文适 ...
- 蒙特卡洛python求解派_利用蒙特卡洛(Monte Carlo)方法计算π值[ 转载]
圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法. 国际公认的π值计算采用蒙特卡洛方法. 一.蒙特卡洛方法 蒙特卡洛(Monte Carlo)方法,又称随机抽样或统计试 ...
- 编写函数 int fac(int x)计算 x!的值。在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac)
编写函数 int fac(int x)计算 x!的值.在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac) 递归: #includ ...
- python学习之 利用蒙特卡洛方法计算PI值
使用环境为python IDLE3.5. #利用蒙特卡洛方法计算PI值 from random import random from math import sqrt from time import ...
最新文章
- 关于poll机制应用及驱动
- 数据拟合matlab算法
- Android 显示、隐藏状态栏和导航栏
- 115.什么是SHELL
- [Swift]LeetCode468. 验证IP地址 | Validate IP Address
- Firing(POJ-2987)
- SpringCloud Stream操作消息队列
- 疫情期间再读三体(3)——黑暗森林到底怎么个黑法
- K线形态识别—K线反转形态之缺口
- 手把手教你做一个APP应用(含源码)
- 银河麒麟桌面操作系统【telnet配置】
- 一级路由器 和 二级路由器 的关系
- 从零开始足球战术分析
- 【Mac SSH】SSH连接工具finalShell推荐
- eNSP解决OSPF不规则区域几个方法和vlink-peer
- 软件系统——需求调研
- 线程同步,为什么要引入线程同步?
- 2022年云南最新建筑八大员(市政)模拟考试题库及答案
- 10秒钟脱口而出两位数的平方
- Vue项目使用splitpanes插件(垂直水平分割窗口)