https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的. 假设数据为一个订单明细表,含有下单日期.客户名称.产品名称等数据,业务需求为: 根据订单表,计算出截止某个日期,购买次数为1-7次.8-14次.14-21次……的客户分别有多少? 看到要求就知道这是个分组问题,一般可以通过计算列或者度量值的方式来完成,之前PowerBI星球也分享过关于分组的文章…
​https://zhuanlan.zhihu.com/p/113113765 本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之二,她深入浅出的介绍了PowerBI在数据分析中的应用,利用PowerBI发现问题分析问题,欢迎学习借鉴. 她的上一篇分享: PowerBI数据分析实践01 | 水平分析法 PowerBI数据分析02:结构百分比分析法 作者:海艳 结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间的比较与分析,将财务报表中的某一重要项目(如资产负…
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/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活跃客户.流失客户的过程,这个过程也称为客户生命周期. 对客户生命周期管理至关重要,之前曾介绍过如何使用PowerBI分析新客户(如何使用Power BI计算新客户数量?),但一直没有写过流失客户的分析,正好最近有几个星友都提出了这个问题,所以专门写篇文章简要介绍一下思路. 每个公司由于业务特征.客户…
https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付出一定的费用支出,费用支出除以新客户数,就是新客成本,新客成本的高低也决定了企业的盈利水平. 客户拓展费用支出相对容易衡量,而新客户的数量如何计算呢? 表面上感觉计算起来并不难,但如何从数万笔的订单数据中,快速计算任意一个时间段有多少新客户?使用传统的Excel函数并不是那么容易计算的. 本文就来尝…
https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说过啤酒与尿布的故事,这两个表面上毫不相关的商品,在超市中摆放在一起时二者的销量都大幅度提升.这里不论这个案例的真实性如何,但它对理解产品之间的关联十分形象,好的故事总是更有传播度. 购买某种商品的客户,对另一种商品,相对于其他商品,有更大的购买概率,这两种商品就具有更高的关联度,为了提高销售额,应尽…
https://zhuanlan.zhihu.com/p/128652582 ​经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有多少? 已知店铺的开业日期和注销日期,截至目前正在运营的店铺有多少? 已知员工的入职日期和离职日期,如何计算每个月底的在职员工数量? 此类问题的解决思路类似,下面就以计算在职员工数量为例,看看如何利用PowerBI来处理. 模拟数据如下,员工表中有员工姓名.入职日期和离职日期: 实现步骤如下: 1,…
​https://zhuanlan.zhihu.com/p/128652582 经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有多少? 已知店铺的开业日期和注销日期,截至目前正在运营的店铺有多少? 已知员工的入职日期和离职日期,如何计算每个月底的在职员工数量? 此类问题的解决思路类似,下面就以计算在职员工数量为例,看看如何利用PowerBI来处理. 模拟数据如下,员工表中有员工姓名.入职日期和离职日期: 实现步骤如下: 1,…
https://zhuanlan.zhihu.com/p/69187094 数据分析的源数据应该是规范的,而规范的其中一个标准就是数据源应该是一维表,它会让之后的数据分析工作变得简单高效. 在之前的文章中,我也经常强调一维表的易用性,也时常有人问我,什么是一维表,为什么要转为一维表呢,这篇文章就来帮你梳理清楚并告诉你如何将二维表转化为一维表. 什么是一维表 在Excel中常见的是二维表,你可能天天都在用, 而一维表是长这样的: 通过以上二维表和一维表的比较,你应该能分清楚什么是一维表.什么是二维…
https://zhuanlan.zhihu.com/p/81846862 PowerQuery中,对两列或者多列的计算一般通过添加自定义列来实现,以下表为例, 如果需要1月和2月数据的合计,可以添加自定义列, 其实还有一种更方便的方式,不用动手输入任何字符,点点鼠标就可以完成,这个功能就在这里: 以上面两列相加为例,选中1月和2月这两列,然后点击标准>添加,就自动增加了一个新列, 选中两列时,除了加法,还可以进行乘.除.减.百分比.取模等各种运算,大家可以根据需要自行操作. 而选中两列以上时,…
https://zhuanlan.zhihu.com/p/55841964 时间可以说是数据分析中最常用的独立变量,工作中也常常会遇到对时间数据的对比分析.假设要计算上年同期的销量,在PowerBI中可以用CALCULATE来写个度量值[上年同期], = CALCULATE([数量],SAMEPERIODLASTYEAR('日期表'[日期])) 这里SAMEPERIODLASTYEAR就是时间智能函数. 时间智能函数和普通函数的区别 时间智能函数与普通的时间或者日期函数的区别是, 日期函数直接依…
https://zhuanlan.zhihu.com/p/64422393 经常有朋友提出一个问题,然后我给出一个DAX之后,TA又不是很理解,反复多次沟通才能把一个表达式讲清楚.或者TA自己写了一个度量值,可是对输出结果无法理解:我想要的是A,为什么出来的是B? 为了帮助大家快速理解一个相对复杂的DAX,我把平时使用的方法拿出来分享如下. 为了介绍的简洁清晰,以及大部分人的可理解性,本文的DAX并不算复杂,重要的是理解的步骤和思路.(我理解的复杂DAX就是看起来比较长的.经过多层函数嵌套的.计…
https://zhuanlan.zhihu.com/p/66540160 常规分列 我们最常见的就是有固定分隔符的规范数据,这种直接就按照分隔符拆分就可以了, 如果没有分割符怎么办?依然是上面的数据,如果连逗号都没有呢,在Powerquery中还可以按从数字到非数字的转换来分列, 拆分列的常规功能中还可以按大小写字母的转换来进行分列,比如这样, 是不是非常方便呢. 分列到行 有时候数据都挤在一个单元格里,直接分列也可以,会分成一行多列的表,使用起来很不方便. 在PQ中,还可以直接分列到行中,直…
https://zhuanlan.zhihu.com/p/130460772 ​今天分享一个PowerQuery的小技巧,导入到PowerBI中的数据,如果想要更改数据的列名,可以在PQ编辑器中直接双击列名,如果需要修改的列名比较多,还可以批量修改,利用这个M函数:Table.RenameColumns 其实双击更改列名也是利用这个函数,以下面这个数据为例, 双击标题把“日期”更改为“订单日期”,在编辑栏就会看到这个M函数, = Table.RenameColumns( 更改的类型, {{"日期…
本文来源于一个星友的问题,他有上百个Excel表格,格式并不完全一样,列的位置顺序也不同,但每个表都有几个共同列,这种情况下,能不能通过Power Query把这些表格共同的列批量合并呢? 当然是可以的! 我模拟了三个表,源数据的情况大致是这样的, 这三个表之间的特征如下: 有共同列 列的位置顺序是不同的 列的数量不同,表三比其他表少了一列 假设我们需要提取其中四列并合并:订单日期.商品名称.客户编号和销售额,这四列在三个表都存在. 如果使用PowerQuery简单的合并汇总功能,是无法满足要求…
https://zhuanlan.zhihu.com/p/64419762 每当拿到原始数据,不如意十有八九,快速准确的清洗数据也是必备技能,数据清洗正好是 PowerQuery 的强项,本文就来介绍两个常用的 M 函数:Text.Remove 和 Text.Select. 看到以 Text 开头的,就知道是文本处理函数,比如原始数据如下, 如果只想要中文名,就是把英文字母都去掉,可以用Text.Remove函数,添加自定义列, 姓名=Text.Remove([客户],{"A"..&q…
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/64418286 假设有一组数据, 已知每一个产品贡献的利润,如果要计算前几名产品的贡献利润总和,或者每一个产品和利润更高产品的累计贡献占总体的比例,就涉及到累计求和,数据量较小的情况下,在 Excel 中可以轻松实现,毕竟 Excel 是对单元格进行操作. 但是在 PowerBI 中,对整个字段运算很简单,而对每一行的数据进行筛选汇总,却需要动一点小心思,下面就以此表为例介绍几种常用的累计求和方式,并以此案例来进一步掌握几个函数的用法.…
https://zhuanlan.zhihu.com/p/66424209 SUMMARIZE函数非常强大,掌握以后表面上看也非常好用,所以我专门写篇文章介绍一下这个函数,至于是否一定要使用该函数,请看完再决定. SUMMARIZE,单纯从英文语义上看,是汇总.总结的意思,而它的功能,确实也就是汇总,它可以返回一个汇总表. 你可以从官方的文档中查询到该函数的说明, https://docs.microsoft.com/en-us/dax/summarize-function-dax 它的参数非常…
https://zhuanlan.zhihu.com/p/121773967 ​数据分析就是筛选.分组.聚合的过程,关于筛选,可以按一个维度来筛选,也可以按多个维度筛选,还有种常见的方式是,利用几个特定的维度值构成的表,作为条件表来筛选原始表. 也就是说,根据一个表,来筛选另外一个表,在PowerBI中怎么做,更具体一点,如何用DAX来完成呢? 假设原始数据记录为一张模拟的订单表: 还有一张表,命名为筛选条件表, 根据这个筛选表,来找出订单表中的记录,即找出1月2日产品A和B.以及1月3日产品B…
https://zhuanlan.zhihu.com/p/64421378 Excel中知名度最高的函数当属VLOOKUP,它的确很有用,可以在两个表之间进行匹配数据,使工作效率大大提升,虽然它也有很多局限性.这里不讨论VLOOKUP,而是学习一个和VLOOKUP功能很相似的DAX函数:RELATED. RELATED RELATED是一个值函数,它的参数是一列,RELATED函数也是把一个表的数据通过匹配到另一个表中,前提是使用前应该在两个表之间建立关系. 表之间的关系图如下, 订单表的数据如…
https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行,但有细心的星友学习时发现,如果把总计行显示出来,会出现没有数据或者即使有数据,也是错误的情况,就像这样, 如果选择了其他日期,总计行可能还会显示空值,很明显这是错误的.为什么会这样呢? 在之前的文章中,已经多次介绍过,PowerBI表格的总计行,并不是上面各明细行的简单相加,而是遵循度量值的计算逻…
https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体现 PowerBI 的强大.现实中的分析很多数据维度交织在一起,若要一个一个的生成帕累托图进行分析,就显得太繁臃和低级. 通过简单的点击交互,就能进行动态分析发现见解,才是我们需要的,恰好这也是 PowerBI 所擅长的. 就帕累托分析来说,能从不同的角度快速发现关键因素.以及可以动态设定关键因素的…
https://zhuanlan.zhihu.com/p/111674088 ​来自知乎一个朋友的问题,如何在Excel中批量插入文件的超链接,以便在Excel中对文档进行有序的目录管理? 这个问题的方法很多,这里给出一个简便且高效的方法,利用Power Query. 假设需要管理的文档存放于三个文件夹中, 每个文件夹中有4个文件, 下面就来看一下如何把这些文档地址和目录批量导入的Excel中. 先建一个Excel工作簿,逐步完成下述操作: ↑ 获取数据>从文件夹 ↑ 选择文档所在的路径 ↑ 点…
https://zhuanlan.zhihu.com/p/64415763 使用Power Query进行复杂一些的数据处理,离不开M函数,目前已经有超过700个函数了,基本上各式各样的数据处理需求都可以使用M函数实现,如果你觉得这些还不够,或者使用起来不是很方便,也可以在PQ中自定义函数. 自定义函数的语法 如果在M编辑器中看到这个符号: => ,就是有自定义函数在里面,自定义函数的基本语法是: 函数名=(参数1,参数2,参数3……)=>表达式 函数名可以任意写,只要和M语言里的关键字不要重…
https://zhuanlan.zhihu.com/p/64422599 为什么要进行格式化? DAX 是一种函数式语言,正如我们已经学习的或者看到的,DAX 代码中总有一些函数带有几个参数,而参数还可以是其他函数所构成,参数的数量以及嵌套的层数决定了 DAX 代码的复杂度. 使用 PowerBI 进行数据分析时,有三层嵌套的 DAX 代码很常见,四层及以上的嵌套也经常需要用到,如果将所有的代码写在一行上,不做任何格式化的处理,将导致难以理解,即使是自己写的,回头再看或者修改也会一头雾水. 因…
丁香园制作的这个地图可视化,相信大家每天都会看好几遍,这里不讨论具体数据,仅来探讨一下PowerBI地图技术. 这个地图很简洁,主要有三个特征: 1,使用着色地图,根据数据自动配色 2,只显示中国地图,其他区域不显示 3,地图上显示类别标签 只要使用满足这三个特征的地图类型,就可以轻松模仿出这个地图. 首先我们来看一下Power BI中默认的着色地图,效果如下: 制作方法请参考:PowerBI默认地图可视化 这个着色地图因为是默认图表,制作起来最简单,并且颜色设置比较方便,可以使用度量值动态配色…
https://zhuanlan.zhihu.com/p/64999937 Excel作为使用最频繁.应用最广泛.用户最庞大的数据处理工具,当然也应该是PowerBI最常用的数据获取方式,本文介绍一下将Excel数据导入到PowerBI的几种方式. 01 | 在PowerBI Desktop中获取数据 这种是PowerBI中最常用也是最简单的方式,这种方式导入进来后可以直接加载使用,也可以在Power Query编辑器中进行清洗整理. 本地文件更新,在PowerBI Desktop中通过刷新数据…