教程:适用于 Power BI 的 Microsoft Fabric 用户

本教程介绍如何使用 Microsoft Fabric 为 Power BI 报告准备、加载和建模数据。 你将使用数据流第 2 代引入数据并将其转换为 Lakehouse,使用管道协调数据刷新,并使用 Direct Lake 模式生成维度模型。 最后,你将自动生成一个报表来可视化最新的销售数据。

完成本教程后,可执行以下操作:

  • 准备数据并将其加载到湖屋
  • 协调数据管道以刷新数据,并在失败时发送电子邮件
  • 在湖屋中创建语义模型
  • 使用快速创建功能自动创建报表

先决条件

在开始之前,确保你拥有:

创建用于存储数据的湖屋

首先创建一个数据湖来存储您的数据。 你将使用 Dataflows Gen2 来准备和转换数据,然后使用一个管道来协调计划的刷新和电子邮件通知。

  1. 在工作区中,选择页面顶部的新项目

    在工作区中选择“新建项”的屏幕截图。

  2. “新建 项创建”屏幕上,搜索或选择 Lakehouse

    Lakehouse 创建界面的截图。

  3. 输入 SalesLakehouse 作为名称(名称可以包括字母、数字和下划线,但不包括特殊字符或空格),然后选择“ 创建”。

    显示 Lakehouse 名称输入字段的屏幕截图。

  4. 在 Lakehouse 编辑器中,从功能区中选择 “新建数据流 Gen2”

    注意

    或者,从功能区中选择“ 获取数据 ”,然后选择“ 新建数据流 Gen2”。

    显示“获取数据”下拉列表的屏幕截图,其中突出显示了“新建数据流 Gen2”。

  5. 将数据流 OnlineSalesDataflow 命名(仅使用字母、数字和下划线),然后选择“ 创建”。

使用 Dataflows Gen2 准备并将数据加载到 Lakehouse 中

  1. 在数据流 Gen2 的 Power Query Online 编辑器中,从 Power Query 模板中选择“导入”,然后选择在先决条件中下载的 ContosoSales.pqt 模板文件。

    导入 Power Query 模板的屏幕截图。

  2. 选择数据加载组下的 DimDate 查询。 如果出现提示,请选择“ 配置连接”,将身份验证设置为 “匿名”,然后选择“ 连接”。

  3. 选中 DimDate 后,在数据预览中,找到 DateKey 列。 在列标题中选择数据类型图标,然后从下拉列表中选择 “日期/时间 ”。

    显示在 Power Query 编辑器中更改数据类型的屏幕截图。

  4. “更改列类型”窗口中,选择“替换当前”。

配置数据目标

  1. 选中 DimDate 后,查看右下角的数据目标设置。 将鼠标悬停在配置的 Lakehouse 上以查看其属性。

    你创建的 Lakehouse 是所有表的存储目的地。 默认更新方法为 Replace,用于在每次刷新期间覆盖以前的数据。

    “数据目标”部分和配置选项的屏幕截图。

  2. 选择 FactOnlineSales 表并查看其数据目标设置。

    由于 FactOnlineSales 源更改频繁,因此通过追加新数据来优化刷新。 通过选择 X 图标删除其当前数据目标。 不要删除其他表的目的地。

    数据目标修改部分和设置图标的屏幕截图。

  3. 选中 FactOnlineSales 后,选择 + 图标以添加数据目标,然后选择 Lakehouse

    如果系统提示,请将身份验证设置为 组织帐户 ,然后选择“ 下一步”。

    数据目标修改部分和设置图标的屏幕截图。

  4. 在导航器中,选择工作区并展开以查看所有 Lakehouse 项。 选择 SalesLakehouse 并确保已选择 “新建表 ”,然后选择“ 下一步”。

    目标导航器窗口的屏幕截图。

  5. 在数据目标设置面板中,清除 “使用自动设置”,将 “更新”方法 设置为 “追加”,然后选择“ 保存设置”。

    注意

    Append 方法在每次刷新期间向表添加新行,从而保留现有数据。

    目标设置菜单选择的屏幕截图。

  6. 在“ 开始 ”选项卡中,选择“ 保存并运行”。

    Power Query Online 中的“保存和运行”按钮的屏幕截图。

  7. 若要退出 Power Query Online 编辑器,请选择左侧轨道中的 OnlineSalesDataflow 项上的 X

    注意

    选择 X 会关闭编辑器,但不删除数据流。

    Power Query Online 中关闭按钮的屏幕截图。

协调数据管道

通过发送具有关键详细信息的自定义 Outlook 电子邮件,自动刷新数据流并处理错误。

  1. 在工作区中,选择“ 新建”项

    在工作区中选择“新建项”的屏幕截图。

  2. “新建 项创建”屏幕上,搜索或选择 “数据管道”。

    选择数据管道作为新项的屏幕截图。

  3. 将管道 命名为 SalesPipeline ,然后选择“ 创建”。

    管道名称输入的屏幕截图。

  4. 在管道编辑器中,选择 “管道”活动,然后选择 “数据流”。

    注意

    还可以从功能区中选择“数据流”。

    将数据流活动添加到管道的屏幕截图。

  5. 在管道编辑器中选择数据流活动。 在 “常规 ”部分中,将 Name 设置为 OnlineSalesActivity

    命名数据流活动的屏幕截图。

  6. 选择数据流活动后,转到 “设置” ,然后从“数据流”列表中选择 OnlineSalesDataflow 。 如果需要,请选择 “刷新 ”图标以更新列表。

    选择活动设置中的数据流的屏幕截图。

  7. 选择“ 活动 ”选项卡,然后添加 Office365 Outlook 活动。

    注意

    如果出现 “授予许可 ”窗口提示,请选择“ 确定”,使用组织帐户登录,并允许访问。

    添加 Office365 Outlook 活动的屏幕截图。

  8. 在管道编辑器中选择 Office365 Outlook 活动。 在“常规”部分中,将“名称”设置为“在失败时发送邮件”

    Office365 Outlook 活动命名的屏幕截图。

  9. 选中 Office365 Outlook 活动后,转到“设置”。收件人字段中输入电子邮件地址,并将主题设置为管道失败。 对于邮件 正文,请选择 表达式生成器中的“视图”。

    注意

    高级属性下提供了其他电子邮件选项,例如“发件人(以…的身份发送)”、“抄送”、“密件抄送”和“敏感度标签”。

    Office365 Outlook 活动设置的屏幕截图。

  10. 管道表达式生成器中,将以下表达式粘贴到页面顶部的文本块中:

    @concat(
        'Pipeline: '
        , pipeline().PipelineId
        , '<br>'
        , 'Workspace: '
        , pipeline().WorkspaceId
        , '<br>'
        , 'Time: '
        , utcnow()
    )
    

    此表达式将管道 ID、工作区 ID 和当前 UTC 时间动态插入电子邮件正文中。

  11. 在管道编辑器中,选择 OnlineSalesActivity。 从 “X”(失败时) 句柄拖动,并将其放到 “失败时的邮件” 活动上。 这可确保在数据流活动失败时发送电子邮件。

    用于配置故障处理路径的屏幕截图。

  12. 从“开始”选项卡中,选择“计划”。 按如下所示配置计划,然后选择 “应用” :

    名称
    计划的运行
    重复 每天
    时间 12:00:00 凌晨
  13. 从“主页”选项卡中,选择“运行”。 如果出现提示,请选择“ 保存并运行 ”以继续。

    若要监视管道的状态,请查看显示活动进度的 “输出 ”表。 表自动刷新,也可以选择刷新图标手动更新。

    管道活动进度的屏幕截图。

  14. 当状态显示 “成功”时,返回到工作区以继续学习本教程。

    返回到工作区的屏幕截图。

在湖屋中创建语义模型

加载的数据基本已经可用于报表。 接下来,使用 Lakehouse 中的表创建语义模型-一个元数据层,用于组织物理数据并将其转换为逻辑对象。 语义模型旨在反映业务结构,并使数据更易于分析。

  1. 在工作区视图中,选择 SalesLakehouse 项。

    工作区中 Lakehouse 项的屏幕截图。

  2. 在资源管理器中,从“ 开始 ”选项卡中选择“ 新建语义模型”。

  3. 在“新建语义模型”窗口中,将模型 命名为 SalesModel。 然后,展开 dbo 架构和 组。 选择下表,然后选择“ 确认

    表名称
    DimCustomer
    DimDate
    DimEmployee
    DimProduct
    DimStore
    FactOnlineSales

    工作区中 Lakehouse 项的屏幕截图。

创建关系

此模型使用星型架构,在数据仓库中很常见。 星的中心是一个事实数据表,周围是维度表,它与事实数据表相关。

  1. 通过将 CustomerKey 列从 FactOnlineSales 表拖放到 DimCustomer 表上的 CustomerKey 列来创建关系。

  2. “创建关系 ”窗口中,确保以下设置,然后选择“ 确认

    激活此关系 发件人:表 1(列) 收件人:表 2(列) 基数 交叉筛选器方向
    FactOnlineSales (CustomerKey) DimCustomer (CustomerKey) 多对一(*:1) 单身
  3. 对以下每个关系重复这些步骤:

    激活此关系 发件人:表 1(列) 收件人:表 2(列) 基数 交叉筛选器方向
    FactOnlineSales(ProductKey) DimProduct (ProductKey) 多对一(*:1) 单身
    FactOnlineSales (StoreKey) DimStore (StoreKey) 多对一(*:1) 单身
    FactOnlineSales (DateKey) DimDate (DateKey) 多对一(*:1) 单身
    DimStore (StoreKey) DimEmployee(门店密钥) 多对一(*:1) 推送、请求和匿名

    下图显示了语义模型的已完成视图,其中包含所有关系。

    模型视图窗格中表关系的屏幕截图。

使用 DAX 编写度量值

创建基本度量值以计算总销售额。

  1. 选择 FactOnlineSales 表,然后在“ 开始 ”选项卡上,选择“ 新建度量值”。

  2. 在公式编辑器中,输入以下 DAX 度量,然后选择 勾选标记 以提交:

    Total Sales Amount = SUM(FactOnlineSales[SalesAmount])
    

    选中复选标记以提交 DAX 度量值的屏幕截图。

自动创建报表

现在,你已对数据进行建模,可以使用快速创建快速可视化和浏览数据。

  1. 通过从左侧栏选择工作区,返回到工作区。 将鼠标悬停在 SalesModel 项上,选择省略号 (... ),然后选择 “自动创建报表”。

    工作区中“自动创建报表”选项的屏幕截图。

    根据 数据 窗格中的列选择,自动生成报表并动态更新。

    已完成的自动创建报表的屏幕截图。

  2. 从功能区中选择 “保存 ”,将副本保存到当前工作区。

    注意

    若要进入完整的视觉化创作体验,请选择功能区上的编辑

详细了解 快速创建

祝贺你完成本教程! 如果为本教程创建了专用工作区,现在可以选择删除它,或删除在此过程中创建的单个项。

本教程演示了 Power BI 用户如何借助 Microsoft Fabric 在任何规模上发现见解。