109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)
博客:www.jiaopengzi.com
1、背景
客户ABC分析,一般的套路是在计算列中把客户ABC分类,便于后续维度使用。今天用度量值的方式写一个ABC的分类。先上效果图(作图是笔者弱项,将就看吧。)

2、数据源及关系
数据源
维度表:DIM;事实表:FACT如下

关系

ABC设置
A:[0,0.7]
B:(0.7,0.9]
C:(0.9,1]
3、上DAX
total
total:=SUM('FACT'[value])
R:排名
R:=IF(ISFILTERED(DIM[客户ID]),RANKX ( ALL( DIM[客户ID] ), [total], [total], DESC ))
累计%:客户value降序的累计百分比
累计%:=VAR LJ =
CALCULATE (
[total],
TOPN ( 'DIM'[R], ADDCOLUMNS ( ALL ( DIM ), "R", 'DIM'[R] ), [R], ASC )
)
VAR T =
CALCULATE ( 'FACT'[total], ALL ( DIM[客户ID] ) )
VAR P =
DIVIDE ( LJ, T )
RETURN
P
分类:客户ABC的分类
分类:=VAR LJ =
CALCULATE (
[total],
TOPN ( 'DIM'[R], ADDCOLUMNS ( ALL ( DIM ), "R", 'DIM'[R] ), [R], ASC )
)
VAR T =
CALCULATE ( 'FACT'[total], ALL ( DIM[客户ID] ) )
VAR P =
DIVIDE ( LJ, T )
RETURN
IF(ISFILTERED(DIM[客户ID]),SWITCH (
TRUE (),
P > 0
&& P <= 0.7, "A",
P > 0.7
&& P <= 0.9, "B",
P > 0.9
&& P <= 1, "C"
))
A:A类客户的value
A:=var FL='DIM'[分类]
RETURN
IF(FL="A",'FACT'[total])
B:B类客户的value
B:=var FL='DIM'[分类]
RETURN
IF(FL="B",'FACT'[total])
C:C类客户的value
C:=var FL='DIM'[分类]
RETURN
IF(FL="C",'FACT'[total])
透视表效果
这里拉出的效果是按照客户维度的,需要按照排名维度来做一个排序及即可做图。

作图辅助表及作图
笔者作图美工弱项,将就看吧,功能基本达到,可以根据需求再美化。


4、总结
1、在计算列中计算出ABC分类,便于维度分析
2、本案例不用计算列即可,弊端是不能在维度中
3、客户ABC分析主要是要把客户rank搞定,根据输出的上下文写dax即可。
by 焦棚子
109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)的更多相关文章
- 帕累托分析法(Pareto Analysis)(柏拉图分析)
帕累托分析法(Pareto Analysis)(柏拉图分析) ABC分类法是由意大利经济学家帕雷托首创的.1879年,帕累托研究个人收入的分布状态图是地,发现少数人收入占全部人口收入的大部分,而多数人 ...
- 数据可视化之分析篇(一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 通过简单的点击交互,就能进行动态分析发现见解,才是我们需要的,恰好这也是 PowerBI 所擅长的. 就帕累托分析来说,能从 ...
- 数据可视化之PowerQuery篇(十一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体 ...
- 数据特征分析:3.统计分析 & 帕累托分析
1.统计分析 统计指标对定量数据进行统计描述,常从集中趋势和离中趋势两个方面进行分析 集中趋势度量 / 离中趋势度量 One.集中趋势度量 指一组数据向某一中心靠拢的倾向,核心在于寻找数据的代表值或中 ...
- 数据可视化之powerBI技巧(四)使用Power BI制作帕累托图
各种复杂现象的背后,其实都是受关键的少数因素和普通的大多数因素所影响,把主要精力放在关键的少数因素上,就能达到事半功倍的效果. 这就是大家常说的二八原则,也称为帕累托原则,最早是由意大利经济学家 V. ...
- 帕累托分布(Pareto distributions)、马太效应
什么是帕累托分布 帕累托分布是以意大利经济学家维弗雷多·帕雷托命名的. 是从大量真实世界的现象中发现的幂次定律分布.这个分布在经济学以外,也被称为布拉德福分布. 帕累托因对意大利20%的人口拥有80% ...
- tableau-创建帕累托图
参考文献:https://onlinehelp.tableau.com/current/pro/desktop/zh-cn/pareto.html 帕累托图是一种按发生频率排序的特殊直方图.在质量管理 ...
- Tableau绘图一热图、日历图、人口金字塔、标靶图、凹凸图、帕累托图
Tableau绘图一热图.日历图.人口金字塔.标靶图.凹凸图.帕累托图 本文首发于博客冰山一树Sankey,去博客浏览效果更好.直接右上角搜索该标题即可 一.热图 例子:示例超市 可以通过更改颜色来改 ...
- FusionCharts 2D帕累托图
1.了解帕累托图的特性以及和其他图的共性 2.设计帕累托图页面中引入图的类型以及怎么引入到页面 Pareto2D.html: <!DOCTYPE HTML PUBLIC "-//W3C ...
随机推荐
- python学习笔记(五)——静态方法、类方法、运算符重载
我们都知道类名是不能够直接调用类方法的.在C++中,把成员方法声明为 static 静态方法后可以通过类名调用.同样的在python中也可以通过定义静态方法的方式让类名直接调用. 静态方法 使用 @s ...
- 【C语言】预处理、宏定义、内联函数
一.由源码到可执行程序的过程 1. 预处理: 源码经过预处理器的预处理变成预处理过的.i中间文件 1 gcc -E test.c -o test.i 2. 编译: 中间文件经过编译器编译形成.s的汇编 ...
- word中怎么加入endnote的插件
首先,打开Microsoft Word 2010,然后点击文件菜单,在弹出的项目中点击选项. 2 弹出Word选项对话框,在左侧导航处点击"加载项"按钮,如图. 3 在右侧内容窗口 ...
- JavaScript HTML5脚本编程——“历史状态管理”的注意要点
历史状态管理是现代Web应用开发中的一个难点.在现代Web应用中,用户的每次操作不一定会打开一个全新的页面,因此"后退"和"前进"按钮也就失去了作用,导致用户很 ...
- 深入理解ES6之《块级作用域绑定》
众所周知,js中的var声明存在变量提升机制,因此ESMAScript 6引用了块级作用域来强化对变量生命周期的控制let const 声明不会被提升,有几个需要注意的点1.不能被重复声明 假设作用域 ...
- 深入理解ES6之《用模块封装代码》
什么是模块 模块是自动运行在严格模式下并且没有办法退出运行的Javascript代码 在模块的顶部this的值是undefined 其模块不支持html风格的代码注释除非用default关键字,否则不 ...
- webpack系列——webpack3导入jQuery的新方案
本文的目的 拒绝全局导入jQuery!! 拒绝script导入jQuery!! 找到一种只在当前js组件中引入jQuery,并且使用webpack切割打包的方案! 测试环境 以下测试在webpack3 ...
- 【前端Talkking】CSS系列——CSS深入理解之line-height
1.写在前面 两个多周的时间没有写文章了,手好痒好痒,趁着公司在装修,从上周末到本周都在家办公,同时公司的项目并不紧急,于是抽着时间梳理了一下CSS中关于行高line-height的理解,今天发布出来 ...
- python---括号匹配
""" 括号匹配 输入: "()[]{}" 输出true 输入:"([)]" 输出false 输入:")(()))&qu ...
- socket套接字模块及黏包现象
一.socket套接字模块 socket概念 socket层 理解socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模 ...