• 数据可视化之分析篇(五)如何使用Power BI计算新客户数量?


    https://zhuanlan.zhihu.com/p/65119988

    每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一。

    开拓新客户必然要付出一定的费用支出,费用支出除以新客户数,就是新客成本,新客成本的高低也决定了企业的盈利水平。

    客户拓展费用支出相对容易衡量,而新客户的数量如何计算呢?

    表面上感觉计算起来并不难,但如何从数万笔的订单数据中,快速计算任意一个时间段有多少新客户?使用传统的Excel函数并不是那么容易计算的。

    本文就来尝试在PowerBI中,使用度量值来快速计算出新客户数量,以及更进一步,计算出新客户的购买金额。

     


     

    示例数据模型中有一个订单表和一个日期表,通过订单日期建立关系,先建立两个简单的度量值如下:

    客户数 = DISTINCTCOUNT('订单'[客户姓名])
    销售金额 = SUM('订单'[销售额])

     

    然后直接写出新客户数量的度量值:

    新客户数 =
    VAR FirstOrderDate=
    ADDCOLUMNS (
    ALL ('订单'[客户姓名]),
    "首次购买日期",
    CALCULATE(
    MIN('订单'[订单日期]),
    ALLEXCEPT('订单','订单'[客户姓名])
    )
    )//计算每一个客户的首次购买日期
    VAR NewCustomers=
    FILTER (
    FirstOrderDate,
    CONTAINS(
    VALUES ('日期表'[日期]),
    '日期表'[日期], [首次购买日期]
    )
    )//返回新客户列表
    RETURN
    CALCULATE([客户数],NewCustomers)

     

    看起来很长,其实主要就是两个VAR定义的虚拟表,第一个虚拟表FirstOrderDate返回的是所有客户名称以及每一个客户首次购买日期。

    这其中只有一个函数之前的文章中没有使用过:ALLEXCEPT,关于该函数的含义和用法可以参考这个函数卡片:

     

    知识星球中每日函数卡片

     

    VAR定义的第二个虚拟表NewCustomers,返回的是任意时间段内,新客户的列表。

    然后使用COUNTROWS(NewCustomers)就计算出了新客户的数量,总客户数减去新客户数量就是老客户数量。

     

     

    从上表数据中可以看到,第一个月全部是新客户(这里假设是从1月开始经营),到4月开拓的新客户达到峰值,虽然总体客户数量一直在增长,但新客户开拓速度明显下降,后期主要靠老客户的重复购买。

     

     

    更进一步地,使用度量值来计算新客户的销售金额。

    新客户购买金额 =
    VAR FirstOrderDate=
    ADDCOLUMNS (
    ALL ('订单'[客户姓名]),
    "首次购买日期",
    CALCULATE(
    MIN('订单'[订单日期]),
    ALLEXCEPT('订单','订单'[客户姓名])
    )
    )//计算每一个客户的首次购买日期
    VAR NewCustomers=
    FILTER (
    FirstOrderDate,
    CONTAINS(
    VALUES ('日期表'[日期]),
    '日期表'[日期], [首次购买日期]
    )
    )//返回新客户列表
    RETURN
    CALCULATE([销售金额],NewCustomers)

     

    这段代码和计算新客户数量的DAX,只有最后一行不一样,计算新客户数量时,使用COUNTROWS返回新客户列表的行数,而这里使用CALCULATE([销售金额],NewCustomers)来计算新客户的销售额。

    所以,无论是计算新客户数量还是求新客户的销售额,重点就是如何获得新客户的列表。

    同样,总销售金额减去新客户的购买金额,就是老客户的重复购买金额。

     

    上表中外部上下文是每月,实际上,可以选择任意时间段,比如想看看国庆促销期间增加的新客户,只要选择10月1日到10月7日这个期间,上面度量值会立即计算出这7天里增加的新客户和新客户的购买金额。

     

    如果你刚接触并打算学习PowerBI,我整理了一本从零开始学习PowerBI的电子书,微信公众号「PowerBI星球」后台回复关键字“PowerBI”可免费获取这本电子书,看完这本书,你基本上就入门了,使用PowerBI进行简单的数据处理和分析没有问题。
    如果你学习PowerBI时苦于没有数据,可以在公众号回复关键字"数据"获取我整理的近百个数据集。
  • 相关阅读:
    常用排序算法
    eclipse下切换svn用户和 svn插件的使用
    随机红包算法(Java)
    Java中值类型和引用类型的区别?
    CSS引入的方式有哪些? link和@import的区别是?
    在orale中向左/向右填充字符
    select查看oracle表中列的数据类型
    比较使用DateTimePicker组件Delphi 7日期
    【转】Delphi中字符串的处理
    用MySQL 数字类型如何正确的转换函数
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12936198.html
Copyright © 2020-2023  润新知