前段时间的工作主要是用Tableau和Tableau CRM,Power BI搁置了好一段时间。为了了解整个行业的趋势,偶尔也会回来看看Power BI这边的动静,毕竟自己当初就是从微软的技术路线开始学习的,这也算不忘初心吧。

几年工作总结下来发现,其实各种仪表板设计工具最终的目的是一样的,就是把数据以更直观的方式展现给最终的用户,针对不同的用户数据需要以不同的方式进行展现。虽然每家都有自己的产品,但是大体的流程都是一样的。

以下就对大体的流程进行一个自己经验的总结。

数据准备

做BI的话,了解你的数据是很重要的,这是整个过程的第一步也是最关键的一步。

这一步需要确定数据已经准备好,包括数据是什么类型,什么格式,以及存储在哪里。现实工作中可能还要关注比如数据量的大小,更新周期等信息。

这些必要信息确认好之后,就需要对数据进行一定的加工,供Dashboard使用。

通常来说这也是一个很复杂的过程,大多数的项目里这个过程的比重可能要占到80%左右。

大体划分为以下几步:

导入数据

在Power BI里把数据导入进来,不管是Excel,SQLServer,Power BI都有很好的支持。

如果数据来自数据库,不建议把超大量的数据导入到Power BI里,这样会影响数据的展现效率。建议在数据库端建立数据仓库对数据进行预处理和清洗,包括对数据粒度的提升,降低数据在前端平台的处理量。

观察清洗数据

数据能不能直接拿过来用,可以在Power BI里先观察一下。根据Dashboard的设计,也可以自己加一些列或者度量。

建议每加载一个数据,都在这里人工观察一下,主要是发现数据是否有明显的问题,以及针对各种问题需要进行什么样的处理,这一步是整个过程中对数据质量的初步把关。

这里会初步用到DAX,对于熟悉Excel公式的来说,相对学习起来容易一些,而且公式的可读性也很高。

需要留意的是在Tableau里用到的是不同的公式系统。

数据建模

通常导入的数据不一定是一个大平表,数据都会很零散,所以这里需要对数据进行建模,主要是确认数据之间的关系,最终把所有数据都拉平,以方便数据的展现。

如果对维度表和事实表已经有过了解,那么规律就是如果是一对多的关系,维度表一侧是1,事实表一侧是n。

值得一提的是,这个过程跟我们以前做多维立方体分析很像。所以针对不同经验的用户,这一步的理解速度会有不同的差异,但大体上只要理解了维度和事实,这个过程就好理解多了。

其它

很多人问,在BI里有ETL,为什么还需要这么复杂的数据准备。

我的理解是,如果是一个完整的项目,是需要一个明确的分工的,大多数的数据准备工作都应该在ETL里,只把很少的一部分数据准备的工作放在Power BI里。但如果不是一个完整的项目甚至没有数据仓库以及数据库的支持,考虑到整体成本,是可以考虑到把数据清洗放在Power BI里。但不得不说,大多数的数据准备工作在Power BI里准备要比在ETL里复杂的多,而且可能也会影响性能,这个是在做每一个项目之前需要考虑的。

仪表板的设计

总体规划

仪表板都需要展现什么样的数据,大体分为几个页面,每个页面放什么内容,以及页面的色彩风格等。

具体的页面布局设计

在布置数据之前,大体的确定下页面的整体结构。可以先设定好主页,然后再复制到其它页面,这样会更节省效率,以及确保每一个页面都保持一致的设计风格。

这里相对Tableau,我觉得在设计上Power BI要直观和简洁的多。所以在用不同工具的时候,对资源的规划和组织会略有不同,这点需要留意。

在Power BI里,建议这里把每一个页面的框架都设计好,横竖都放什么,以及整个页面的整体色调。这样会让你的数据展现起来,让人感觉更舒服。同时建议这里的颜色风格,尽量跟公司的风格保持一致。比如机械工业通常偏好银色,医疗相关行业通常偏好白色和蓝色。

页面细节的设计

到这一步就是需要设计每个页面的详细内容了。包括筛选器放哪里,导航怎么设计,具体的图表放置在哪里,以及每个图表都如何去展现信息。

这里对于每一个图表的设计就需要自己对数据有一定的理解,比如对于离散型的数据适合用什么图表,对于连续型的数据适合用什么图表。

怎么把数据展现的更直观,这是一个需要经验的过程,不仅需要你对数据有一定的理解,也需要你对所在的行业有一定的认知。总体来说这就是一个技术以外的积累过程。

其它

如果需要考虑到移动端,还需要对移动端进行设计。

不同于桌面版本,平板和手机的屏幕有限,所以大多数时间都是针对桌面版本去做减法,直至最后保留的都是用户最关心的数据和信息。

跟其它平台的对比

这里不得不再次提到Tableau,作为业界的扛把子,其拥有更多的市场和用户群。

但如我先前做过的类比,就好像宝马和奔驰你很难说哪个更好,挑选自己合适的最好。

对于国内大多数用户来说,因为Power BI是微软自家的产品,所以展品的设计套路都很一致,相对Tableau的设计回路,是需要时间去理解和适应的。虽然大体的操作流程是一样的,但是有些地方的脑回路需要时间去理解,适应一段时间之后就会体会到Tableau设计的独到之处。

对了最后的最后,你也许听说过Tableau CRM,这是salesforce里对应的工具,几年用下来,结论就是这个跟Tableau压根就没什么相似性,只是名字像而已。如果你需要学这个,即使你会Tableau或者Power BI,那么这就相当于全新的第三套工具。

最后,Power BI只能在windows平台使用,Tableau可以在Mac下使用。他们的桌面版都是免费的,网上的很多教程你都可以用这个免费的版本去学习,只是到了需要跟后端服务对接的时候才需要相应的授权,但这足以满足大多数人80%的学习了。

Power BI回顾于2025年的更多相关文章

  1. 11月09日《奥威Power-BI vs微软Power BI》腾讯课堂开课啦

    上过奥威公开课的同学可能有一个疑问:奥威Power-BI和微软Power BI是同一个吗,为什么叫同样的名字?正如这个世界上有很多个John.Jack.Marry…一样,奥威Power-BI和微软Po ...

  2. 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表

    1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...

  3. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  4. 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验

    Power BI有手机版,目前支持安卓,苹果和WP,不过没有WP手机,苹果在国内还不能用,要FQ和用就不测试了.安卓的我也也是费了九牛二虎之力才把app下载下来,把方法分享给大家. FQ太麻烦,所以建 ...

  5. Power BI官方视频(3) Power BI Desktop 8月份更新功能概述

    Power BI Desktop 8月24日发布了更新版本.现将更新内容翻译整理如下,可以根据后面提供的链接下载最新版本使用. 1.主要功能更新 1.1 数据钻取支持在线版 以前的desktop中进行 ...

  6. 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库

    说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...

  7. 千呼万唤始出来,微软Power BI简体中文版官网终于上线了,中文文档也全了。。

    前几个月时间,研究微软Power BI技术,由于没有任何文档和资料,只能在英文官网瞎折腾,同时也发布了英文文档的相关文章:系列文章,刚好上周把文章发布完,结果简体中文版上线了.哈哈,心里有苦啊,早知道 ...

  8. 微软新神器-Power BI横空出世,一个简单易用,还用得起的BI产品,你还在等什么???

    在当前互联网,由于大数据研究热潮,以及数据挖掘,机器学习等技术的改进,各种数据可视化图表层出不穷,如何让大数据生动呈现,也成了一个具有挑战性的可能,随之也出现了大量的商业化软件.今天就给大家介绍一款逆 ...

  9. 微软Power BI技术文章与资源目录

    下面是本博客原创的微软Power BI技术相关文章,对于部分转载文章和资源,会注明出处. 本博客将发布基于微软Power BI相关的基础入门文章,视频教程等资源,敬请关注. 个人建立的Power BI ...

  10. 一起学微软Power BI系列-使用技巧(2)连接Excel数据源错误解决方法

    上一篇文章一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库中,我们介绍了Power BI Desktop中连接Oracle和Mysql的方法,其实说到底还是驱动的问题, ...

随机推荐

  1. Oracle客户端中文显示问号乱码问题

    Oracle显示中文显示??乱码 问题如下图 解决方法 打开Oracle客户端,新建一个SQL Window 输入select userenv('language') from dual 复制搜索到的 ...

  2. Linux netstat 命令查看80端口状态

    Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Membershi ...

  3. 视觉SLAM第四讲李群与李代数习题

    视觉SLAM第四讲李群与李代数习题 一.验证\(SO(3).SE(3).SIM(3)\)关于乘法成群 首先引入一下群的定义. 群 (Group) 是一种集合加上一种运算的代数结构.我们把集合记作 \( ...

  4. some notes

    .displaynone { display: none } https://voce.chat/zh-CN 一个开源的迷你的国产开源聊天软件,服务端非常小,只有 15MB. 4 分钟前 虽然没有办法 ...

  5. Hack The Box-Chemistry靶机渗透

    通过信息收集访问5000端口,cif历史cve漏洞反弹shell,获取数据库,利用低权限用户登录,监听端口,开放8080端口,aihttp服务漏洞文件包含,获取root密码hash值,ssh指定登录 ...

  6. CompletableFuture原理及应用场景详解

    1.应用场景 现在我们打开各个APP上的一个页面,可能就需要涉及后端几十个服务的API调用,比如某宝.某个外卖APP上,下面是某个外卖APP的首页.首页上的页面展示会关联很多服务的API调用,如果使用 ...

  7. Docker部署RocketMQ(JDK11)

    说起微服务,不谈容器,不谈云,那还谈个啥?容器中又以Docker最为流行,那么我们今天就来实践下容器化微服务,然后顺带解决下各种疑难杂症. 环境: Idea2019.03/Gradle6.0.1/JD ...

  8. 如何使用 OpenAI Agents SDK 构建 MCP

    1.概述 OpenAI Agents SDK 现已支持 MCP(模型上下文协议),这是 AI 互操作性的重大变革.这使开发人员能够高效地将 AI 模型连接到外部工具和数据源.本篇博客,笔者将指导使用 ...

  9. datasnap的多表更新

    补课很多,xe一路走来,提供了许许多多的多层数据处理的方法.确实已经提供数个最优方案. 把下面的图跑通了,也就解决核心问题了. [Berlin datasnap开发手册p261] 补充:

  10. windows下jdk版本切换(bat)

    1.jdk下载 Oracle官网 https://www.oracle.com/cn/ 资源->下载->Java下载 jdk当前最新版本 jdk22版本 jdk8版本 当前页面向下拉 2. ...