每个人都对 Power BI Copilot 感到兴奋,新发布的预览版能够使用 Copilot 询问有关语义模型中的所有数据的问题,而不仅仅是报告中显示的数据,这是一个巨大的进步。
以下内容翻译自Chris Webb 的 BI 博客,有删改。
无论幕后使用的 LLM 多么令人惊叹,您的用户从这个新的 Copilot 预览版中获得的结果质量取决于您作为开发人员控制的许多因素。如何对数据进行建模非常重要,正如公告博客所提到的,最初为 Copilot 的前身功能 Q&A 添加的语言架构也是如此。Copilot 返回的结果比 Q&A 提供的结果要好得多,但 Copilot 和 Q&A 的语言架构提供的额外信息(除非你告诉 Copilot 否则无法知道的信息)的结合使 Copilot 更加强大。此外,您无需编辑 YAML 文件即可使用此功能,因为语言架构的大部分功能现在都可以在 Power BI Desktop 的 Q&A 设置对话框中进行编辑。
在这篇博文中,我将向你展示几个示例,说明在查询语义模型时,添加到模型的语言架构如何改进新的 Power BI Copilot 预览版的结果。
语义模型
假设您拥有一个种植水果的农场。客户访问农场购买水果,您的员工为这些客户采摘水果。将销售数据存储在 Power BI 语义模型中,如下所示:
Orders 表是一个事实数据表,每个订单行有一行。Order ID 列标识每个行项目链接到的订单,Amount 列包含销售额,Units 列包含每行交付的水果数量。Employee 维度提供采摘水果的员工的姓名;Customer 维度提供订购水果的客户的名称;Product 维度提供采摘的水果的名称。产品通过多对多关系与产品组关联。
以下是维度表中的数据:
要从 Copilot 获得最佳结果,请注意:
数据被建模为经典的星型架构。
表名和列名是人类可读的英文,没有缩写,单词之间有空格。在这篇博文中,我谈到了我对 Power BI 命名约定的看法。
所有不应在报表中显示的表和列都已隐藏。
事实表度量列已被隐藏,并且已创建三个显式度量 – Order Amount、Order Units 和 Order Count (这是 Order ID 列上的非重复计数)。
同义词
虽然 Copilot 在此模型上表现良好,但让我们看一个简单的问题,它没有返回预期的结果:
提示返回视觉对象,但仔细检查后,它不是您想要的结果。它显示 Orders 表中的行数,即行项目数,而不是订单数:
要获得正确的结果,您需要告诉 Copilot Order Count 度量通过定义同义词来返回订单数。您可以在 Power BI Desktop 的“同义词”选项卡上的 Q&A 设置对话框中执行此操作:
将 “number of orders” 设置为 Order Count 度量的同义词意味着提示现在返回以下视觉对象,其中包含您想要的结果:
动词
下一个要查看的提示是:
谁采摘了柠檬?
您知道,在我们的农场,采摘水果的是员工,但模型中没有任何内容可以告诉 Copilot。因此,上面的提示导致 Copilot 说它不知道“picked”在这种情况下是什么意思:
在 Q&A 设置 对话框的 relationships 选项卡上,您可以通过定义 Verb 关系来解决此问题:
该关系告诉 Copilot,“员工姓名”选择“产品名称”,订单表连接两列。
有了这种关系,Copilot 正确地回答了 Gabi 是唯一挑选柠檬的员工:
名词
客户 Chris 也被员工广泛称为“Webb 先生”,但该名称并未存储在模型中的任何位置。因此,提示
我们从 Webb 先生那里赚了多少钱?
结果如下,相当合理的响应:
但是,通过设置名词关系来告诉 Copilot “Mr Webb”是一种客户名称,其中客户名称等于“Chris”:
然后,结果就是您所期望的:
动态名词
Copilot 在没有任何优化的情况下很好地处理了产品和产品组之间的多对多关系。例如,提示符:
显示所有 柑橘类水果 及其订购量
返回正确的结果:
但是,假设在这种情况下,您希望显示单个产品,而不是产品组“柑橘类水果”。您可以通过设置动态名词关系来执行此操作:
关系在于“Product group names”定义“产品名称”的种类,而 Product To Product Group 表将两者链接起来。完成此操作后,提示现在返回所需的结果:
结论
这些示例只是触及了语言架构和 Copilot 的可能性的皮毛。除了文档之外,我还发现(相当旧的)“Natural Language for Power BI”YouTube 频道上的视频是在 Q&A 启动时创建的,对于理解这里的概念也很有用。这里有很多东西要学,但通过一些试验和错误,以及听取最终用户的反馈,您应该能够调整 Copilot,使其几乎始终返回高质量的结果。
本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!