https://zhuanlan.zhihu.com/p/128652582 ​经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有多少? 已知店铺的开业日期和注销日期,截至目前正在运营的店铺有多少? 已知员工的入职日期和离职日期,如何计算每个月底的在职员工数量? 此类问题的解决思路类似,下面就以计算在职员工数量为例,看看如何利用PowerBI来处理. 模拟数据如下,员工表中有员工姓名.入职日期和离职日期: 实现步骤如下: 1,…
https://zhuanlan.zhihu.com/p/81846862 PowerQuery中,对两列或者多列的计算一般通过添加自定义列来实现,以下表为例, 如果需要1月和2月数据的合计,可以添加自定义列, 其实还有一种更方便的方式,不用动手输入任何字符,点点鼠标就可以完成,这个功能就在这里: 以上面两列相加为例,选中1月和2月这两列,然后点击标准>添加,就自动增加了一个新列, 选中两列时,除了加法,还可以进行乘.除.减.百分比.取模等各种运算,大家可以根据需要自行操作. 而选中两列以上时,…
https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行,但有细心的星友学习时发现,如果把总计行显示出来,会出现没有数据或者即使有数据,也是错误的情况,就像这样, 如果选择了其他日期,总计行可能还会显示空值,很明显这是错误的.为什么会这样呢? 在之前的文章中,已经多次介绍过,PowerBI表格的总计行,并不是上面各明细行的简单相加,而是遵循度量值的计算逻…
https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的. 假设数据为一个订单明细表,含有下单日期.客户名称.产品名称等数据,业务需求为: 根据订单表,计算出截止某个日期,购买次数为1-7次.8-14次.14-21次……的客户分别有多少? 看到要求就知道这是个分组问题,一般可以通过计算列或者度量值的方式来完成,之前PowerBI星球也分享过关于分组的文章…
https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付出一定的费用支出,费用支出除以新客户数,就是新客成本,新客成本的高低也决定了企业的盈利水平. 客户拓展费用支出相对容易衡量,而新客户的数量如何计算呢? 表面上感觉计算起来并不难,但如何从数万笔的订单数据中,快速计算任意一个时间段有多少新客户?使用传统的Excel函数并不是那么容易计算的. 本文就来尝…
https://zhuanlan.zhihu.com/p/69187094 数据分析的源数据应该是规范的,而规范的其中一个标准就是数据源应该是一维表,它会让之后的数据分析工作变得简单高效. 在之前的文章中,我也经常强调一维表的易用性,也时常有人问我,什么是一维表,为什么要转为一维表呢,这篇文章就来帮你梳理清楚并告诉你如何将二维表转化为一维表. 什么是一维表 在Excel中常见的是二维表,你可能天天都在用, 而一维表是长这样的: 通过以上二维表和一维表的比较,你应该能分清楚什么是一维表.什么是二维…
https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说过啤酒与尿布的故事,这两个表面上毫不相关的商品,在超市中摆放在一起时二者的销量都大幅度提升.这里不论这个案例的真实性如何,但它对理解产品之间的关联十分形象,好的故事总是更有传播度. 购买某种商品的客户,对另一种商品,相对于其他商品,有更大的购买概率,这两种商品就具有更高的关联度,为了提高销售额,应尽…
https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的. 假设数据为一个订单明细表,含有下单日期.客户名称.产品名称等数据,业务需求为: 根据订单表,计算出截止某个日期,购买次数为1-7次.8-14次.14-21次……的客户分别有多少? 下面是PowerBI解决这个问题的过程,只需要简单的3个步骤. 1.数据建模 根据订单表提取出客户表,以及建立一个涵…
丁香园制作的这个地图可视化,相信大家每天都会看好几遍,这里不讨论具体数据,仅来探讨一下PowerBI地图技术. 这个地图很简洁,主要有三个特征: 1,使用着色地图,根据数据自动配色 2,只显示中国地图,其他区域不显示 3,地图上显示类别标签 只要使用满足这三个特征的地图类型,就可以轻松模仿出这个地图. 首先我们来看一下Power BI中默认的着色地图,效果如下: 制作方法请参考:PowerBI默认地图可视化 这个着色地图因为是默认图表,制作起来最简单,并且颜色设置比较方便,可以使用度量值动态配色…
https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活跃客户.流失客户的过程,这个过程也称为客户生命周期. 对客户生命周期管理至关重要,之前曾介绍过如何使用PowerBI分析新客户(如何使用Power BI计算新客户数量?),但一直没有写过流失客户的分析,正好最近有几个星友都提出了这个问题,所以专门写篇文章简要介绍一下思路. 每个公司由于业务特征.客户…
https://zhuanlan.zhihu.com/p/98975646 如何将表格或者矩阵中值的条件格式也应用于总计行? 目前PowerBI并不支持这种功能,无法在总计行或者小计行上应用条件格式,不过我们可以摸索个变通的方式来实现. 以制作红绿灯效果这篇文章的数据为例: PowerBI小技巧:简单两步实现红绿灯.箭头效果 这个总计行显然没有应用条件格式,本文尝试让总计行也同样适用于条件格式:动态的显示红绿灯的效果. 解决思路 PowerBI默认的总计行无法使用条件格式,这是暂时无法改变的,那…
​https://zhuanlan.zhihu.com/p/113113765 本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之二,她深入浅出的介绍了PowerBI在数据分析中的应用,利用PowerBI发现问题分析问题,欢迎学习借鉴. 她的上一篇分享: PowerBI数据分析实践01 | 水平分析法 PowerBI数据分析02:结构百分比分析法 作者:海艳 结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间的比较与分析,将财务报表中的某一重要项目(如资产负…
https://zhuanlan.zhihu.com/p/107672198 ​本文来自星友袁佳林的实践分享,他参加了PowerBI星球中的DAX圣经第二版100天学习打卡活动,已持续分享近100天,对DAX的理解自然更深了一些,本文就是他利用DAX解决问题的一种思路. Think in DAX 之报表自动化实践 作者:袁佳林 2019年6月7日,在我加入PowerBI星球不久,问过星主采悟一个实际工作上遇到过的数据汇总统计的问题: 数据结构如下图所示, (数据纯属模拟,如有雷同,都是抄我的)…
https://zhuanlan.zhihu.com/p/88528732 在各种经营分析报告中,我们常常会看到YTD,YOY这样的统计指标,这样的数据计算并不难,尤其是在PowerBI中,因为有时间智能函数的帮助,大大简化了这些计算,从而快速满足定期的报告需求. 下面就给你列出这些常用统计数据的度量值,帮你快速掌握各种期间数据的算法. 如果对时间智能函数不熟悉,可以先看看这篇文章: 一文帮你掌握时间智能函数 假设数据模型为一张订单表和一张对应的日期表,并已经建立了基础度量值: 收入 = SUM…
https://zhuanlan.zhihu.com/p/85996745 上一篇文讲了累计聚合,这篇文章继续讲一下滚动聚合,比如常用的MAT计算,Moving Annual Total,滚动年度总计,即向前滚动12月的合计数. 滚动年度求和,也经常用于财务上的滚动预算,看完这篇文章,你以后会很轻松的计算出需要的数据了. 模拟一份2018年1月至2019年7月的订单数据, 利用CALENDARAUTO生成一份日期表,按日期列建立关系,那么如何计算向前滚动12月的销售额合计呢? 其实很简单,新建度…
https://zhuanlan.zhihu.com/p/78537828 最近碰到星友的一个问题,他是在Excel的PowerQuery中已经把数据处理好了,但是处理后的数据又想用PowerBI来分析,那么还需要在PowerBI中用Powerquery重新再处理一遍吗? 或者说有什么方法把Excel中已经处理好的数据,直接导入到PowerBI中? 比如,在Excel中,已经用powerquery进行了数据处理, 将这些查询导入到PowerBI Desktop中,可以有以下几种方式: 1,获取E…
https://zhuanlan.zhihu.com/p/133484654 ​本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之三,她深入浅出的介绍了PowerBI在数据分析中的应用,欢迎学习借鉴. 她的前两篇分享: PowerBI数据分析实践第一弹 | 水平分析法 PowerBI数据分析实践第二弹 | 结构百分比分析法 作者/海燕 上市IT公司经营计划专业经理,专注消费电子领域经营分析 以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图)…
https://zhuanlan.zhihu.com/p/64999937 经常碰到本年至今.本月至今的数据计算,其实还有一类计算是,从历史最早日期至今的累计计算,比如从开业到现在总共卖出了多少件商品,累计实现了多少销售额等. 本年累计称为YTD,历史至今的累计是不是可以称为HTD呢:) :这样的时间段很可能是跨年的,所以时间智能函数并不适用,不过不用时间智能函数依然可以很简单的进行计算. 模拟数据如下: 只是计算一个整体累计销售额很简单,我们想要计算的是从最初到任意一个日期的累计销售额,为了能…
https://zhuanlan.zhihu.com/p/68384001 本文聊聊在PowerBI中如何进行各种类型的排名问题. PowerBI中计算排名主要使用RANKX函数,关于该函数的具体语法,不再细说,可以查看该函数的官方文档,也可以参照这个函数卡片: ↑ 知识星球每日函数卡片 下面通过几个示例来看看它的用法. 假设数据模型为一个订单表,以及对应的产品维度表和客户维度表,产品维度表有产品名称和产品类别. 下面分别按销售额对各种维度进行排名. 销售额 = sum('订单'[销售额]) 对…
https://zhuanlan.zhihu.com/p/75462046 对于初学者,总是会把度量值和计算列搞混,我也经常碰到这样的问题,有些星友用文章中的代码总是报错,发给我一看,才知道TA把本来是度量值的DAX用在了计算列上,或者相反. 即使是已经学习了很长时间的人,对于计算列和度量值的写法也未必轻车熟路,还是有可能不明白其中到底有什么不同,这篇文章就试图把度量值和计算列彻底讲清楚. 什么是计算列.什么是度量值 计算列是直接在现有的表上添加一个新列, 新建的计算列,和表中之前已经存在的列一…
https://zhuanlan.zhihu.com/p/67015995 编写DAX代码进行业务分析时,经常会用到表与表之间的连接计算,比如在之前的产品关联分析一文中(如何用Power BI分析产品关联度?),需要找出同时购买两种商品的客户,就是计算A商品的客户列表与B商品的客户列表的交集. 这篇文章再通过客户列表的示例,介绍如何使用DAX,进行两个表的各种连接计算. 模拟一个简单的订单表如下, 通过订单表可以简单的计算出购买A的客户列表,新建表,在编辑框输入代码,如图示: 购买A的客户也可用…
本文来源于一个星友的问题,他有上百个Excel表格,格式并不完全一样,列的位置顺序也不同,但每个表都有几个共同列,这种情况下,能不能通过Power Query把这些表格共同的列批量合并呢? 当然是可以的! 我模拟了三个表,源数据的情况大致是这样的, 这三个表之间的特征如下: 有共同列 列的位置顺序是不同的 列的数量不同,表三比其他表少了一列 假设我们需要提取其中四列并合并:订单日期.商品名称.客户编号和销售额,这四列在三个表都存在. 如果使用PowerQuery简单的合并汇总功能,是无法满足要求…
https://zhuanlan.zhihu.com/p/64419762 每当拿到原始数据,不如意十有八九,快速准确的清洗数据也是必备技能,数据清洗正好是 PowerQuery 的强项,本文就来介绍两个常用的 M 函数:Text.Remove 和 Text.Select. 看到以 Text 开头的,就知道是文本处理函数,比如原始数据如下, 如果只想要中文名,就是把英文字母都去掉,可以用Text.Remove函数,添加自定义列, 姓名=Text.Remove([客户],{"A"..&q…
1 气泡图 气泡图和上面的散点图非常类似,只是点的大小不一样,而且是通过参数 s 来进行控制的,多的不说,还是看个示例: 例子一: import matplotlib.pyplot as plt import numpy as np # 处理中文乱码 plt.rcParams['font.sans-serif']=['SimHei'] x_data = np.array([2011,2012,2013,2014,2015,2016,2017]) y_data = np.array([58000,…
https://zhuanlan.zhihu.com/p/96823622 ​开始半累加的计算之前,我们先看看什么是累加.半累加以及不可累加数据. 在含有大量行的数据表中,各种数据处理语言,包括DAX,为了性能考虑,不太可能总是检索表的每一行,更常见的情形是,一次性检索成千上万行,处理如此多行数据的最有效操作就是将它们加到一起,也就是累加汇总. 可以累加的数据类型就是可累加数据,比如订单表中的销售额,就是这种类型,无论是按照客户维度还是按照时间维度,都可以将每行的销售额直接汇总,并且这种汇总的结…
https://zhuanlan.zhihu.com/p/66540160 常规分列 我们最常见的就是有固定分隔符的规范数据,这种直接就按照分隔符拆分就可以了, 如果没有分割符怎么办?依然是上面的数据,如果连逗号都没有呢,在Powerquery中还可以按从数字到非数字的转换来分列, 拆分列的常规功能中还可以按大小写字母的转换来进行分列,比如这样, 是不是非常方便呢. 分列到行 有时候数据都挤在一个单元格里,直接分列也可以,会分成一行多列的表,使用起来很不方便. 在PQ中,还可以直接分列到行中,直…
https://zhuanlan.zhihu.com/p/130460772 ​今天分享一个PowerQuery的小技巧,导入到PowerBI中的数据,如果想要更改数据的列名,可以在PQ编辑器中直接双击列名,如果需要修改的列名比较多,还可以批量修改,利用这个M函数:Table.RenameColumns 其实双击更改列名也是利用这个函数,以下面这个数据为例, 双击标题把“日期”更改为“订单日期”,在编辑栏就会看到这个M函数, = Table.RenameColumns( 更改的类型, {{"日期…
https://zhuanlan.zhihu.com/p/81535007 星友们在知识星球(PowerBI星球)提出的问题中,关于空值的运算经常被提及.平时接触到的源数据常常有空值,比如Excel数据中的空白单元格,powerquery中会显示为null,大多数时候,我们并不能简单粗暴的删除其中的空值,而是需要在PQ中对数据进一步运算整理. 如果对空值直接进行运算,得到的还是空值,这可能并不是我们期望的结果,那么本文就提供一个空值运算的思路. 假设数据如下, 首先测试一下PowerQuery中…
https://zhuanlan.zhihu.com/p/103264851 ​本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之一,她深入浅出的介绍了PowerBI在数据分析中的应用,从各项指标的计算,到可视化展现,利用PowerBI发现问题分析问题,欢迎学习借鉴. PowerBI数据分析01:水平分析法 作者:海艳 首先,以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 接下来我会围绕这五种不同的方法论,进一步的阐述他们在 PowerB…
https://zhuanlan.zhihu.com/p/67441847 累计求和问题,之前已经介绍过(有了这几个公式,你也可以快速搞定累计求和),主要是基于比较简单的情形,针对所有的数据进行累计求和. 现实中的需求并不总是这么简单,稍微复杂一点的是按类别求累计,以帕累托分析为例,模拟数据如下, 这次不是按全部产品进行累计求和,而是在每一个产品类别内部进行累计求和,进而计算出类别内的累计占比. 根据之前学过的知识,其实也可以计算出来,这里直接给出另一种更简洁且性能更优的方式,新建列, 累计销售…