本章内容包含:
- 在Power BI Desktop上学习诀窍
- 摄入数据
- 使用模型
- 试用Power BI服务
就像评估一个由多种成分组成的蛋糕一样,Power BI要求其用户熟悉商业智能(BI)解决方案中的功能。几乎所有与Power BI交互的用户都是从桌面版开始的。用户可以按照“熟能生巧”这句老话,通过摄入和建模,按照自己想要的方式塑造数据。无论你是在操纵数据以使模型恰到好处,还是通过争论来处理数据转换,或者试图创建漂亮的可视化效果,繁重的工作都是基于桌面的。Power BI参与者很少开始使用在线服务,除非数据集之前是为共享和协作而创建的。在本章中,您将学习Power BI Desktop and Services的关键功能,以准确了解何时以及为什么需要使用特定的产品版本。
Power BI桌面:自上而下的视图
Power BI Desktop是所有自主终端用户活动的中心。用户将应用程序安装在基于Windows的桌面上,以连接、转换和可视化数据。用户可以连接到的数据源不仅限于本地存储库,用户还可以将源与结构化或非结构化的第三方数据本地聚合,以创建数据模型。数据模型允许用户构建存储数据集的可视化表示。
当您有许多视觉效果时,用户可以派生报告或仪表板进行分析。Power BI Desktop的典型用法是
- 跨一个或多个数据源获取数据。
- 对数据进行建模以创建报告和仪表板。
- 通过分析的方式对数据进行细化、清理和可视化。
- 为个人消费创建报告。
尽管您可以在线完成这些活动,但Desktop平台是专门为个人用户消费或开发工作而构建的,而不是为团体而设计的。在用户准备好共享使用Desktop创建的产品之前,您不需要向Power BI Services公开任何内容。
最终用户可以访问Power BI Desktop中的三个不同视图:报表、数据和模型。图4-1显示了在Power BI Desktop中查找这些视图的左侧导航。尽管这些功能在Services中也可用,但Power BI Desktop中用于个人分析的功能丰富性要高得多。
每个Power BI Desktop视图都执行特定任务:
- 报告:您可以在获取并建模数据后创建报告和可视化。用户将大部分时间花在这里发布数据摄取、转换和建模。
- 数据:您可以从与此处创建的报告和可视化相关联的表、度量值和数据源中找到所有摄入或迁移的数据。源可以是桌面本地的,也可以来自可通过web访问的第三方数据源。
- 模型:就像在Microsoft SQL Server、Azure SQL Server甚至Microsoft Access中创建关系数据模型一样,在使用Power BI获取必要的数据后,您可以完全管理所创建的结构化表之间的关系。
摄入数据
如果没有数据,您就无法使用Power BI做那么多事情——数据确实是最终状态配方的主要成分。无论你是试图创建图表或仪表板,还是通过问答提出问题,你都必须拥有来自底层数据集的数据。每个数据集都来自一个特定的数据源,可以在本地桌面上找到(如果您使用的是Power BI desktop),也可以从其他在线数据源获取。这些来源可能是基于Microsoft的应用程序、第三方数据库,甚至是其他应用程序数据源。在PowerBI Desktop中,您可以使用PowerBI功能区(如图4所示-2) 或者单击Power BI Data Navigation图标(如图4-3所示),以访问数据源。
文件还是数据库?
在Power BI中,您可以自己创建或导入内容。当涉及到用户可以创建或导入的内容类型时,可以归结为存储在数据库中的文件或数据。明智的一句话是:文件可能比数据库复杂一点。您需要获取数据,转换数据,然后将数据导入可读形式。假设您要导入包含许多数据类型的Excel或.cvs文件。首先,将数据加载到Power BI中。然后将数据格式化为Power BI就绪格式,并结合数据流,从而转换数据以支持数据模型。最后,使用Power query中的Get and Transform功能查询数据。
现在,如果您试图导入的数据不是结构化的,或者您可能不希望它包含在Power BI Desktop中,该怎么办?您的最佳选择是使用本机Microsoft选项,如OneDrive for Business。这样的选择通过应用程序互操作性和应用程序集成在映射数据方面提供了最大的灵活性。如果您喜欢将数据保存在本地驱动器上,也可以这样做。
在处理数据刷新时,存储数据的位置会有所不同。在选择数据存储位置时,请考虑数据更新的频率。当数据在本地桌面上时,即使使用大型数据集,您通常也会发现性能更好。通过互联网访问共享数据,你将依赖网络连接和其他用户访问数据源。存储在桌面上的数据由你一个人管理。
提示:你不必总是将数据直接存储在Power BI Desktop中。你可以始终使用Desktop从外部源查询和加载数据。如果您更喜欢使用计算度量或特定关系扩展数据模型,请考虑将Power BI Desktop文件导入Power BI Online网站,以便于操作。
数据库与文件有点不同,因为你连接到一个实时数据源,这些数据源需要互联网连接,既可以供一小部分用户使用,也可以供许多用户使用。当数据库“作为服务”可用时,尤其如此,例如Azure SQL数据库、Azure Cosmos数据库、Azure Synapse Analytics或Azure HDInsight。因为数据是实时的,所以数据专业人员所要做的就是首先对数据进行适当的建模。一旦对预期模型感到满意,用户就可以探索数据、操作数据并创建数据可视化。
提示:如果你想探索微软提供的数据源之外的大量数据源,包括开源和第三方选项,你需要使用Power BI Desktop。Online Services提供的选项范围很窄,而Desktop提供了100多个选项供您选择。
警告:“数据”这个词经常出现——你可能已经对数据、数据集、数据流甚至数据库感到困惑了。相信我,我在这本书中向你抛出了很多数据词。当涉及到数据摄入时,“数据集”和“数据源”被一视同仁,尽管它们实际上只是支持相同任务的远亲。
无论何时使用“获取数据”功能,都可以在Power BI中创建数据集。它允许您连接和导入数据,包括来自实时数据源的数据。数据集存储有关数据源及其安全凭据的所有详细信息。数据源是存储在数据集中的所有数据的派生位置,它可以是专有的应用程序数据源、关系数据库或独立的文件存储替代方案,如硬盘驱动器或文件共享。
构建数据模型
一些BI工具不依赖于数据模型;Power BI不在这个阵营。Power BI是一种基于数据模型的报告工具。首先,让我帮助您了解数据模型的独特之处。
这些是数据模型的关键特征:
- 表包含有意义的数据。
- 加载的表与数据之间存在关系。
- 公式(也称为度量)将业务规则应用于原始数据,以提取、转换和加载数据,从而创建有意义的业务见解。
Power BI并不是唯一一个包含这些创建数据模型的属性的公司。其他微软产品,包括Excel的Power Pivot和企业BI工具,都提供了这一功能集。
你可能想知道为什么你甚至需要一个数据模型。回到本章开头我对蛋糕配方的类比,如果你按照配方做,很容易一次又一次地做同样的蛋糕。然而,当蛋糕成分不同时,不一致会导致数据不规则和持续的重建工作。而且,就像蛋糕未能获得任何烹饪奖项一样,数据需要处理和完善。使用Power BI等BI解决方案,用户能够通过数据模型简化业务问题。
总之,模型之所以有用,是因为以下原因:
- 可重用性:用户可以使用公式化的方法解决报告需求或业务挑战,而无需重新创建查询或重建数据集。
- 管理:在建立模型后,业务用户可以自己管理数据。很少需要数据库专家或技术专业人员来处理基础设施需求。
- 自适应模型:您可以用最少的代码构建逻辑模型。变更适应技术和业务需求,包括度量(公式)和规则集的使用。
尽管您可以在市场上找到许多工具,包括Microsoft Excel和基于BI的报告工具,但并非所有工具都提供构建数据模型的功能。不包含数据模型的BI工具需要分析师或数据工程师生成查询来获取数据。尽管这些工具中的许多都有图形用户界面来支持查询生成,但每次使用时都需要重新设计流程,而且几乎没有可用的扩展性。在Power BI中,需要跟踪的关系在数据模型的帮助下在模型查看器中进行映射。(见图4-4,其中模拟了一个名为Awards的表格。)
你知道“重复使用,减少,回收”这句老话吗?它是数据模型的同义词。数据模型是一种可重复使用的资产,当根据业务需求稍作调整时,可以显著减少开发工作量并降低成本。有时,你很幸运,可以在现有解决方案的基础上构建新的资产。在其他时候,通过一些增强功能来回收资产可以为您获得所需的结果。
分析数据
在与团队共享任何数据之前,您首先必须使用Power BI Desktop进行自己的个人数据分析。您可以进行多种形式的分析。在最基本的层面上,当数据进入系统时,你必须对其进行审查,以确保它看起来正确,并且看起来像应该的那样。如果没有,您可以通过清理数据来操作数据——这项任务通常由分析师或工程师执行。这个过程通常需要一段时间,因为它相当费力——有点像准备一顿丰盛的节日晚餐。然而,当结果可用时,它们很容易在几秒钟内阅读。尽管这种策略听起来很麻烦,但其结果正是你想要在商业智能中实现的目标。
一旦清理了数据源,并将数据映射到精细的数据集中,就可以创建必要的可视化了。这里我说的是可以作为数据源示例的图片--图表、地图、指示器和仪表。您可以在报告和仪表板等可交付成果中找到这些视觉效果。即使是Power BI中的问答功能也会在您提出重点问题后产生视觉效果。
在网络上尽管Power BI提供了大量的视觉效果,但您可能需要更多用于复杂视觉效果的选项。不属于Power BI Desktop或Online的行业特定选项也可能可用。若要查看更多选项,请转到Microsoft AppSource,网址为找到正确应用 | Microsoft AppSource
您最终希望在使用Power BI时达到一个可以使用仪表板快速生成报告和访问数据的地步。Power BI设计器使用报表和数据集中的数据构建仪表板可视化,称为平铺。用户可以构建自己的仪表板供个人使用,也可以与他人共享仪表板。(注意:如果您共享仪表板,则安全凭据将绑定到每个视觉。)图4-5显示了一个基于角色和职责的仪表板上的瓦片集合示例。使用您在Desktop中创建或在线与他人共享的快照格式的数据(一种在特定时刻捕获数据的方式),任何日常业务用户都应该能够对一系列大型数据集进行快速(高效)分析。
创建和发布项目
您可能想通过试用免费的桌面客户端来了解更多关于Power BI的信息,以解决更复杂的数据项目。而且,在某个时候,您可能希望以只读格式将该数据项目发布到网络上,以供有限的受众使用。你当然可以免费。但是,假设您希望其他人在只读支持之外对您进行编辑和协作。在这种情况下,您必须为这些功能付费。
将项目从Power BI Desktop发布到Power BI Services时,文件是工作区绑定的。类似地,如果您生成了任何报告,它们将显示在“报告”视图中。数据集以相同的名称从桌面迁移到工作区,任何报告也是如此。这种关系通常是一对一的关系,很少有例外。(有关导入和发布各种类型的数据、可视化和报告的详细信息,请参阅第5章。)
在Power BI Desktop中,您可以通过选择“发布”来发布文件⇒从主菜单中发布到Power BI,或选择“在功能区上发布”。(见图4-6和图4-7。)
将项目从Power BI Desktop发布到Services时,执行的操作与使用“获取数据”功能相同。这意味着连接到数据源,从Power BI Desktop上传文件,并将其发送到服务。
警告:在Power BI服务中保存不会更改原始Power BI桌面文件。因此,当您或您的同事添加、删除或更改任何数据集、可视化或报告时,不要期望有任何更新。
广泛的服务
服务不适用于单个用户,而Desktop只支持单独使用。服务的目的是允许单个用户从桌面发布数据,然后与用户组共享。在一个完美的微软世界里,一些用户希望随着时间的推移处理这些数据。数据增长,需要Pro或Premium许可证。
Desktop用户在使用Power BI Services在线发布数据产品后,可以不断更新其数据产品,无论是数据集、数据模型还是报告。但是,Power BI Services不会在桌面级别刷新数据。因此,保持数据同步取决于您。
服务为Desktop不支持的多用户访问提供了Desktop之外的四项重要产品功能:查看和编辑报告的能力、基于凭据访问仪表板的能力、用户之间的协作以及取决于购买的产品类型的数据刷新选项。
查看和编辑报告
报告生命周期通常始于用户在Power BI Desktop中设置数据集并构建功能数据模型。用户还制作一个或多个报告。一旦开发出报告,您就可以将其发布到Power BI Services。工作流是典型的,因为使用复杂数据进行细化可以更容易地离线构建可交付的报告。您可以假设访问数据集不需要Internet连接。
有时您可能需要访问在线服务,因为您有来自第三方应用程序的大型数据集。日常使用案例包括您订阅了需要数据连接的CRM或ERP解决方案。假设你是一个组织的一部分,并且可以访问服务(SaaS)应用程序,你会在你的组织中找到一个人,他的工作是发布应用程序。此人通常会分发应用程序,允许您访问特定功能和数据。使用Power BI服务,您可以连接到这些应用程序以生成特定于您的业务需求的报告。
尽管您可以直接连接到Power BI Desktop中的数据库、文件和文件夹等数据源,但应用程序不同。您需要Power BI服务来访问应用程序数据。
共享您的结果
使用Power BI服务,您将数据发布到Internet的原因如下:您希望与同事共享和协作。创建报告或仪表板后,您可以与拥有Power BI Services帐户的用户共享这些报告或仪表盘。当然,有效的许可证类型决定了用户如何与数据交互。一些用户可能只能查看报告和仪表板,而其他用户则可以完全协作。为了让您和您的同事管理报表或仪表板,可以建立一个工作区。您将可交付成果作为应用程序进行捆绑和分发。共享数据集后,它将成为一组新的仪表板或报告的基础。
默认情况下,Power BI报告提供数据集的整体视图。它具有表示来自一个或多个数据集的发现的视觉效果。报告可能包含单个可视化内容,也可能包含多个可视化内容。
了解报告为什么有价值
报告的基础是单个数据集,而仪表板收集了许多报告。通过报告,您可以获得一个主题的激光聚焦视图。此外,在非基于数据模型的应用程序中,数据是静态的;Power BI等工具并非如此。视觉效果是动态的,因为随着底层数据的更新,报告也会实时更新。此外,用户可以自由地在报告中尽可能少地或尽可能多地与视觉效果进行交互。他们还可以使用报表在Power BI中以各种不同的方式进行筛选和查询。报表具有高度的交互性,甚至可以根据您的组织角色和职责进行自定义。
从多个方向访问报告
在报告访问方面,您应该考虑两种基本情况:您自己创建了报告并从Power BI Desktop导入,或者有人与您共享了报告。您导入的任何报表都在“我的工作区”中。(见图4-8。)
在这两种场景的框架内,访问可能是
- 通过电子邮件等直接共享的报告
- 作为应用程序的一部分共享的报告
- 可从仪表板访问的报告
- 可从“服务导航”窗格访问的最近或喜爱的报告、仪表板、应用程序和工作区。
在这些选项中,用户在协作时查看和编辑报告的三种最常见方式是a)直接共享b)作为应用程序的一部分共享和c)访问仪表板
要打开与您共享的报告,请执行以下步骤:
- Open Power BI服务,位于https://app.powerbi.com
- 在导航窗格中选择主页。
- 单击“与我共享”图标
- 然后,选择在“与我共享”页面上找到的报告。
在图4-9中,您可以看到一个面板和一个报告。该报告被命名为FY20奖励报告。虽然您在画布上只看到一个报告,但实际上单击“报告卡”时有几个报告可用。在Power BI中,单个报告可以包含多个子报告。
第二种选择是直接从某人那里接收应用程序,或者使用Microsoft的AppSource访问该应用程序。您可以从Power BI主屏幕或“导航”窗格中的“应用程序”和“与我共享”项目访问这些应用程序。
警告: 想要打开应用程序的人必须首先获得Power BI Pro许可证或将应用程序工作区存储在Power BI Premium容量中。换句话说,如果你想在免费模式下使用应用程序,这是不可能的。
若要从应用程序访问报告,您需要导航到应用程序源。以下是一个如何做到这一点的示例:
- 将浏览器指向应用程序源的位置,例如https://appsource.microsoft.com.
- 选中Power Platform复选框。
- 使用屏幕顶部的“搜索”框,搜索Microsoft示例Sales and Marketing。
- 单击“立即获取”按钮。
- 在出现的新页面上,选择“继续”⇒ Install可在应用程序画布中安装应用程序。
- 在“应用程序”画布或“主页”画布中打开应用程序。
您应该在“应用程序”下看到分配的应用程序。(见图4-10。)
您也可以从仪表板打开报告。大多数情况下,互动程序是固定报表的快照。双击互动程序时,将打开一个报告。要从仪表板打开报告,请执行以下步骤:
- 从面板中,选择任意互动程序。
在该示例中(见图4-11),选择的是NAICS Awarded By Agency。 - 通过单击报表中的数据点,深入查看报表数据的更细粒度视图。
使用仪表板
使用Power BI Services的一个原因是仪表板功能。能够在桌面上逐个处理数据是很好的,但假设您希望使用画布在单个页面上聚合可视化效果。在这种情况下,仪表板功能就是要使用的工具。仪表板可以让你从一系列可视化中讲述一个故事——把仪表板想象成餐厅的单页菜单。仪表板必须设计得很好,因为它包含关键的亮点,以便读者可以深入查看相关报告并在以后查看详细信息。
仪表板仅适用于Power BI Services。您可以使用Power BI Free许可证创建仪表板,但此功能未集成到Power BI Desktop中。因此,在Power BI Desktop中构建报告后,您需要将输出发布到Power BI Services。还要记住,尽管仪表板只能在桌面上创建基于计算机,您可以查看和共享所有设备窗体上的仪表板因素,包括Power BI Mobile。当您想要创建仪表板时,您需要将至少一个或多个报告固定在空白画布上。每个标签(见图4-12)表示基于单个数据集的单个报告。
Power BI服务内部的协作
从Power BI Desktop过渡到Power BI Services的部分原因是协作--您无法使用Power BI Desktop与他人协作。您可能希望与一小部分用户共享,或者您希望与之共享信息的用户组是分布式的。
根据您使用的Power BI Services选项,您有以下选项:
- 使用工作区:共享报告和仪表板的最常见方式是使用工作区。假设另一个用户有权访问报表或仪表板。在这种情况下,用户可以查看或编辑Power BI Services中的工作区。
- 使用Microsoft Teams:使用Teams中的聊天功能可以与Power BI在报告和仪表板上进行协作。
- 通过应用程序分发您的报告和仪表板:如果您的结果集中,用户可以构建一个应用程序,并创建一个可执行的工作文件,以便在其他用户之间共享。
- 在网站上嵌入报告和仪表板:有时,您创建的报告和仪表盘可能有助于在面向外部或内部的网站上进行有针对性的公众消费。您可以创建可查看的Power BI报告或仪表板的迭代。任何访问该网站的用户都可以查看数据,前提是他们被分配了查看数据的权限。
- 打印报告:如果有疑问,您可以随时打印报告并分发纸质副本。当然,每次刷新数据时,都需要打印一份新的报告副本。对于仪表板,每个输出都是单独打印的。
- 创建模板应用程序:如果您的可交付成果重复,请分发它们,以便Power BI用户可以使用Microsoft AppSource访问它们。人们必须假设这些物品是公共消耗品,供其他企业使用。
无论您选择哪种协作选项,都需要Power BI Pro许可证或更高版本。许可证是不可协商的,因为内容需要以高级容量实现。尽管查看项目的许可证要求可能有所不同,但编辑和管理输出的能力至少需要Power BI Professional许可证。
刷新数据
每次访问Power BI Services上的报告或仪表板时,都必须查询数据源。如果有新的数据点,则作为可视化的一部分,结果会在数据集中更新。根据刷新要求,可能需要一个或多个进程。刷新过程由几个阶段组成,具体取决于数据集所需的存储操作。您需要考虑两个概念:存储模式和数据刷新类型。
存储模式和数据集类型
Power BI提供了几种允许访问数据集中数据的模式:
- 导入模式:数据集从原始数据源导入到数据集中。Power BI可以查询提交到数据集的报告和仪表板,并返回导入的表和列的结果。您可能会发现这是一个快照副本——换句话说,是一个代表某个时刻的数据集。每次Power BI复制数据时,您都可以查询数据以获取更改。
- DirectQuery/LiveConnect:两种不直接依赖于导入数据的连接类型是DirectQuery和LiveConnect。每当报表或仪表板查询数据集时,数据结果都会来自数据源。Power BI将把原始数据转换为可用的数据集。但是,只有DirectQuery模式要求Power BI不使用使用Power Query Editor Extract Transform Load(ETL)引擎的查询。原因是查询是直接使用AnalysisServices处理的,而不必消耗资源。不需要刷新数据,因为在Power BI Desktop环境中不会进行导入。仍在更新的功能包括平铺和报告,其中数据大约每小时更新一次。时间表可以根据业务需要进行更改。
- 推送模式:在推送模式中,没有数据源的正式定义,因此不需要刷新数据。相反,您可以通过外部服务将数据推入数据集,这在Power BI中的实时分析过程中非常常见。
数据刷新类型
对于Power BI用户,数据刷新定义为将数据从原始数据源导入一个或多个数据集。刷新是基于时间表的,也可以是实时的。根据采购的Power BI许可证,刷新率从每天8次更新到多达48次不等。
共享容量的数据集每日刷新次数限制为8次,这些刷新由使用计划的时间表执行。更新每天上午12:01重置。
Power BI Services Free和Power BI Services Pro的许可用户每天只能刷新八次。如果您购买Power BI Services Premium Capacity或Power BI Services Premier per User,您的刷新分配将增加到每天48次刷新。
Power BI刷新操作可以有多种刷新类型,包括标准数据刷新、OneDrive刷新、查询缓存刷新、磁贴刷新、仪表板刷新和课程可视化刷新。Power BI通过这些示例中的每一个来决定各个刷新步骤。
Power BI 中的数据刷新 - Power BI | Microsoft Learn
无论采用何种刷新方法,都必须确保报表和仪表板使用当前数据才能使业务成功。如果由于某种原因,您发现数据已过时,请与数据所有者或网关管理员解决此问题。
刷新数据时,请记住以下几点:
- 为了获得最佳性能,请在非高峰工作时间安排刷新周期,尤其是在使用Power BI Premium的情况下。
- 请考虑您的许可证允许您的组织刷新的次数以及数据的波动性。只有当你知道它有意义时才刷新。
- 确保数据集刷新不超过刷新持续时间,否则数据将无法正常刷新,从而导致您的选项出现业务问题。
- 通过只包含在报表和仪表板所需的环境中运行所需的数据来优化数据。任何额外的开销都可能是昂贵的,尤其是在内存和处理开销消耗方面。
- 为Power BI Desktop和Power BI Services应用适当的安全设置。设置不会从一个环境转移到另一个环境。
- 注意使用的视觉效果,因为更多的输出会导致性能下降和潜在的数据刷新问题。
- 仅使用可靠的数据网关连接数据源,无论是内部部署还是基于云的。如果数据刷新失败,您可能需要部署额外的基础架构来处理所需的容量。
- 如果数据刷新失败,请设置通知方法,以便快速处理任何技术问题。