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

商业数据分析通常都可以简化为对数据进行筛选、分组、汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的。

假设数据为一个订单明细表,含有下单日期、客户名称、产品名称等数据,业务需求为:

根据订单表,计算出截止某个日期,购买次数为1-7次、8-14次、14-21次……的客户分别有多少?

看到要求就知道这是个分组问题,一般可以通过计算列或者度量值的方式来完成,之前PowerBI星球也分享过关于分组的文章:

这几种数据分组的方式,你应该掌握!

使用度量值进行分组统计

需要根据日期动态计算,那么就不能通过计算列的方式来实现,只能通过度量值来完成。

下面是PowerBI解决这个问题的过程,只需要简单的3个步骤。

1、数据建模

根据订单表提取出客户表,以及建立一个涵盖所有订单日期的日期表,分别与订单表建立一对多的关系。

因为要进行分组,所以还要建一个分组表,可以在PowerBI中"输入数据",手工建一个,数据如下:

这个表不要与其他表建立关系,数据模型如下:

2、建立度量值

建立一个[客户购买次数]的度量值,如下图:

这个度量值中体现了筛选、分组和汇总的整个计算,值得你好好练习研究一下。

3,数据呈现

将这个度量值放入到矩阵中计算结果,

从这里可以看出购买15-21次的客户最多。

可以通过切片器选择任意一个日期查看,

还可以通过图表查看每个订单日期的客户累计购买次数分布,

通过这个面积图,可以明显看出随着时间的推移,客户的复购次数越来越多。

通过堆积面积图来看,虽然客户的重复下单次数在增加,但总客户数近一年来停止增长,值得关注。

这样就完成了任意一个日期的客户累计下单次数的分组统计,是不是很高效。

以上也是PowerBI数据分析的一个基本流程,从数据建模、DAX的运用到数据呈现,用户最终看到的只是最后一步:数据呈现,你也许觉得最重要的是第二步,写出那个度量值,从难度上来说,这确实需要一定的积累。

但更关键的其实是第一步,建立模型是数据分析的基础,一个良好的模型可以更简单的完成数据分析的需要,也会让度量值的编写变得简洁高效,而糟糕的数据模型,可能你压根无法写出可以实现需求的度量值。

关于数据建模,更需要不断的积累,你不仅要学会分析技术,更要精深业务,每个人都会建立数据模型,但并不意味着你会建立一个良好的模型,数据建模是一门科学,也是一门艺术。

数据可视化之PowerQuery篇(十二)客户购买频次分布的更多相关文章

  1. 数据可视化之PowerQuery篇(二十)如何计算在职员工数量?

    https://zhuanlan.zhihu.com/p/128652582 ​经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有 ...

  2. 数据可视化之PowerQuery篇(二)这个方法帮你快速计算列

    https://zhuanlan.zhihu.com/p/81846862 PowerQuery中,对两列或者多列的计算一般通过添加自定义列来实现,以下表为例, 如果需要1月和2月数据的合计,可以添加 ...

  3. 数据可视化之PowerQuery篇(十三)Power BI总计行错误,这个技巧一定要掌握

    https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...

  4. 数据可视化之PowerQuery篇(十五)如何使用Power BI计算新客户数量?

    https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付 ...

  5. 数据可视化之PowerQuery篇(四)二维表转一维表,看这篇文章就够了

    https://zhuanlan.zhihu.com/p/69187094 数据分析的源数据应该是规范的,而规范的其中一个标准就是数据源应该是一维表,它会让之后的数据分析工作变得简单高效. 在之前的文 ...

  6. 数据可视化之PowerQuery篇(十四)产品关联度分析

    https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说 ...

  7. 数据可视化之分析篇(二)Power BI 数据分析:客户购买频次分布

    https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的 ...

  8. 数据可视化之 图表篇(二)如何用Power BI制作疫情地图?

    丁香园制作的这个地图可视化,相信大家每天都会看好几遍,这里不讨论具体数据,仅来探讨一下PowerBI地图技术. 这个地图很简洁,主要有三个特征: 1,使用着色地图,根据数据自动配色 2,只显示中国地图 ...

  9. 数据可视化之PowerQuery篇(十六)使用Power BI进行流失客户分析

    https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活 ...

随机推荐

  1. [AGC043-D]Merge Triplets

    题目   点这里看题目. 分析   我们不妨来考虑一下生成的序列有什么性质.   为了方便表示,我们将序列\(S\)的第\(i\)项写为\(S[i]\).   首先考虑如果所有的\(A\)序列都是递增 ...

  2. 数据库语言sql

    数据库语言SQL SQL的形式 交互式SQL 一般DBMS都提供联机交互工具 用户可直接键入SQL命令对数据库进行操作 由DBMS来进行解释 嵌入式SQL 能将SQL语句嵌入到高级语言(宿主语言) 使 ...

  3. mybatis-config.xml核心文件配置

    一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...

  4. Beta冲刺<5/10>

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺--第五天(05.23) 作业正文 如下 其他参考文献 ... B ...

  5. Hystrix总结

    Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复. Hystrix能做什么? ...

  6. 底层剖析Python深浅拷贝

    底层剖析Python深浅拷贝 拷贝的用途 拷贝就是copy,目的在于复制出一份一模一样的数据.使用相同的算法对于产生的数据有多种截然不同的用途时就可以使用copy技术,将copy出的各种副本去做各种不 ...

  7. 01[了解] Dubbo

    什么是Dubbo? 概述 Dubbo是阿里巴巴内部使用的分布式业务框架,2012年由阿里巴巴开源. 由于Dubbo在阿里内部经过广泛的业务验证,在很短时间内,Dubbo就被许多互联网公司所采用,并产生 ...

  8. 计算机网络之tcp四次挥手

    TCP的四次挥手(Four-Way Wavehand)1.前言对于"三次握手"我们耳熟能详,因为其相对的简单.但是,我们却不常听见“四次挥手”,就算听过也未必能详细地说明白它的具体 ...

  9. SpringBoot--防止重复提交(锁机制---本地锁、分布式锁)

    防止重复提交,主要是使用锁的形式来处理,如果是单机部署,可以使用本地缓存锁(Guava)即可,如果是分布式部署,则需要使用分布式锁(可以使用zk分布式锁或者redis分布式锁),本文的分布式锁以red ...

  10. CString 十六进制转二进制

    int nValude = 0; CString strtemp("asdb");; sscanf(strtemp.GetBuffer(0),"%x",& ...