Power BI实用技巧:轻松打造专业级甘特图
Power BI实用技巧:轻松打造专业级甘特图
大家好,今天我们要一起探索Power BI中一个既实用又强大的功能——制作甘特图。甘特图以其直观展示项目时间线和任务进度的特点,在项目管理中扮演着重要角色,今天将为大家带来两种不同的甘特图制作方式——堆积条形甘特图、第三方视觉对象甘特图。现在,就让我们一起看看如何在Power BI中快速打造出专业级的甘特图吧!
步骤一:准备数据——数据清洗
首先,确保你的数据集中包含以下关键列:
任务名称:用于标识每个任务。
开始日期:任务开始的日期。
结束日期:任务预计完成的日期。
以下图为例:

导入数据,进行数据清洗:
1、添加索引列
2、向下填充父级项目
3、
添加自定义列 = Table.AddColumn(重排序的列, "持续天数", each [结束日期]-[开始日期])
结果输出如下图

步骤二:数据建模——数据计算
1、新建列计算推进天数
推进天数 = SWITCH(TRUE(), TODAY()-[开始日期].[Date]>[持续天数],[持续天数], AND(TODAY()-[开始日期].[Date]<[持续天数],TODAY()-[开始日期].[Date]>0),TODAY()-[开始日期].[Date], TODAY()-[开始日期].[Date]<0,0, BLANK())
上面的公式逻辑是,通过对项目开始日期到今日的日期差与持续天数对比,得出目前推进天数,值得注意的是,计算后的日期差为正数、零、负数,所以需要用条件函数将其转换为合理结果;
2、新建列计算项目进度
项目进度 = [推进天数]/[持续天数]
结果输出如下图

步骤三:可视化输出——辅助度量值建立
甘特图制图原理,就是用Y轴区分项目,X轴显示每个项目的日期范围,所以非常适用堆积条形图制作。
首先我们要建立两个度量值,来辅助图表呈现
1、
最早日期 = MINX(ALL('项目管理'),'项目管理'[开始日期])
项目起点 = INT(MAX('项目管理'[开始日期])-[最早日期])
这两个度量值的建立是为了让所有条形的起点为最早日期;
2、导入堆积条形图,Y轴添加项目名称(当添加项目名称后,发现项目名称并未按照事先排列顺序呈现,这时候我们添加的索引就可以发挥其作用了,如图选中任务名称,点击列工具选项卡,按列排序功能,选择索引),

X轴添加项目起点和持续天数,呈现如下图效果:

然后将项目起点柱形颜色设置为与背景一致,就得到下图效果

这就形成一个简单甘特图
为了能够更直观的看出项目进行状态,将把不同的状态用不同的颜色区分出来,我们就需要在添加三个度量值:
推进中 = CALCULATE(SUM('项目管理'[持续天数]),'项目管理'[项目进度]<1&&'项目管理'[项目进度]>0)
未开始 = CALCULATE(SUM('项目管理'[持续天数]),'项目管理'[项目进度]=0)
已结束 = CALCULATE(SUM('项目管理'[持续天数]),'项目管理'[项目进度]=1)
然后将三个度量值添加到X轴,并设置不同颜色就可以的到下图的效果

进阶技巧:
此时虽然图表看起来已经清晰不少,但是无法直观看至今为止的进度,那么如何将日期标识上去呢?这里就用到辅助线功能,首先建立一个度量值:
今日刻度 = INT(TODAY()-[最早日期])
然后用此度量值给图表添加恒定线,并将辅助线名称修改为今日,就可以模拟出今日日期刻度

当然Power BI如此强大,一个甘特图而已,一定要这样繁琐吗?答案是否定的,我们还可以通过第三方图表更轻松更美观的呈现甘特图,下面我们来详细看看第三方图表甘特图的制作方法吧;
步骤一:添加第三方视觉对象Gantt;
步骤二:如下图添加字段;


步骤三:如下图设置可视化对象;

便可得到如下图的甘特图效果:

现在,你已经成功在Power BI中制作了一个专业级的甘特图。这个甘特图将帮助你更直观地跟踪项目进度,识别潜在的延误,并做出及时的调整。
希望这个技巧能帮助你在项目管理中更加得心应手!如果你有任何疑问或想要探索更多Power BI的功能,请随时告诉我们。
目前已组建有BI在线服务团队,活跃接单老师超百人,专注解决BI横向、纵向相关的各类技术问题,包括但不限于各类BI工具、python、数据仓库、编程开发等服务。
BI包括但不限于永洪bi、quickbi、PowerBI、FineBI、Finereport、smartbi、tableau、qliksense等BI工具 ,可以制作BI系统,或解决单个项目,单个问题,考试相关、一对一教学等服务
有意联系瓶子微信:wdfyqx
Power BI实用技巧:轻松打造专业级甘特图的更多相关文章
- 数据可视化之powerBI技巧(二十三)Power BI可视化技巧,使用DAX自定义时间轴
按照自然日历来展现疫情数据时,是这样的效果, 由于各个国家的疫情爆发时间不一致,按自然日期坐标轴很难比较各个国家的蔓延速度. 如果各个国家都从蔓延日开始统计,展示之后每日的确诊人数,就是同样的时间轴 ...
- 数据可视化之powerBI技巧(十八)Power BI动态技巧:动态显示列和度量值
今天分享一个可视化小技巧,如何在PowerBI的表格中动态显示需要的列? 就是这样的效果, 也就是根据切片器的筛选,来显示需要的列,做起来很简单,步骤如下: 01 逆透视表 进入Powerquery编 ...
- 数据可视化之powerBI技巧(十五)采悟:Power BI动态技巧:动态显示数据层级
今天给大家分享一个动态显示数据层级的技巧,效果如下: 无论想按什么维度.什么顺序查看分析数据,只需要选择不同的切片器组合就行了. 方法如下:01 | 把数据聚合为分析需要的最细粒度 本文假设最细分析粒 ...
- 数据可视化之DAX篇(二十四)Power BI应用技巧:在总计行实现条件格式
https://zhuanlan.zhihu.com/p/98975646 如何将表格或者矩阵中值的条件格式也应用于总计行? 目前PowerBI并不支持这种功能,无法在总计行或者小计行上应用条件格式, ...
- 设计精美Power BI报告的五大秘诀
众所周知,Power BI可以帮助您创建交互式且信息丰富的报告,但使用Power BI 制作精美而实用的报告对我们这群IT人员而言,却是一个巨大的痛苦:但个人觉得不能就此止步,通过不断实践练习,小悦采 ...
- POWER BI报表服务器混合云初了解
Power BI报表服务器 购买Power BI Premium时,你可以获取2个产品,一个是Power BI Service另外一个是Power BI Report Server. Power BI ...
- 第一篇:Power BI数据可视化概述
前言 "可视化之工具,可爱者甚蕃.统计学家独爱R,自Python来,世人盛爱matplotlib.余独爱Power BI之出微软而不染(免费),濯Office而不妖(够精简).......& ...
- 数据可视化之powerBI技巧(二十一)简单三个步骤,轻松管理你的Power BI度量值
最近碰到几个星友的问题,都是问我之前分享的源文件是如何把度量值分门别类放到不同的文件夹中的,就像这样, 其实在之前的文章中也曾提及过做法,这里再详细说一下制作步骤: 01 | 新建一个空表 点击菜单栏 ...
- 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验
Power BI有手机版,目前支持安卓,苹果和WP,不过没有WP手机,苹果在国内还不能用,要FQ和用就不测试了.安卓的我也也是费了九牛二虎之力才把app下载下来,把方法分享给大家. FQ太麻烦,所以建 ...
- 一起学微软Power BI系列-使用技巧(2)连接Excel数据源错误解决方法
上一篇文章一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库中,我们介绍了Power BI Desktop中连接Oracle和Mysql的方法,其实说到底还是驱动的问题, ...
随机推荐
- 【2023微博评论爬虫】用python爬上千条微博评论,突破15页限制!
目录 一.爬取目标 二.展示爬取结果 三.爬虫代码 四.同步视频 五.获取完整源码 您好,我是@马哥python说,一枚10年程序猿. 一.爬取目标 前些天我分享过一篇微博的爬虫: 马哥python说 ...
- 【web安全】隐藏nginx头文件信息
摘要 Nginx作为开源web中间件,被广泛应用.因此源编译或者yum安装,都会带有其原有的nginx版本.很容易被针对,因此,通过修改nginx的源码.隐藏nginx版本和头部信息,保障nginx的 ...
- C#库dll配置文件App.config数据库连接项connectionStrings
原文地址:https://www.zhaimaojun.top/Note/5464967 网上一大堆的都是在说怎么修改项目文件,试过了不行,因为里面涉及到vs版本和安装目录等问题,不同的设备配置是不同 ...
- C++ 中 Concept-Model 概念模型
此文档参考自:https://gracicot.github.io/conceptmodel/2017/09/13/concept-model-part1.html ,觉得很有趣,就翻译过来了 一.C ...
- C语言:ACLLIB图形库——如何搭建环境(附三个文件代码)
看一下我配置完的运行结果: 1)首先创建一个项目. 2)选择win项目和C语言 3)然后找到你保存项目的文件夹里面拷贝两个.c和.h文件,两个文件代码我附在最后. 4)现在还不能用,找到项目属性 5) ...
- 复杂模式的两个List与Map合并为一个Map的拼接;笛卡尔乘积处理数据问题
简介 (Introduction): 背景 数据从多个表中获取,每个表的数据条数不是唯一的,最后结果要拼接成一个Map<String,Object>的模式封装所有数据,每个数据是一条. 结 ...
- JDK源码阅读-------自学笔记(十五)(java.lang.Math数学类)
Math类简介 用于常见的数学方法 如果需要更加强大的数学运算能力,计算高等数学中的相关内容,可以使用apache commons下面的Math类库 常用方法及实战 abs 绝对值 实例: 1 //绝 ...
- 精准管控|AIRIOT数字油库智能化解决方案
在油库管理的过程中,储油罐区普遍存在分布空间范围广.安全防爆要求高.监控点多.布线复杂.自动化系统集成难度大等问题,传统的油库管理手段相对落后.管理环境复杂,企业在监测监控.设备设施管理.日常运行 ...
- minio-搭建个人云存储服务
相信风靡全球的亚马逊 AWS S3 的存储云服务大家已经耳熟能详了,如何自己搭建一个私有的S3存储云服务呢?Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存.非结构化 ...
- 不到200行用Vue实现类似Swiper.js的轮播组件
前言 大家在开发过程中,或多或少都会用到轮播图之类的组件,PC和Mobile上使用 Swiper.js ,小程序上使用swiper组件等. 本文将详细讲解如何用Vue一步步实现的类似Swiper.js ...