Power BI服务是构建在微软云Microsoft Azure上面的一个SaaS(Software as a Service)服务,用户可以通过浏览器直接访问Power BI服务,所以也可以称其为Power BI Web或者Power BI Web服务。通过Power BI服务,用户可以创建或导入内容包,创建或修改报表和仪表板,设置数据网关及数据集的刷新,以及分享报表等。它是Power BI中最为核心的组成部分,也是用户对Power BI最直观的感受。图1-2-1是一张Power BI服务的结构示意图,其中浅色的部分都属于Power BI服务的范围,它在数据与用户之间起到了重要的桥梁作用。
图1-2-1 Power BI服务结构示意图
下面我们来看看Power BI服务中最重要的几个概念。
仪表板:仪表板可以将多个不同报表的数据汇聚到一起,任何报表中的图表都可以被固定到一个相同的仪表板中(在仪表板中叫作磁贴),而且这些图表中的数据也会随着报表内数据的刷新而自动更新。不仅如此,用户还可以向仪表板中添加图像、Web内容、文本框、视频等到仪表板。仪表板特别适合作为公司或者部门的数据展示,所有的重要数据和关键指标都可以被集中展示在一个仪表板中,所以很多用户都会选择把仪表板展示在大屏幕上。仪表板不仅可以用来做展示,还是讲故事(Storytelling)的好工具。因为每个被固定在仪表板中的磁贴都是一个跳转接口,只需要单击一下这个磁贴,Power BI就会跳转到这个磁贴来源的报表上,方便演讲者在某一个论点上展开多维度的详细分析。图1-2-2中展示的就是一个Power BI中的仪表板。
图1-2-2 仪表板
可视化对象:可视化对象也可以叫作视觉对象或可视化,也就是一般意义上的图表。仪表板和报表都是由可视化对象组成的。Power BI 提供了多种可视化对象,让用户以多种方式展现数据。包括:比较图表(柱状图、条形图、分区图、瀑布图),组合图表(树状图、环形图、饼状图),混合对比和组合图表(堆积条形图、堆积柱状图),关系型图表(气泡图),地理图表,百分比图表等。图1-2-3就是Power BI可视化效果模板,从这里用户可以轻松创建图表。除此之外,微软还向公众开放了代码,开发者可以根据需求和喜好构建自定义视图。普通用户也可以根据自己的需要,直接获取第三方视图。
图1-2-3 可视化效果模板
报表(交互式报表):Power BI可以让用户在友好的界面中创建丰满鲜活的交互式报表。一个报表由一系列基于相同数据集的图标和视图构成,图1-2-4展示了Power BI中的一个交互式报表。用户可以从零开始灵活地构建报表、选择准备好的报表(如用Power BI Desktop制作好的报表)、选择相应数据集预制的默认报表,或者添加新视图。如果使用相同的数据涉及需要强调的方面,需要尽可能多地从单一数据库创建报表。报表是仪表板易于查看阅读的基础,报表包含必要的视觉对象、固定报表、内容子集,报表也可以分享到个人用户和企业组织,并在电脑和移动设备上操作。
图1-2-4 交互式报表
自然语言查询:自然语言查询也叫智能问答,是Power BI提供的另一特殊功能。它能够解析自然语言(目前还不支持中文)。用户不需要知道SQL查询语句,更不需要对语法死记硬背,只需要随着自己的思维输入问题,Power BI便能将基于问题的关键字智能化地过滤,并且选择合适的视图进行展示。使用问答功能只需要在仪表板左上方的文本框输入问题即可,操作简洁明了。图1-2-5展示了一个使用自然语言查询的例子。智能问答可以给出答案,答案的视觉对象还可以被固定到仪表板中,方便进一步使用。
图1-2-5 自然语言查询示例
仪表板的图表可能包含了来自多个数据集的数据,因此建议数据模型的相关表名使用简单的词,如果表的名字是英文,应尽量避免缩写。
数据源授权与认证:更新数据和对数据的访问进行加密,在BI解决方案中都是很重要的工作。个人用户使用注册的账户登录网站https://app.powerbi.cn,企业组织用户使用由管理员分发的同一域名下的账户,这些统一组织的账户彼此之间可以轻松地分享仪表板和报表。如果是微软合作同盟Active Directory下面的客户,也能进行数据访问。SSO(单点登录)机制将允许Power BI自动识别企业组织的令牌并相应地根据授权策略发放权限。
Power BI使用安全集成的方式连接数据源,依据已存在的账户登录信息连接特定的数据源。在SSAS(SQL Server Analysis Services)与Power BI连接中,Azure Active Directory应用现有的基于角色的安全性,以及行级安全性来限制数据访问。当用户使用 Power BI查看数据时,数据将保留在Analysis Services多维数据集级别的内部部署中,并应用维度和单元级安全性。当Power BI连接Azure服务时,可以用Azure AD管理认证过程和控制云端环境的访问。在Excel和Power BI Desktop中,商业分析员通过登录信息连接本地的数据源,导入多个数据后发布到Power BI服务,这其中数据网关能够让仪表板和报表保持更新同步。基于多种认证方式,Power BI、Excel、Power BI Desktop可以连接多种数据源,认证方式如表1-2-1所示。
表1-2-1 认证方式
数据刷新:Power BI通过刷新让数据保持最新的状态,通过连接云端的Power BI,可以实现本地数据源的实时刷新、计划刷新等功能。参考界面如图1-2-6所示。
通过Azure的流数据分析或Power BI REST API集成Power BI时,数据将被直接推送到Power BI,因此可以实现仪表板和报表的实时刷新和实时可见。例如,对交通灯、温度等用物联网设备捕获到的实时性较高的数据进行实时分析。通过Power BI连接本地的SQL Server和SSAS,是一种实时连接,它意味着不需要对数据设置计划刷新便能实时查询获取到数据,当导航或单击报表和视觉对象的时候,自动获取到最新的数据反馈。对于 SaaS解决方案,Power BI不需要人为干预便可以日常自动刷新,用户也可以根据需求进行手动刷新。
基于Excel工作簿存储在One Drive for Business或SharePoint上的报表也可以刷新。无须设置刷新,Power BI大约每小时会自动检测Excel工作簿是否存在更新,如果文件有变更,如度量值修改、列的修改、可视化编辑,则这些更改会在一小时内反映在仪表板和报表中。当你需要立即看到更新时,可以使用“立即刷新”功能来手动刷新数据集。
图1-2-6 数据刷新
Power BI的数据同步解决方案是创建本地数据到Power BI服务的数据网关。这些数据网关允许用户从构建的数据源上刷新Power BI Desktop文件中的数据,用户还可以根据自定义的计划手动或自动刷新数据。Power BI 的数据网关分为两种:个人网关和企业网关。两者的本质区别在于企业网关为多个用户设计,因此具有细粒度的访问控制、监控和审计。作为额外的好处,企业网关允许Direct Query连接本地数据源SQL Server数据。Power BI的个人网关和企业网关主要区别如表1-2-2所示。
表1-2-2 个人网关和企业网关的主要区别
Power BI 的数据网关如同桥梁,它起到了连接Power BI服务和数据源的作用,并承担它们之间数据加密传输的中转作用。Power BI服务作为一个公开服务,通常没有办法直接访问那些安全级别较高的数据,例如公司内部网中的数据库或数据仓库等。数据网关首先起到了为Power BI打通内网的功能,使得由Power BI服务发起的数据刷新请求可以最终到达数据源。其次,它保证了数据网关与Power BI服务之间的加密通信。用户可以开启数据网关设置中的 HTTPS 通信,这个设置可以将数据通过加密的方式发送到 Azure 的Service Bus(服务总线)服务,然后Service Bus会根据Power BI的实际需求以安全的方式转发给Power BI的底层服务。数据网关的结构如图1-2-7所示。
图1-2-7 数据网关的结构