C/C++教程

109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)

本文主要是介绍109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、背景

客户ABC分析,一般的套路是在计算列中把客户ABC分类,便于后续维度使用。今天用度量值的方式写一个ABC的分类。先上效果图(作图是笔者弱项,将就看吧。)

109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)

效果图

2、数据源及关系

数据源

维度表:DIM;事实表:FACT如下

109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)

数据源

关系

109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)

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降序的累计百分比

分类:客户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

B:B类客户的value

C:C类客户的value

透视表效果

这里拉出的效果是按照客户维度的,需要按照排名维度来做一个排序及即可做图。

109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)

作图辅助表及作图

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

109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)

109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)

4、总结

1、在计算列中计算出ABC分类,便于维度分析

2、本案例不用计算列即可,弊端是不能在维度中

3、客户ABC分析主要是要把客户rank搞定,根据输出的上下文写dax即可。

这篇关于109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!