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 ...
随机推荐
- 【静态页面架构】CSS之链接和图像
CSS架构 一.链接: 链接元素:通过使用a元素的href属性设置跳转到指定页面地址 <style> a{ color: blue; text-decoration: none; } a: ...
- 截取url传值
// 页面传值 subStr(url) { var obj = {}; var str = url.split('?')[1]; var str2 = str.split('&'); cons ...
- python的蟒蛇绘制
代码: #PythonDraw.py import turtle turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle ...
- Kubernetes 解决方案-图解
- 硬件vendor id查询对照列表
Hex-ID Vendor Name003D Lockheed Martin Corp0E11 Compaq1000 Symbios Logic Inc.1001 KOLTER ELECTRONIC1 ...
- js中的undefined
undefined,一个特殊值,通常用于指示变量尚未赋值,是一个JavaScript的 原始数据类型 . 如果后台返回前台数据为空(无数据),那么用该对象获取其中的属性会显示undefined. 如果 ...
- OpenHarmony 3.1 Beta版本关键特性解析——HAP包安装实现剖析
(以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 石磊 随着社会的不断发展,人们逐渐注重更加高效.舒适.便捷.有趣的生活和工作体验. OpenAtom OpenHa ...
- css 实现输入效果
<template> <h1>Pure CSS Typing animation.</h1> </template> <script> ...
- 新手小白入门C语言第二章:基本语法
1. 语句 C 语言的代码由一行行语句(statement)组成.语句就是程序执行的一个操作命令.C 语言规定,语句必须使用分号结尾,除非有明确规定可以不写分号. 如: int x = 1; 这就是一 ...
- Python图像处理丨OpenCV+Numpy库读取与修改像素
摘要:本篇文章主要讲解 OpenCV+Numpy 图像处理基础知识,包括读取像素和修改像素. 本文分享自华为云社区<[Python图像处理] 二.OpenCV+Numpy库读取与修改像素> ...