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

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

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

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

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

1、数据建模

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

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

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

2、建立度量值

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

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

3,数据呈现

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  4. 数据可视化之分析篇(一)使用Power BI进行动态帕累托分析

    https://zhuanlan.zhihu.com/p/57763423 通过简单的点击交互,就能进行动态分析发现见解,才是我们需要的,恰好这也是 PowerBI 所擅长的. 就帕累托分析来说,能从 ...

  5. 数据可视化之分析篇(四)PowerBI分析模型:产品关联度分析

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

  6. 数据可视化之PowerQuery篇(十二)客户购买频次分布

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

  7. 数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法

    https://zhuanlan.zhihu.com/p/113113765 PowerBI数据分析02:结构百分比分析法 作者:海艳 结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间 ...

  8. 数据可视化之分析篇(七)Power BI数据分析应用:水平分析法

    https://zhuanlan.zhihu.com/p/103264851 首先,以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 接下来我会围绕这五种不同的方法论, ...

  9. 数据可视化之分析篇(十)Power BI应用:如何计算在职员工数量?

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

随机推荐

  1. TensorFlow从0到1之TensorFlow超参数及其调整(24)

    正如你目前所看到的,神经网络的性能非常依赖超参数.因此,了解这些参数如何影响网络变得至关重要. 常见的超参数是学习率.正则化器.正则化系数.隐藏层的维数.初始权重值,甚至选择什么样的优化器优化权重和偏 ...

  2. BT.656视频信号解码

    BT.656视频信号解码   BT.656协议标准 ITU-R BT.601和ITU-R BT.656是ITU-R(国际电信联盟)制定的标准.严格来说ITU-R BT.656是ITU-R BT.601 ...

  3. C++ Primer Plus(一)

    完整阅读C++ Primer Plus 系统重新学习C++语言部分,记录重要但易被忽略的,关键但易被遗忘的. 预备 1.C++相对于C增加了最关键的两项,面向对象和范型编程. 处理数据 2.对于变量明 ...

  4. 【JMeter_08】JMeter逻辑控制器__While控制器<While Controller>

    While控制器<While Controller> 业务逻辑: 当条件为非false时,执行该节点下的脚本内容,判断条件包括数字.null.空白.字母.符号.true. 当条件为fals ...

  5. node实现文件属性批量修改(时间属性)

    前言 在默认情况下,一个文件的创建时间和修改时间是系统自己设定的,我们不能修改该的.但我们有时为了某种特殊需要,为了不让别人一眼看出文件已经给修改了,我们又需要修改文件的创建时间和修改时间.那么如何修 ...

  6. navicat 出现 mysql远程连接问题 Lost connection to MySQL server at ‘reading initial communication packet', system error: 0

    今天做服务器上的东西需要看数据库时,突然发现有这个报错,然后自己也查了很多资料 我最后找到一个在my,cnf配置文件中mysqld下加入一条 max_allowed_packet = 500M 也就是 ...

  7. CSS中可以继承的元素(需要记住)

    可以继承的属性很少,只有颜色,文字,字体间距行高对齐方式,和列表的样式可以继承. 所有元素可继承:visibility和cursor. 内联元素可继承:letter-spacing.word-spac ...

  8. 超详细Maven技术应用指南

    该文章,GitHub已收录,欢迎老板们前来Star! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual 搜索关注微信公众号" ...

  9. 【Key】 Windows 95 到 Windows10所有KEY 包括OEM系统

    部分可能不准确,请见谅,数据源自Baidu,由noogai00整理,数据为Microsoft.所有 Windows 95 02398-OEM-0030022-5886409297-OEM-002128 ...

  10. 为Promise添加finally方法支持,把小程序函数变成promise函数

    // 为Promise添加finally方法支持 Promise.prototype.finally = function (callback) {   let P = this.constructo ...