Power BI 中的自然语言问答:提出问题,获取图表
自助服务分析的承诺始终是这样的:业务用户应该能够回答自己的问题,而无需等待开发人员构建报告。 Power BI 的自然语言问答 (NL Q&A) 让这一承诺更接近现实 - 用户用简单的英语(或 20 多种受支持的语言之一)键入问题,Power BI 会生成一个可视化结果来回答该问题。
“以条形图形式显示去年第三季度按地区划分的销售额”会生成第三季度地区销售额的条形图。 “上个月收入排名前 10 位的客户有哪些?”显示按收入排序的客户表。 “与去年相比,毛利率有何变化?”生成包含两个系列的折线图。
本指南涵盖了 NL 问答的底层工作原理、如何优化语义模型以获得更好的 NL 问答性能、控制其工作位置和不工作位置的限制,以及它如何与更广泛的 Power BI AI 分析生态系统集成。
要点
- Power BI Q&A 使用 AI 语言模型将自然语言问题转换为 DAX 查询
- 问答与命名良好的表、列和度量配合使用效果最佳 - 语义模型质量直接决定问答质量
- 同义词教授问答业务术语,与技术领域名称不同
- Power BI Desktop 中的问答工具可让数据建模人员了解问答可以回答哪些问题、不能回答哪些问题
- 问答支持20多种语言,其中英语提供了最丰富的查询能力
- 问答视觉效果可以添加到任何 Power BI 报表页面以进行嵌入式自然语言查询
- Cortana 集成和智能叙事将 NL 功能扩展到交互式问答之外
- 限制:问答无法执行计算 问答无法概念化、可靠地处理不明确的问题或执行跨数据集查询
自然语言问答的工作原理
Power BI 的 NL 问答引擎通过以下几个步骤处理用户的问题:
1.语言分析:问题被解析为其语义成分——实体(正在引用什么事物)、关系(这些事物如何关联)和意图(要执行什么操作——计数、求和、比较、排名、过滤、趋势)。
2.模式匹配:解析的实体与语义模型的表、列和度量进行匹配。 “Sales”可能与名为 [Net Sales] 的度量值或名为 Sales 的表匹配。 “上个月”被识别为时间段并转换为日期过滤器。
3.查询生成:匹配的组件被组装成捕获用户意图的 DAX 查询。 “上季度按国家/地区划分的总收入”变为:
EVALUATE
SUMMARIZECOLUMNS(
Geography[Country],
CALCULATETABLE(
'Date'[Date],
'Date'[Quarter] = 3,
'Date'[Year] = YEAR(TODAY()) -- adjusted for "last quarter"
),
"Revenue", [Net Revenue]
)
4.可视化选择:问答根据查询结构选择最合适的图表类型。跨类别比较会生成条形图。随着时间的推移,趋势会产生折线图。排名生成排序的条形图。用户可以通过在问题中指定图表类型来覆盖图表类型(“作为地图”、“作为饼图”、“作为表格”)。
5.渲染:选定的可视化效果在问答界面中呈现,并显示解释的问题,以便用户可以看到问答如何理解他们的问题。
语义模型质量决定问答质量
问答性能中最重要的一个因素是语义模型的质量。问答只能回答有关模型明确表达的事物的问题。
清晰的表名和列名:像 cust_nm、txn_dt 和 rev_amt 这样的列名对于自然语言处理来说是不透明的。将它们重命名为 Customer Name、Transaction Date 和 Revenue Amount。问答直接在实体匹配中使用这些名称。
度量描述:每个度量都应该有一个描述,以业务术语解释其度量的内容。问答使用这些描述作为附加匹配信号。
隐藏技术栏目:当用户只看到与业务相关的字段时,问答体验会更好。从报告视图中隐藏技术键(ID、外键)、内部标志和暂存列。这减少了问答将用户的问题与技术专栏而不是业务措施相匹配的机会。
标记日期表:在 Power BI Desktop → 表格工具 → 标记为日期表中。这使得问答能够识别与时间相关的问题(“去年”、“本月”、“第三季度”)并将其正确转换为日期过滤器。
定义关键术语的同义词:业务用户经常使用与模型中的字段名称不同的术语。请参阅下面的同义词部分。
配置同义词
同义词向问答传授您的组织使用的业务词汇。如果没有同义词,问答必须将用户问题与模型中的确切字段名称相匹配 - 这通常与人们实际谈论业务的方式不匹配。
在 Power BI Desktop 中添加同义词:
主页 → 问答设置 → 同义词(或从数据面板中选择问答设置)
同义词面板显示模型中的每个表、列和度量。对于每个项目,您可以添加问答将识别的同义词作为引用该项目的替代方式。
示例:
| 型号名称 | 同义词添加 |
|---|---|
| 净收入 | 收入、销售额、收入、顶线、净销售额 |
| 毛利润 | 毛利率、GP、管理费用前利润 |
| 客户 | 客户、帐户、买家 |
| 订购日期 | 购买日期、交易日期、销售日期 |
| 暗淡产品 | 产品、项目、SKU、产品目录 |
| 产品类别 | 类别、部门、产品线、细分市场 |
度量的同义词特别有价值 - 业务用户经常使用与度量名称在文本上没有相似之处的口语术语(“我们完成了多少笔交易?”映射到 [Closed Opportunities])。
特定领域词汇:医疗组织添加临床术语。金融服务公司添加行业特定的指标名称(AUM、NAV、费用比率)。制造公司添加生产术语(产量、吞吐量、废品率)。
报告中的问答视觉
问答视觉效果可以嵌入到任何 Power BI 报表页面中,为用户提供自然语言界面以及传统的交互式视觉效果。
添加问答视觉效果: 在 Power BI Desktop 中,插入 → 问答视觉对象。调整其大小并将其放置在报告页面上。可以选择预先填充默认问题,以便视觉效果加载有用的图表而不是空提示。
建议的问题:配置在问答视觉效果中显示为可单击提示的建议问题。这些引导经验不足的用户了解问答能够很好处理的问题类型。在“问答设置”→“建议问题”中进行配置。
将问答结果转换为视觉效果:当用户获得有用的问答答案时,他们可以单击“将此结果转换为视觉效果” - 将问答可视化效果转换为标准 Power BI 视觉效果,他们可以将其添加到个人书签或要求开发人员永久保存。
嵌入仪表板:在 Power BI 仪表板(而不是报表)上,问答可在顶部栏中本地使用。用户单击“询问有关您的数据的问题”并查询基础数据集。
问答工具:测试和提高覆盖率
Power BI Desktop 包含问答工具,可帮助数据建模者了解问答可以处理哪些问题以及难以处理的问题。
问答测试工具:在测试界面中输入问题,看看问答如何解读它们。该工具显示:
- 哪些字段与问题的每个部分相匹配
- 比赛是有信心还是不确定
- 生成的 DAX 查询
- 由此产生的可视化结果
查看建议的问题:问答会根据模型结构自动建议问题。查看这些内容以了解问答认为用户会问什么,以及这些问题是否会产生正确的结果。
教学问答:当问题产生错误结果时,“教学问答”工作流程允许您纠正解释。您指定哪些字段应与问题的每个部分相匹配,问答会从这一更正中学习,以供将来的会话使用。
问答覆盖率测试:一种实用的方法是编制用户可能会问的 20-30 个问题的列表,通过问答测试工具运行它们,并确定结果较差的 5-10 个问题。修复这些问题(通过同义词、重命名或模型更改)可以显着改善真实用户的问答体验。
支持的语言
Power BI 问答支持 20 多种语言的自然语言查询:
英语、德语、西班牙语、法语、意大利语、葡萄牙语、荷兰语、瑞典语、丹麦语、挪威语、芬兰语、中文(简体和繁体)、日语、韩语、阿拉伯语、土耳其语、俄语、波兰语和捷克语。
语言质量各不相同:英语提供最丰富的问答功能 - Microsoft 的 NL 问答引擎经过最彻底的英语训练。其他语言可以很好地处理常见模式,但可能会遇到复杂的时间引用、行业特定词汇或模糊的措辞。
多语言模型:如果您的模型为多种语言的用户提供服务,请考虑在每种支持的语言中添加同义词。输入“Umsatz nach Region”(按地区划分的收入)的德国用户需要 Umsatz 作为收入指标的同义词,并需要 Region 作为地理字段的同义词。
智能叙述:自动文本解释
Power BI 的智能叙述视觉效果通过自动生成数据显示内容的文本解释来补充问答。智能叙事不是用户提出问题,而是主动用自然语言解释趋势、异常情况和主要发现。
将智能叙述视觉效果添加到报告页面会生成一个文本块,用于描述页面上其他视觉效果的关键见解。当用户使用切片器进行过滤时,叙述会更新以描述过滤后的视图。
使用案例:
- 自动描述自上一时期以来数据发生的变化
- 解释为什么图表显示它所显示的内容
- 显示最重要的数据点,而无需用户直观地识别它们
- 为执行仪表板生成报告评论
自定义叙述允许报告开发人员使用动态值占位符编写模板文本 - 文本结构已编写,但值随数据更新:
Revenue was [Revenue Measure] in [Period], representing a [Growth %]
[increase/decrease] compared to [Prior Period Revenue] in [Prior Period].
限制以及何时不使用问答
自然语言问答是一个强大的工具,但它具有现实的局限性,无法设定现实的期望。
问答不能:
- 执行自然语言无法概念化的计算(复杂的 DAX 表达式、统计建模)
- 回答有关不在连接的数据集中的数据的问题(它无法搜索互联网或外部来源)
- 可靠地处理高度模糊的问题(“向我展示我们最好的东西”太模糊了)
- 执行需要先前问题上下文的查询(问题之间没有对话记忆)
- 回答涉及多个数据集的问题,而模型中没有定义跨数据集关系
问答与:
- 组织特定的首字母缩略词和缩写词不添加为同义词
- 非常长、复杂的问题,具有多种条件
- 有关未定义为度量的派生指标的问题(它不会从自然语言推断出复杂的计算)
- 日期计算比相对期间更复杂(例如,“最后 3 个财政季度,不包括当前不完整的季度”)
问答是为谁设计的:知道自己想回答什么问题但不知道如何在预构建的报告中找到它的业务用户。想要快速探索数据而不构建报告的高级用户。想要一个自然的界面来检查特定数字的高管。
谁应该使用预构建的报告:重复询问相同问题的用户(为他们构建报告)、需要精确视觉规范的用户(问答的自动选择图表可能不符合治理要求)以及需要在多个相关问题之间进行交叉过滤的用户(标准交互式报告更好)。
常见问题
Power BI 问答是否适用于所有数据源?
Power BI 问答适用于导入模式数据集(最常见且支持最好的)。它也适用于 DirectQuery 数据集,但性能可能会较慢,因为每个问答问题都会生成实时数据库查询。问答不适用于多源复合模型,其中问题需要跨越多个 DirectQuery 源。如果连接的模型配置良好,则与 Azure Analysis Services 或 Power BI 数据集的实时连接支持问答。
如何让问答为我的组织的术语生成正确的结果?
主要机制是同义词 - 将组织的业务词汇添加为语义模型中相应字段和度量的同义词。另外:将技术栏目名称重命名为商业友好的名称,隐藏不相关的技术字段,标记日期表格,并使用问答的教学工具纠正特定的错误解释。使用 20 个真实用户问题样本来测试问答并修复失败的问题是获得高质量问答体验的最有效途径。
Power BI 问答可以回答有关多个表的问题吗?
是的。问答可以制定跨越语义模型中多个相关表的查询。像“按客户类别划分的总销售额”这样的问题可以通过模型定义的关系将销售事实表连接到客户维度。 Q&A 很好地处理单步关系;如果模型的关系不明确,复杂的多跳关系路径可能会产生不正确的结果。
Power BI 报表服务器(本地)中是否提供问答功能?
Power BI 问答主要是 Power BI 服务(云)功能。 Power BI 报表服务器(本地版本)支持部分问答功能,但不包括云服务中可用的完整 NL 处理。需要本地部署的组织应评估其报表服务器版本中提供哪些问答功能。
Power BI 问答与 Microsoft Copilot for Power BI 相比如何?
Power BI Q&A 使用自然语言直接查询数据模型,生成图表和表格。 Microsoft Copilot for Power BI(在 Fabric 中提供)更进一步 — 它可以生成报告页面、编写 DAX 度量、以文本形式总结报告见解,并回答有关报告而不仅仅是数据的问题。 Copilot 使用大型语言模型(GPT-4 类)来提供功能更强大的对话界面,而 Q&A 使用针对数据查询进行优化的更具约束性的 NL 处理引擎。 Copilot 需要 Microsoft Fabric 并且在受支持的区域提供。
后续步骤
当自然语言问答建立在精心设计的语义模型(具有清晰的字段名称、全面的同义词和正确标记的日期表)之上时,效果最佳。技术很强大,但用户体验在很大程度上取决于底层数据模型的质量。
ECOSIRE 的 Power BI AI 分析服务 包括问答配置、同义词开发以及 Power BI AI 功能(包括智能叙述、异常检测和 Microsoft Copilot)的集成。联系我们来评估您的语义模型的问答准备情况,并为您的用户实现优化的自然语言体验。
作者
ECOSIRE Research and Development Team
在 ECOSIRE 构建企业级数字产品。分享关于 Odoo 集成、电商自动化和 AI 驱动商业解决方案的洞见。
相关文章
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
GoHighLevel + Power BI: Advanced Reporting and Analytics
Connect GoHighLevel to Power BI for advanced marketing analytics. Build executive dashboards, track multi-channel ROI, and create automated reports that go beyond GHL's native reporting.