https://zhuanlan.zhihu.com/p/70590683 关于占比,之前有篇文章(利用ALL和ALLSELECTED灵活计算占比)详细介绍了各种情况下占比的度量值. 经星友咨询,还有一种情况没有介绍,实际工作中会经常用到的情形是:父级字段显示该层级值占总体的比例,而打开该层级,显示子级各明细项占该层级值的占比. 仍然用占比文章中的示例,直接来看一下效果. 当处于产品类别层级,显示类别占在总体的比例, 而打开类别,产品明细显示占该类别的比例, 其实单独计算产品明细占类别的比例,以…
丁香园制作的这个地图可视化,相信大家每天都会看好几遍,这里不讨论具体数据,仅来探讨一下PowerBI地图技术. 这个地图很简洁,主要有三个特征: 1,使用着色地图,根据数据自动配色 2,只显示中国地图,其他区域不显示 3,地图上显示类别标签 只要使用满足这三个特征的地图类型,就可以轻松模仿出这个地图. 首先我们来看一下Power BI中默认的着色地图,效果如下: 制作方法请参考:PowerBI默认地图可视化 这个着色地图因为是默认图表,制作起来最简单,并且颜色设置比较方便,可以使用度量值动态配色…
之前使用自定义图表,每次新打开一个新文件时,都需要重新添加,无法保存,在PowerBI 6月更新中,这个功能得到了很大改善,可以将自定义的图表固定在内置图表面板上了. 添加自定义图表后,右键>固定到可视化效果窗格, 这样下次再创建新的PowerBI文件,这些自定义图表也都在哦, 既然可以固定了,那么就可以将常用的一些自定义图表添加的可视化面板中了,不用每次都要下载. 目前PowerBI的自定图表有200多个,但是质量参差不齐,并不是每一个都好用,需要仔细甄别才能挑到合适的图表. 这里我就精心挑选…
​近期国际疫情愈演愈烈,在这个特殊的时期,一方面仍要照顾好自己.不要为疫情防治添乱,另一方面,也可以利用疫情数据提升自己的数据分析和可视化技能. 下面是我制作的几个可视化图表,分别注释了每个可视化用到的图表以及可能涉及到的控件和技巧. 数据为2020年1月1日至2020年3月28日每个国家的每日累计确诊人数(利用累计确诊人数,每日新增也可以很简单的计算出来). 数据:全球每日累计确诊人数图表:柱形图 数据:全球每日累计确诊人数图表:柱形图 控件:Play Axis 技巧:利用度量值,只显示小于等…
作为一个理工男.用过了形形色色能够用于科学作图/数据可视化软件:从大学时做实验课推荐用于分析简单採集数据的 Origin; 毕业论文时用来呈现实验时序信号和离线分析脑电信号的 MATLAB.后面还发现了 Octave 以及 Gnuplot : 以及实验室师兄推荐用的 Matplotlib 软件; 工作后随着 HTML5 大红大紫,也发现了一些基于 Web 前端的软件,比方 d3js/Highcharts, 还有 Python 的 Bokeh-- 这些软件都有各自的优缺点,因为自己平时工作会做一些…
​https://zhuanlan.zhihu.com/p/128652582 经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有多少? 已知店铺的开业日期和注销日期,截至目前正在运营的店铺有多少? 已知员工的入职日期和离职日期,如何计算每个月底的在职员工数量? 此类问题的解决思路类似,下面就以计算在职员工数量为例,看看如何利用PowerBI来处理. 模拟数据如下,员工表中有员工姓名.入职日期和离职日期: 实现步骤如下: 1,…
https://zhuanlan.zhihu.com/p/96823622 ​开始半累加的计算之前,我们先看看什么是累加.半累加以及不可累加数据. 在含有大量行的数据表中,各种数据处理语言,包括DAX,为了性能考虑,不太可能总是检索表的每一行,更常见的情形是,一次性检索成千上万行,处理如此多行数据的最有效操作就是将它们加到一起,也就是累加汇总. 可以累加的数据类型就是可累加数据,比如订单表中的销售额,就是这种类型,无论是按照客户维度还是按照时间维度,都可以将每行的销售额直接汇总,并且这种汇总的结…
https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的. 假设数据为一个订单明细表,含有下单日期.客户名称.产品名称等数据,业务需求为: 根据订单表,计算出截止某个日期,购买次数为1-7次.8-14次.14-21次……的客户分别有多少? 下面是PowerBI解决这个问题的过程,只需要简单的3个步骤. 1.数据建模 根据订单表提取出客户表,以及建立一个涵…
https://zhuanlan.zhihu.com/p/64999937 Excel作为使用最频繁.应用最广泛.用户最庞大的数据处理工具,当然也应该是PowerBI最常用的数据获取方式,本文介绍一下将Excel数据导入到PowerBI的几种方式. 01 | 在PowerBI Desktop中获取数据 这种是PowerBI中最常用也是最简单的方式,这种方式导入进来后可以直接加载使用,也可以在Power Query编辑器中进行清洗整理. 本地文件更新,在PowerBI Desktop中通过刷新数据…
https://zhuanlan.zhihu.com/p/64414205 前面介绍如何使用DAX生成日期表的时候,使用了VAR,有人留言问这个VAR怎么理解,那么这篇文章就来介绍VAR以及它的用法. VAR是VARIABLE的缩写,意思为变量,任何一个编程语言中,变量都是一个非常重要的基础概念,DAX当然也是一种语言,也有变量这个概念.如果以前学过编程,对这个应该很熟悉:没学过也没有关系,看了本文你就理解了. 我们人都有记忆能力,电脑也有记忆能力,并且比人的记忆能力更强大更稳定,那么如何利用电…
https://zhuanlan.zhihu.com/p/113113765 PowerBI数据分析02:结构百分比分析法 作者:海艳 结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间的比较与分析,将财务报表中的某一重要项目(如资产负债表中的资产总额或权益总额)的数据作为100%,然后将报表中其余项目额都以这一项目的百分比的形式作纵向排列,从而揭示出各项目的数据在公司财务中的意义的一种财务分析方法. 涉及的常用DAX函数 SUM对某个列中的所有数值求和 SUMX 返回为表中的每一…
https://zhuanlan.zhihu.com/p/88528732 在各种经营分析报告中,我们常常会看到YTD,YOY这样的统计指标,这样的数据计算并不难,尤其是在PowerBI中,因为有时间智能函数的帮助,大大简化了这些计算,从而快速满足定期的报告需求. 下面就给你列出这些常用统计数据的度量值,帮你快速掌握各种期间数据的算法. 如果对时间智能函数不熟悉,可以先看看这篇文章: 一文帮你掌握时间智能函数 假设数据模型为一张订单表和一张对应的日期表,并已经建立了基础度量值: 收入 = SUM…
https://zhuanlan.zhihu.com/p/64422599 为什么要进行格式化? DAX 是一种函数式语言,正如我们已经学习的或者看到的,DAX 代码中总有一些函数带有几个参数,而参数还可以是其他函数所构成,参数的数量以及嵌套的层数决定了 DAX 代码的复杂度. 使用 PowerBI 进行数据分析时,有三层嵌套的 DAX 代码很常见,四层及以上的嵌套也经常需要用到,如果将所有的代码写在一行上,不做任何格式化的处理,将导致难以理解,即使是自己写的,回头再看或者修改也会一头雾水. 因…
https://zhuanlan.zhihu.com/p/107672198 ​本文来自星友袁佳林的实践分享,他参加了PowerBI星球中的DAX圣经第二版100天学习打卡活动,已持续分享近100天,对DAX的理解自然更深了一些,本文就是他利用DAX解决问题的一种思路. Think in DAX 之报表自动化实践 作者:袁佳林 2019年6月7日,在我加入PowerBI星球不久,问过星主采悟一个实际工作上遇到过的数据汇总统计的问题: 数据结构如下图所示, (数据纯属模拟,如有雷同,都是抄我的)…
https://zhuanlan.zhihu.com/p/75462046 对于初学者,总是会把度量值和计算列搞混,我也经常碰到这样的问题,有些星友用文章中的代码总是报错,发给我一看,才知道TA把本来是度量值的DAX用在了计算列上,或者相反. 即使是已经学习了很长时间的人,对于计算列和度量值的写法也未必轻车熟路,还是有可能不明白其中到底有什么不同,这篇文章就试图把度量值和计算列彻底讲清楚. 什么是计算列.什么是度量值 计算列是直接在现有的表上添加一个新列, 新建的计算列,和表中之前已经存在的列一…
https://zhuanlan.zhihu.com/p/64422393 经常有朋友提出一个问题,然后我给出一个DAX之后,TA又不是很理解,反复多次沟通才能把一个表达式讲清楚.或者TA自己写了一个度量值,可是对输出结果无法理解:我想要的是A,为什么出来的是B? 为了帮助大家快速理解一个相对复杂的DAX,我把平时使用的方法拿出来分享如下. 为了介绍的简洁清晰,以及大部分人的可理解性,本文的DAX并不算复杂,重要的是理解的步骤和思路.(我理解的复杂DAX就是看起来比较长的.经过多层函数嵌套的.计…
https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活跃客户.流失客户的过程,这个过程也称为客户生命周期. 对客户生命周期管理至关重要,之前曾介绍过如何使用PowerBI分析新客户(如何使用Power BI计算新客户数量?),但一直没有写过流失客户的分析,正好最近有几个星友都提出了这个问题,所以专门写篇文章简要介绍一下思路. 每个公司由于业务特征.客户…
https://zhuanlan.zhihu.com/p/85996745 上一篇文讲了累计聚合,这篇文章继续讲一下滚动聚合,比如常用的MAT计算,Moving Annual Total,滚动年度总计,即向前滚动12月的合计数. 滚动年度求和,也经常用于财务上的滚动预算,看完这篇文章,你以后会很轻松的计算出需要的数据了. 模拟一份2018年1月至2019年7月的订单数据, 利用CALENDARAUTO生成一份日期表,按日期列建立关系,那么如何计算向前滚动12月的销售额合计呢? 其实很简单,新建度…
https://zhuanlan.zhihu.com/p/67015995 编写DAX代码进行业务分析时,经常会用到表与表之间的连接计算,比如在之前的产品关联分析一文中(如何用Power BI分析产品关联度?),需要找出同时购买两种商品的客户,就是计算A商品的客户列表与B商品的客户列表的交集. 这篇文章再通过客户列表的示例,介绍如何使用DAX,进行两个表的各种连接计算. 模拟一个简单的订单表如下, 通过订单表可以简单的计算出购买A的客户列表,新建表,在编辑框输入代码,如图示: 购买A的客户也可用…
1.数据概览 第一步当然是把缺失的数据找出来, Pandas 找缺失数据可以使用 info() 这个方法(这里选用的数据源还是前面一篇文章所使用的 Excel ,小编这里简单的随机删除掉几个数据) import pandas as pd # 相对路径 df = pd.read_excel("result_data.xlsx") print(df) # 输出结果 plantform read_num fans_num rank_num like_num create_date 0 cnb…
现在这个大数据时代,每时每刻.各行各业都在产生多种多样的海量数据,如何简单高效的来理解.挖掘这些数据,发现背后的见解就非常重要. 本文介绍这个图表就可以帮你快速发现海量数据背后的见解,微软研究院打造的炫酷可视化项目:Sanddance,直译过来就是沙舞,先来看看它的可视化效果, 是不是如同一粒粒沙子在翩翩起舞呢. 而每一粒沙子就是一个数据元素,在Sanddance中,每个数据元素始终在屏幕上显示,并通过颜色.形状.大小等的变换,在不同数据视图之间切换,让数据探索过程变得更加生动有趣,让用户可以更…
在刚刚发布的11月更新中,PowerBI界面全新改版,采用和Office套件相似的Ribbon风格,除了这个重大变化,还发布了一个AI黑科技图表:分解树(Decomposition Tree). 无论是新的界面,还是分解树,目前都是预览阶段,所以即使你更新到11月的版本,你可能仍然感觉没有变化,因为你没有启用新的预览功能. 更新到新版本以后,你首先应该在选项>预览功能中,勾选这两项, 然后,你就可以体验到新的PowerBI界面,以及在可视化区域这个新的AI图表, 本文主要是带大家体验一下这个新的…
https://zhuanlan.zhihu.com/p/64418286 假设有一组数据, 已知每一个产品贡献的利润,如果要计算前几名产品的贡献利润总和,或者每一个产品和利润更高产品的累计贡献占总体的比例,就涉及到累计求和,数据量较小的情况下,在 Excel 中可以轻松实现,毕竟 Excel 是对单元格进行操作. 但是在 PowerBI 中,对整个字段运算很简单,而对每一行的数据进行筛选汇总,却需要动一点小心思,下面就以此表为例介绍几种常用的累计求和方式,并以此案例来进一步掌握几个函数的用法.…
https://zhuanlan.zhihu.com/p/67803111 本文源于微博上一位朋友的问题,在计算同比增长率时,以下两种DAX代码有什么不同? -------------------- YOY% 1 = VAR sales=SUM('订单'[销售额]) VAR lysales= CALCULATE( SUM('订单'[销售额]), SAMEPERIODLASTYEAR('日期表'[日期])) RETURN DIVIDE(sales-lysales,lysales) --------…
​https://zhuanlan.zhihu.com/p/74732578 来源于知识星球中一个星友的问题,使用DAX在PowerBI中新建了一个表,如何为这个表添加索引列呢? 假如数据模型中只有一张订单表,需要从订单表中提取客户表,可以直接使用VALUES函数提取一个不重复客户表, 如何为这个表添加索引列? 因为DAX生成的表无法在PowerQuery中编辑,也就无法使用PQ的添加索引列的功能了,这里提供两个变通解决的方法. 方法一:使用ADDCOLUMNS在原DAX的基础上增加排名列 因为…
https://zhuanlan.zhihu.com/p/57861350 计算个体占总体的比例是一个很常见的分析方式,它很简单,就是两个数字相除,但是当需要计算的维度.总体的范围发生动态变化时,如何灵活且快速的计算出各种占比,还是需要动一点心思的. 本文就通过 DAX 中的 ALL 和 ALLSELECTED 函数来看看在 PowerBI 中是如何快速计算出各种占比的. 数据为虚拟的某网上商城的电子产品的销售记录,我们根据销售额指标来计算某产品的占总体或者类别的比例. 首先写一个销售额的度量值…
https://zhuanlan.zhihu.com/p/64400583 前面利用PowerBI做数据分析的时候都是对整列的字段进行操作,并没有做更细化的分析,比如分析数据的每一行.提取某一行的数据,这在Excel中很容易实现,因为Excel公式是对单元格操作.那么在PowerBI中能不能按行分析呢,答案当然是肯定的,并且比Excel更加灵活,借助这个函数:EARLIER . EARLIER语法 EARLIER(<column>, <number>) 第一个参数是列名 第二个参数…
https://zhuanlan.zhihu.com/p/68183990 我在知识星球收到的问题中,关于表格和矩阵(以下统称表格)总计行错误算是常见的问题之一了,不少初学者甚为不解,在Excel透视表中很常见的总计,为什么到了更强大的 PowerBI 中,反而会出现这么低级的错误呢? 并且碰到这个错误,很多人都束手无策,不知道该怎么办,或者干脆设置为不显示总计行了,其实没有必要,本文就来介绍一下为什么会出现错误,以及解决的办法. 总计的计算逻辑 在PowerBI的表格中,每一个数据都是根据当前…
https://zhuanlan.zhihu.com/p/121773967 ​数据分析就是筛选.分组.聚合的过程,关于筛选,可以按一个维度来筛选,也可以按多个维度筛选,还有种常见的方式是,利用几个特定的维度值构成的表,作为条件表来筛选原始表. 也就是说,根据一个表,来筛选另外一个表,在PowerBI中怎么做,更具体一点,如何用DAX来完成呢? 假设原始数据记录为一张模拟的订单表: 还有一张表,命名为筛选条件表, 根据这个筛选表,来找出订单表中的记录,即找出1月2日产品A和B.以及1月3日产品B…
https://zhuanlan.zhihu.com/p/64420449 在进行数据分析时,需要对某个数据进行格式调整的情形经常会遇到,在DAX中有一个专门进行格式调整的函数:FORMAT. 其实对于 FORMAT 函数并不陌生,在之前介绍如何制作日期表时,其中一种方式就是利用 DAX 生成日期表, 这一串 DAX 函数可以一键生成一套日期表,仔细观察,其实只是第一行代码利用 CALENDAR 生成一个日期列,剩余的年.月份.日.星期等都是利用 FORMAT 函数对日期进行自定义格式调整生成的…