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. 深浅拷贝 set集合

    数据类型的补充 编码转换 # s1 = '中国' # b1 = s1.encode('utf-8') # # print(b1)-------------->b'\xe4\xb8\xad\xe5 ...

  2. LAMP建站简介

    1. LAMP概述 1.1 为什么是LAMP LAMP无非就是Linux+Apache+MySQL+PHP的网站架构体系而已.而之所以叫LAMP,就是取了这几个单词的首字母罢了,但这里的P可以指PHP ...

  3. css3动画的实例讲解

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. mysql面试题总结

    Mysql中的myisam与innodb的区别? InnoDB存储引擎的四大特性? 什么是事务? 数据库事务的四大特性? 不考虑事务的隔离性,会发生几种问题? MySQL数据库提供的四种隔离级别? 有 ...

  5. umi 调试

    最近在umi.  设置一个layout字段, 结果左边菜单栏就出现了. 很神奇. 决定对这个库一探究竟. 我是一个喜欢看底层库的人,网上所有的启动方式都是yarn或者npm start 启动服务.然后 ...

  6. RocketMQ 内存优化

    rocketmq官方文档 RocketMQ 的默认内存占用非常高,调整RocketMQ的内存目前我所知道的有两个方面: MQ的启动脚本可以调整内存mqbroker和mqnamesrv的配置可以调整内存 ...

  7. 关于word2vec的一些问题

    CBOW v.s. skip-gram CBOW 上下文预测中心词,出现次数少的词会被平滑,对出现频繁的词有更高的准确率 skip-gram 中心词预测上下文,训练次数比CBOW多,表示罕见词更好 例 ...

  8. typora中的图片处理20200622

    typora中的图片处理20200622 食用建议 typora作为markdown的书写神器,一般习惯的流程是在typora中写完,然后复制粘贴到博客园中,然而,markdown中图片采用的是本地连 ...

  9. APP测试经验总结

    app测试哪几项:     每一款APP上线之前都需要经过严格的测试,测试周期可按项目开发周期来确定测试时间,一般测试时间为两三周(15个工作日),不过这个根据项目实际情况,可能推迟或提前的.    ...

  10. vue基础入门(4)

    4.综合实例 4.1.基于数据驱动的选项卡 4.1.1.需求 需求说明: 1. 被选中的选项按钮颜色成橙色 2. 完成被选中选项下的数据列表渲染 3. 完成选项切换 4.1.2.代码实现 <!D ...