1. 获取数据

在Power BI中获取数据主要有以下几种方式,

  • 从文件中获取数据
  • 从关系数据源中获取数据
  • NoSQL 数据库中获取数据 (Azure Cosmos DB)
    下面将会对这几种获取数据的方式进行介绍:

从文件中获取数据

本地的文件可能位于以下位置:

  • 本地
  • OneDrive for Business
  • OneDrive个人版
  • SharePoint 团队网站

从关系数据源中获取数据

  • Power BI Desktop 可以连接到云或本地的多个关系数据库。你可以使用 SQL 查询将数据导入到 Power BI 模型。

  • 通过关系数据源导入数据,分为两种方式:UI选择要导入的数据,通过编写 SQL 查询导入数据

  • 在“SQL Server 数据库”窗口中输入数据库服务器名称和数据库名称。 数据连接模式下有两个选项:“导入”(默认选择,推荐)和“DirectQuery”。 大多数情况下,选择“导入”。

UI选择要导入的数据

数据库连接到 Power BI Desktop 后,“导航器”窗口将显示数据源中可用的数据(本示例中为 SQL 数据库)。 你可以选择一个表或实体来预览其内容,确保将正确的数据加载到 Power BI 模型中。选中要引入 Power BI Desktop 的表的复选框,然后选择“加载”或“转换数据”选项。

  • 加载 - 自动将数据加载到处于其当前状态的 Power BI 模型中。
  • 转换数据 - 在 Microsoft Power Query 中打开数据,你可以在其中执行一些操作,例如删除不必要的行或列、对数据进行分组、删除错误以及许多其他数据质量任务。

通过编写 SQL 查询导入数据

NoSQL 数据库中获取数据 (Azure Cosmos DB)

从联机服务获取数据

从SharePoint、OneDrive、Dynamics 365、Google Analytics 等应用程序会生成自己的数据。 Power BI 可以将多个应用程序中的数据组合起来,以生成更有意义的见解和报表

从 Azure Analysis Services 中获取数据

Azure Analysis Services 是一项完全托管的平台即服务 (PaaS),它在云中提供企业级的语义模型。

2. 数据导入中的相关概念和优化

PowerBI数据存储模式

PowerBI提供以下三种不同的存储模式

  • 导入

使用导入模式,可以从数据源创建语义模型的本地 Power BI 副本。 你可以将所有 Power BI 服务功能用于此存储模式,包括问答和快速见解。 数据刷新可按计划进行,也可按需进行。 导入模式是创建新 Power BI 报表的默认方式。

  • DirectQuery(与数据源的直接连接)

使用 DirectQuery 选项后,你的数据将不会被缓存。 而你可以使用本机 Power BI 查询来查询需要的特定表,所需数据将从基础数据源中检索。 使用此模型可确保你始终查看最新的数据,并满足所有安全要求。 此外,此模式适用于要从中提取数据的大型语义模型。 无需将大量数据加载到 Power BI(加载大量数据会降低性能),可以使用 DirectQuery 来创建与源的连接,同时解决了数据延迟问题。

  • 双重(复合)

在双重模式下,你可以确定要直接导入的某些数据以及必须查询的其他数据。 引入到报表中的任何表都是导入模式和 DirectQuery 模式的结果。 使用双重模式允许 Power BI 选择最有效的数据检索形式。

参数创建动态报表

动态报表是开发人员可以根据用户规范更改数据的报表。 动态报告非常有用,因为单个报告可用于多种用途。 如果使用动态报表,则要创建的单个报表会更少,这可节省组织时间和资源。 怎么创建动态报表,可以查看另外一篇文章 TODO

修复性能问题

有时候需要解决运行报表时出现的性能问题。 Power BI 提供了性能分析器工具,帮助解决问题并简化此过程。、

优化 Power Query 中的性能

Power Query 中的性能取决于数据源级别的性能。 Power Query 提供的数据源种类广泛,并且针对每种数据源的性能优化技术也同样广泛。Power Query 通过查询折叠查询诊断的技术,充分利用数据源级别的出色性能。

查询折叠

当你主动进行转换时,将你在 Power Query 编辑器中进行的转换和编辑同时作为原生查询或简单的“Select”SQL 语句进行跟踪。 实现此过程是为了确保可以在原始数据源服务器中进行这些转换,而不会占用大量 Power BI 计算资源。

可以使用 Power Query 将数据加载到 Power BI 中。 然后,使用 Power Query 编辑器对数据进行转换,例如重命名或删除列,追加、分析或筛选数据,或者对数据进行分组。

查询折叠的优点包括:

  • 数据刷新和增量刷新的效率更高。 使用查询折叠导入数据表时,Power BI 能够更好地分配资源并更快地刷新数据,因为 Power BI 不必在本地运行每个转换。
  • 与 DirectQuery 和双存储模式自动兼容。 所有 DirectQuery 和双存储模式数据源都必须具有后端服务器处理能力才能创建直接连接,这意味着查询折叠是可供使用的自动功能。 如果所有转换可以缩减为一条“Select”语句,则系统会进行查询折叠。
查询诊断

查询诊断可以确定在以下情况下可能存在的瓶颈:加载和转换数据,刷新 Power Query 中的数据,在查询编辑器中运行 SQL 语句等。

优化 Power BI 中Query性能的其他方式
  • 在原始数据源中处理尽可能多的数据。 Power Query 和 Power Query 编辑器支持处理数据;但是,完成此任务需要占用处理能力,这可能会降低报表其他区域中的性能。 一般而言,推荐做法是在本机数据源中处理尽可能多的数据。

  • 使用本机 SQL 查询。 针对 SQL 数据库使用 DirectQuery 时(例如在我们的场景中),确保未从存储过程或公用表表达式 (CTE) 中拉取数据。

  • 将日期和时间分开(如果绑定在一起)。 如果有任何表中存在将日期和时间合并在一起的列,务必先将它们分隔到不同的列中,然后再导入 Power BI 中。 此方法将提高压缩能力。

解决数据导入错误

数据导入 Power BI 时,可能会遇到如下因素导致的错误:

  • Power BI 从多个数据源导入。
  • 每个数据源可能有几十个(有时几百个)不同的错误消息。
  • 其他组件(例如硬盘驱动器、网络、软件服务和操作系统)可能会导致错误。
  • 数据通常不符合任何特定的架构。

常见的错误类型

  • 查询超时已过期
  • Power BI 查询错误:超时时间已到 ——请求了过多的数据

可以通过从单个表中提取更少的列或行来解决此错误。 在编写 SQL 语句时,通常需要包括分组和聚合。 你还可以在单个 SQL 语句中联接多个表。 此外,还可以在单个语句中执行复杂的子查询和嵌套查询。 这些复杂性增加了关系系统的查询处理要求,并会极大延长实现时间。如果需要行、列和复杂性,可以考虑使用小块数据,然后使用 Power Query 将这些数据集中在一起。

找不到格式化为表的任何数据

执行以下步骤来解决此问题:

  • 打开 Excel 工作簿,突出显示要导入的数据。
  • 按 Ctrl-T 键盘快捷方式。 第一行可能是列标题。
  • 验证列标题是否反映了你希望命名列的方式。 然后,尝试再次从 Excel 导入数据。 这次应当正常运行了。

找不到文件

通常是由文件移动位置或更改文件的权限引起的

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐