美文网首页BI学习笔记
BI技巧丨对比分析

BI技巧丨对比分析

作者: Fabric丨白茶 | 来源:发表于2020-12-05 22:52 被阅读0次

BOSS:咦?我要干啥来着?哦,对了,白茶?!

白茶:嗯?BOSS,咋地了!

BOSS:咳咳,是这样的,就是我想知道,咱们这些个门店最直观的对比情况!就是那种可以选择任意两个门店进行各项数据对比的!

白茶:对...对比分析?!

BOSS:我不懂这个那个的,你就告诉我能不能整?

白茶:嗯,能!

在日常工作中,关于对比的可视化思路,主要就是采用扇形图、树状图、云词图或者蚊香图之类的可视化方式。

但是白茶觉得,有时候当类别过多,或者KPI过多的时候,这些可视化插件的呈现效果往往没有一个Table来的直观。

其实大家在做可视化数据分析的时候,都会有一个误区,就是执着于使用图形化插件,但是只要能把分析的结果说清楚,或者达到促进业务发展的价值,其实用哪种方式去呈现反而不是那么重要。

先来看看本期的案例数据:

标准的三张表。

需求是什么?

思路很重要,本期的需求是做对比分析,那么对比分析至少需要两个切片器才能达到对比切换的效果,对吧?

所以输入如下代码:

分店表B =
DISTINCT ( '分店表' )

建立如下模型关系:

看到右侧的虚线,小伙伴们有没有想起来什么?

1

2

3

...

答案:未激活关系

白茶之前写购物篮分析的时候,用的主要思路就是未激活关系,即可以通过函数进行关系激活——USERELATIONSHIP

思路已经缕好,开始编写代码:

FACT_01_销售数量A =
SUM ( '销售明细'[销售数量] )

这是主要筛选器的度量值。

FACT_01_销售数量B =
CALCULATE (
    [FACT_01_销售数量A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '销售明细'[所在分店], '分店表B'[分店名] )
)

这是对比筛选的度量值。

将二者同时放到一个上下文中进行检验:

经过检验,写法上没有任何问题。

开始构建其他分析KPI。

成交订单A代码:

FACT_02_成交订单A =
COUNTROWS ( VALUES ( '销售明细'[销售流水] ) )

成交订单B代码:

FACT_02_成交订单B =
CALCULATE (
    [FACT_02_成交订单A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '销售明细'[所在分店], '分店表B'[分店名] )
)

顾客数量A代码:

FACT_03_顾客数量A =
COUNTROWS ( VALUES ( '销售明细'[客户流水号] ) )

顾客数量B代码:

FACT_03_顾客数量B =
CALCULATE (
    [FACT_03_顾客数量A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '销售明细'[所在分店], '分店表B'[分店名] )
)

销售金额A代码:

FACT_04_销售金额A =
SUMX ( '销售明细', [FACT_01_销售数量A] * RELATED ( '产品表'[销售价] ) )

销售金额B代码:

FACT_04_销售金额B =
CALCULATE (
    [FACT_04_销售金额A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '销售明细'[所在分店], '分店表B'[分店名] )
)

销售成本A代码:

FACT_05_销售成本A =
SUMX ( '销售明细', [FACT_01_销售数量A] * RELATED ( '产品表'[成本] ) )

销售成本B代码:

FACT_05_销售成本B =
CALCULATE (
    [FACT_05_销售成本A],
    ALL ( '分店表'[分店名] ),
    USERELATIONSHIP ( '销售明细'[所在分店], '分店表B'[分店名] )
)

销售利润A代码:

FACT_06_销售利润A =
[FACT_04_销售金额A] - [FACT_05_销售成本A]

销售利润B代码:

FACT_06_销售利润B =
[FACT_04_销售金额B] - [FACT_05_销售成本B]

至此,所有KPI指标已经构建完毕。

那么如何将这些KPI指标放在同一个表中进行对比呢?

构建中间维度表!

点击界面操作的输入数据,输入如下内容:

利用SWITCH函数将度量值合而为一。

KPIA代码:

KPIA =
VAR T1 =
    SELECTEDVALUE ( 'Measure'[INDEX] )
VAR T2 =
    SWITCH (
        TRUE (),
        T1 = 01, SELECTEDVALUE ( '分店表'[分店名] ),
        T1 = 02, [FACT_01_销售数量A],
        T1 = 03, [FACT_02_成交订单A],
        T1 = 04, [FACT_03_顾客数量A],
        T1 = 05, [FACT_04_销售金额A],
        T1 = 06, [FACT_05_销售成本A],
        T1 = 07, [FACT_06_销售利润A]
    )
RETURN
    T2

KPIB代码:

KPIB =
VAR T1 =
    SELECTEDVALUE ( 'Measure'[INDEX] )
VAR T2 =
    SWITCH (
        TRUE (),
        T1 = 01, SELECTEDVALUE ( '分店表B'[分店名] ),
        T1 = 02, [FACT_01_销售数量B],
        T1 = 03, [FACT_02_成交订单B],
        T1 = 04, [FACT_03_顾客数量B],
        T1 = 05, [FACT_04_销售金额B],
        T1 = 06, [FACT_05_销售成本B],
        T1 = 07, [FACT_06_销售利润B]
    )
RETURN
    T2

这里主要采用的是SWITCH的条件输出。

参考文章:《动态数据》

最终效果如下:

小伙伴们❤GET了么?

(BOSS:干得漂亮!)

白茶会不定期的分享一些函数卡片

这里是白茶,一个PowerBI的初学者。

相关文章

  • BI技巧丨对比分析

    BOSS:咦?我要干啥来着?哦,对了,白茶?!白茶:嗯?BOSS,咋地了!BOSS:咳咳,是这样的,就是我想知道,...

  • BI技巧丨价格区间分析

    BOSS:白茶,能不能做个折线图,让我看一下平均10个价格区间的售卖情况?白茶:可以!BOSS:那个,价格区间要动...

  • BI技巧丨RankxYoY

    群友:PowerBI可以实现两年的排名差异么?白茶:可以!安排! 本期的问题,来自于群内小伙伴的一个实际应用场景。...

  • BI技巧丨均值之上

    BOSS:白茶呢?!今天没来么?同事:来了啊,老板,不过你上次不是罚他扫厕所么?厕所了!BOSS:哎哟!这个时候扫...

  • BI技巧丨粒度切换

    白茶在很久之前,写过关于笛卡尔积的两个函数。 GENERATE函数与CROSSJOIN函数。 传送门:《笛卡尔积》...

  • BI技巧丨权限轴

    BOSS:(愁眉苦脸)白茶呢?同事:(推一推)醒醒,白茶,BOSS喊你!白茶:(一脸懵)咋了,老板?BOSS:(一...

  • BI技巧丨当月期初

    最近在群里,小伙伴提出了一个有意思的算法逻辑,决定分享给大家。 先来看看本期的案例数据: 如图,数据相对而言比较简...

  • BI技巧丨权限下载

    BOSS:白茶,问你个事,就是报表的下载权限,这个能控制不?白茶:可以啊,老板,工作区限制成员身份就可以啊。BOS...

  • BI技巧丨筛选重置

    在开发的过程中,用户最喜欢,最习惯看的,还是类似于Excel形式的明细表格。 执行层用户需要的,往往是一张Deta...

  • BI技巧丨财务累计

    日常使用PowerBI制作看板过程中,往往需要我们在看板的第一浏览区将用户最关注的核心指标呈现出来。白茶在之前的文...

网友评论

    本文标题:BI技巧丨对比分析

    本文链接:https://www.haomeiwen.com/subject/ssynwktx.html