从本地 SQL Server 数据库刷新数据

在本教程中,将了解如何从本地网络中存在的关系数据库中刷新 Power BI 语义模型。 具体而言,本教程使用示例 SQL Server 数据库,Power BI 必须通过本地数据网关访问该数据库。

在本教程中,将完成以下步骤:

  • 创建和发布 Power BI Desktop .pbix 文件,它用于导入本地 SQL Server 数据库中的数据。
  • 通过数据网关在 Power BI 中配置数据源和语义模型设置,以便连接 SQL Server。
  • 配置刷新计划,确保 Power BI 语义模型包含最新数据。
  • 按需刷新你的语义模型。
  • 查看刷新历史记录,分析过去刷新周期的结果。
  • 通过删除本教程中创建的项来清理资源。

先决条件

注意

如果你不是网关管理员,或者不想自己安装网关,请让组织中的网关管理员创建所需的数据源定义,以将语义模型连接到 SQL Server 数据库。

创建并发布 Power BI Desktop 文件

按照以下过程创建使用 AdventureWorksDW2017 示例数据库的基本 Power BI 报表。 将报表发布至 Power BI 服务来获取 Power BI 语义模型,你可在后续步骤中配置和刷新该语义模型。

  1. 在 Power BI Desktop 的“主页”选项卡上,选择“获取数据”>“SQL Server”。

  2. 在“SQL Server 数据库”对话框中,输入“服务器”和“数据库(可选)”名称,确保“数据连接模式”设置为“导入”。

    注意

    如果计划使用存储过程,则数据连接模式必须是“导入”。

    “SQL Server 数据库”对话框的屏幕截图。

    (可选)在“高级选项”下,可指定 SQL 语句并设置其他选项,例如使用 SQL Server 故障转移

    SQL Server 高级选项的屏幕截图

  3. 选择“确定”。

  4. 在下一个屏幕上,验证凭据,然后选择“连接”。

    注意

    如果身份验证失败,请确保已选择正确的身份验证方法并使用了具有数据库访问权限的帐户。 在测试环境中,可使用具有显式用户名和密码的数据库身份验证。 在生产环境中,通常使用 Windows 身份验证。 有关更多帮助,请参阅排查刷新方案问题,或者联系数据库管理员。

  5. 如果出现“加密支持”对话框,请选择“确定”

  6. 在“导航器”对话框中,选择“DimProduct”表,然后选择“加载”。

    “导航器”对话框的屏幕截图。

  7. 在 Power BI Desktop“报表”视图的“可视化效果”窗格中,选择“堆积柱形图”

    “可视化”窗格的屏幕截图,其中突出显示了堆积柱形图。

  8. 在报表画布中选择新的柱形图后,在“数据”窗格中选择 EnglishProductName 和 ListPrice 字段。

    “数据”窗格的屏幕截图,其中突出显示了 EnglishProductName 和 ListPrice 字段。

  9. 将 EndDate 从“数据”窗格拖到“筛选器”窗格中的“此页上的筛选器”上,然后在“基本筛选”下,选中“(空白)”对应的复选框

    显示“此页上筛选器”的基本筛选的屏幕截图。

    此时,可视化效果应如下图所示:

    显示已完成的柱形图的屏幕截图。

    请注意,Road-250 Red 产品与其他 Road-250 产品的标价相同。 稍后更新数据并刷新报表时,此价格会发生变化。

  10. 使用名称“AdventureWorksProducts.pbix”保存报表。

  11. 在“主页”选项卡上,选择“发布”。

  12. 在“发布到 Power BI”屏幕上,选择“我的工作区”,然后选中“选择”。 如有必要,请登录到 Power BI 服务。

  13. 出现“成功”消息时,选择[在 Power BI 中打开“AdventureWorksProducts.pbix”]。

    “发布到 Power BI”屏幕的屏幕截图。

将语义模型连接到 SQL Server 数据库

在 Power BI Desktop 中,你已直接连接到本地 SQL Server 数据库。 在 Power BI 服务中,你需要数据网关充当云和本地网络之间的桥梁。 按照以下步骤将本地 SQL Server 数据库作为数据源添加到网关,然后将语义模型连接到此数据源。

  1. 在 Power BI 服务中,转到工作区并在工作区内容列表中找到 AdventureWorksProducts 语义模型。

  2. 选择语义模型名称旁边的“更多选项”三个水平点图标,然后选择“设置”

  3. 展开“网关和云连接”,并验证是否至少列出了一个网关。 如果没有看到网关,请确保按照说明安装本地数据网关

    显示“设置”中的网关连接的屏幕截图。

  4. 选择“操作”下的箭头切换来展开数据源,然后选择数据源旁边的“添加到网关”链接。

    显示已展开的数据源的屏幕截图,其中突出显示了箭头切换。

  5. 在选择了“本地”的“新建连接”屏幕上,填写或验证以下字段。 大多数字段已填充。

    • 网关群集名称:验证或输入网关群集名称。
    • 连接名称:输入新连接的名称,例如 AdventureWorksProducts。
    • 连接类型:选择“SQL Server”(如果尚未选择)。
    • 服务器:验证或输入你的 SQL Server 实例名称。 必须与在 Power BI Desktop 中指定的相同。
    • 数据库:验证或输入你的 SQL Server 数据库名称,例如 AdventureWorksDW2017。 必须与在 Power BI Desktop 中指定的相同。

    在“身份验证”下:

    • 身份验证方法:选择“Windows”、“基本”或“OAuth2”,通常选择“Windows”
    • 用户名和密码:输入用于连接到 SQL Server 的凭据。

    显示“新建连接”设置的屏幕截图。

  6. 选择“创建”。

  7. 返回“设置”屏幕,展开“网关连接”部分,并验证配置的数据网关现在是否显示“正在安装它的计算机上运行”状态。 选择“应用”。

    显示应用网关连接的屏幕截图。

配置刷新计划

在通过数据网关将 Power BI 语义模型连接到 SQL Server 本地数据库后,请按照以下步骤配置刷新计划。 按计划刷新语义模型有助于确保报表和仪表板具有最新数据。

  1. 在左侧导航窗格中,选择“我的工作区”

  2. 从工作区内容列表中选择 AdventureWorksProducts 语义模型。

    提示

    请确保指向 AdventureWorksProducts 语义模型,而不是具有相同名称的报表,该报表没有“计划刷新”选项。

  3. 在语义模型设置页上,选择“刷新”,然后从功能区“计划刷新”

  4. 在“刷新”部分的“配置刷新计划”下,将滑块设置为“开”

  5. 在“刷新频率”下,为此示例选择“每日”,然后在“ 时间”下选择“添加其他时间”。

    对于此示例,请指定“早上 6:00”,然后选择“添加另一个时间”并指定“下午 6:00”。

    显示配置计划刷新的屏幕截图。

    注意

    如果语义模型位于共享容量上,则最多可以配置 8 个每日时间段,如果位于 Power BI Premium 上,则可配置 48 个时间段。

  6. 保留“发送刷新失败通知至”下的复选框设置为“语义模型所有者”,然后选择“应用”。

使用配置的刷新计划,Power BI 将在下一个计划时间(15 分钟内)刷新语义模型。

按需刷新

要随时刷新数据来执行网关和数据源配置测试等操作,可使用语义模型设置页面顶部功能区中的“立即刷新”选项进行按需刷新。 还可以在工作区内容列表中语义模型名称旁边找到此选项。 按需刷新不会影响下一计划的刷新时间。

为了说明按需刷新,请先使用 SSMS 更改示例数据来更新 AdventureWorksDW2017 数据库中的 DimProduct 表,如下所示:


UPDATE [AdventureWorksDW2017].[dbo].[DimProduct]
SET ListPrice = 5000
WHERE EnglishProductName ='Road-250 Red, 58'

按照以下步骤操作,使更新后的数据可通过网关连接传输到语义模型并进入 Power BI 报表:

  1. 在左侧导航窗格中导航到“我的工作区”,找到 AdventureWorksProducts 语义模型。

  2. 选择语义模型名称旁边的“立即刷新”图标。 右上角会显示“准备刷新”消息。

    显示选择“立即刷新”的屏幕截图。

    右上角会显示“准备刷新”消息。

  3. 现在,选择 AdventureWorksProducts 报表将其打开。 查看更新后的数据如何传输到报表中,现标价最高的产品是“Road-250 Red, 58”。

    显示更新后的柱形图的屏幕截图。

查看刷新历史记录

最好定期使用刷新历史记录来查看既往刷新周期的结果。 数据库凭据可能已过期,或者所选网关在计划刷新到期时可能已脱机。 按照以下步骤检查刷新历史记录并检查问题。

  1. 在“我的工作区”中,选择 AdventureWorksProducts 语义模型。

  2. 在语义模型设置页上,选择页面顶部功能区中的“刷新”,然后选择“刷新历史记录”

  3. 在“刷新历史记录”对话框的“计划”选项卡上,请注意过去的计划和按需刷新及其开始时间和结束时间。 如果状态为“已完成”,则表示 Power BI 已成功刷新。 对于失败的刷新,可看到错误消息并检查错误详细信息。

    显示“刷新历史记录”屏幕的屏幕截图。

    注意

    OneDrive 选项卡仅与连接到 OneDrive 或 SharePoint Online 上的 Power BI Desktop 文件、Excel 工作簿或 CSV 文件的语义模型相关。 有关详细信息,请参阅 Power BI 中的数据刷新

清理资源

按照以下说明清理为本教程创建的资源:

  • 如果不想再使用示例数据,请使用 SSMS 删除数据库。
  • 如果你不想使用 SQL Server 数据源,请从数据网关中删除该数据源。 如果安装数据网关仅为完成本教程,还请考虑卸载它。
  • 还请删除在你发布 AdventureWorksProducts.pbix 文件时 Power BI 创建的 AdventureWorksProducts 语义模型和报表。

本教程探讨了如何:

  • 将数据从本地 SQL Server 数据库导入 Power BI 语义模型。
  • 要更新使用语义模型的报表和仪表板,请根据计划和按需刷新 Power BI 语义模型。

请参阅下列资源,详细了解 Power BI 数据刷新以及管理数据网关和数据源: