使用适用于 Power BI 的 Copilot 对您的数据进行建模

已完成

正确准备数据是获取数据见解的基础。 清理、转换和构形数据后,您便可以开始设计语义模型。

将表与关系相连接

下一步是创建表间关系。 通过关系,您可以稍后在开发流程中在报表视觉对象中筛选和汇总数据。 您可以使用自动检测关系功能开始操作,然后使用 Copilot 汇总初始语义模型,以确定是否需要任何其他关系。

在下图中,有一个包含通过关系连接的维度表的事实表。 当为语义模型使用星形架构或 snowflake 架构时,Power BI 报表效果最佳。

包含事实表和已连接维度表的星形架构语义模型的屏幕截图。

创建快速度量

连接表后,您可能会发现无法使用原样数据回答业务要求问题。 在本应用场景中,您可以使用 DAX (Data Analysis Expressions) 创建度量值,以创建新的数据计算来满足您的要求。 DAX 用途广泛且功能强大,但开始使用 Power BI 时也令人生畏。 DAX 描述为一种函数语言。 函数语言(例如 DAX)专注于使用函数计算结果,与基于集合的语言的分步方法相比,这可能更加与直觉相反。

Power BI 允许您创建快速度量,从而允许您添加要计算的数据字段。

“快速度量”窗格的屏幕截图,其中包含一些预填充选项,包括平均值和筛选器。

Copilot 的建议

快速度量是一个出色的解决方案,但在开始使用时您可能需要一个更简单的选项。 如果您有权访问适用于 Power BI 的 Copilot,您还可以在“快速度量”中使用 Copilot 的建议 选项。 Copilot 允许您使用类似问答的体验,您可以在其中使用自然语言来描述要查看的计算。

Copilot 的建议的屏幕截图,其中已输入“按所有产品的销售额总计”并已建议计算。

只需具备一个提示(例如 total sales by all products)和准备好的语义模型,即可快速查看为获取新数据见解而添加的可能度量值。

“按产品的平均销售额总计”和“按产品的销售额总计”的自动创建度量值的屏幕截图。

借助快速度量和 Copilot,您可以轻而易举地创建度量值并学习 DAX,同时满足报表要求。

使用 DAX 进行查询

Power BI Desktop 中有四个视图:报表模型DAX 查询。 在 DAX 查询视图中,您可以在功能区中选择 Copilot,并使用自然语言描述您的需求。

考虑在“DAX 查询”视图的 Copilot 功能中输入以下提示 total sales for all salespeople individually for all items in the accessories category

此提示旨在计算每个销售员在配饰类别的销售额总计。 在 AdventureWorks,有多个类别,其中包含多个产品。 配饰的销售额较低,业务要求是更好地了解销售更多配饰的人员,以便能够共享有价值的信息。

用于计算上一个提示的 DAX 查询的屏幕截图。

// DAX query generated by Fabric Copilot with "total sales for all salespeople individually for all items in the accessories category"
// Total sales for each salesperson for items in the accessories category
EVALUATE
  SUMMARIZECOLUMNS(
    'Salesperson'[Salesperson],
    FILTER('Product', 'Product'[Category] == "Accessories"),
    "Total Sales", [Total Sales]
  )

下表显示 Copilot 生成的 DAX 查询的示例结果。

销售员 销售额总计
Stephen Jiang 8374.76
Michael Blythe 38682.84
Linda Mitchell 66916.05

根据 DAX 查询创建度量值

在“DAX 查询”视图中使用 Copilot 以探索数据并确定需要创建的度量值,然后选择使用更改更新模型,以创建度量值。 以下查询是根据 suggest measures 提示生成的。

// DAX query generated by Fabric Copilot with "Suggest new measures in a DAX query for further analysis and try them out with one or more suitable columns"
DEFINE
  // New measure to calculate the average profit per product sold
  MEASURE 'Sales'[Avg Profit per Product] = DIVIDE([Profit], [Unique Products Sold])
  // New measure to calculate the average sales per reseller
  MEASURE 'Sales'[Avg Sales per Reseller] = DIVIDE([Total Sales], [Unique Resellers])
  // New measure to calculate the average quantity per order
  MEASURE 'Sales'[Avg Quantity per Order] = DIVIDE([Total Quantity], [Orders])
  // New measure to calculate the average sales per order
  MEASURE 'Sales'[Avg Sales per Order] = DIVIDE([Total Sales], [Orders])

// Evaluate the new measures
EVALUATE
  ROW(
    "Avg Profit per Product", [Avg Profit per Product],
    "Avg Sales per Reseller", [Avg Sales per Reseller],
    "Avg Quantity per Order", [Avg Quantity per Order],
    "Avg Sales per Order", [Avg Sales per Order]
  )

生成的表如下:

每个产品的平均利润 每个经销商的平均销售额 每个订单的平均数量 每个订单的平均销售额
2992.4987 122703.4339 56.44745575221239 21445.9541

以下屏幕截图是三个简单步骤的结果:

  • 输入 suggest measures 提示。
  • 在结果返回后选择保留查询
  • 运行查询。

作为报表开发人员,您可以使用更改更新模型,以创建最适合您的项目的度量值。

“Suggest Measures”提示的屏幕截图,其中包含如前所述的建议度量值和表结果。

总结

Copilot 允许您更有效地探索和设计语义模型,从而扩展您的数据分析技能,并使您成为更好的报表开发人员。