Power BI报表的用户,肯定会被Q&A的功能惊艳到,在查看报表时,仅仅通过输入文本就可以探索数据,并且结果是可视化的,更令人惊艳的时,结果几乎是实时显示出来的。这使得Q&A Visual就像一个搜索引擎,输入你想查询的问题,Q&A返回一个可视化的结果。
在用户开始输入问题之前,Q&A会显示一些建议问题,如下图所示:
用户也可以输入自己的问题,Q&A支持广泛的问题类型,包括但不限于以下:
当用户输入问题时,Q&A会显示相关的上下文建议,以帮助用户快速的使用自然语言。同时,在输入问题的同时,用户会立即获得反馈和结果,这种体验类似于在搜索引擎中输入文本:
Q&A使用下划线的颜色和类型来帮助用户查看系统理解或不识别的单词。
蓝色实心下划线表示表示系统成功地将单词与数据模型中的字段或值匹配,下面的示例显示 Q&A 识别了 EU Sales 这个词。
橙色圆点下划线(下划虚线)表示用户输入的单词被归类为低置信度,如果您键入一个含糊或模棱两可的词,该字段将带有橙色圆点下划线。 举个例子,对于“销售”这个词,数据集中的多个字段可能都包含“销售”一词,因此系统使用橙色虚线下划线提示您选择您想要的字段。 低置信度的另一个例子是,如果您键入单词“area”,但它匹配的列是“region”。 Power BI Q&A 可以识别具有相同含义的单词,这要归功于与 Bing 和 Office 的集成,并且还将报告中的重命名解释为潜在的建议。 Q&A 用橙色圆点在这个词下划线,这样你就知道它不是直接匹配的。
红色实心下划线表示 Q&A 根本识别不了这个词,如果用户输入数据集中不包含的术语,或者数据字段的名称不正确,那么系统会显示红色下划线。 举个例子,如果数据集中不存在“Cost”,Q&A 会用红色下划线标记该词,以表明它没有找到与数据相关的该词。
当您输入问题时,Q&A会尝试立即解释问题和可视化答案,并尝试把字段自动绘制到正确的轴上。 例如,如果您键入“Sales by year”,Q&A 会检测到该Year是一个日期字段,并始终优先将此字段放在 X 轴上。
Q&A 目前支持以下的可视化类型:
Q&A的问答是非常快速的,一旦用户输入问题,立马就可以获得结果,之所以有这么快速的反应,是由于Q&A对数据集做了索引和缓存处理。
当启用Q&A功能时,Q&A会建立一个索引,以便快速向用户提供实时反馈并帮助解释用户的问题。 Q&A需要一些时间来构建索引,并且具有以下特征:
在PowerBI Desktop的Options,在CURRENT FILE的Data Load中启用Q&A功能
Q&A构建的索引会缓存到系统中,索引需要占用存储空间,用户可以在Data Load的 Q&A Cache Options 中设置缓存的大小,默认是4GB。
在Power BI Desktop中,索引是在使用Q&A时被创建;在Power BI Service中,索引是在发布(publish)或刷新数据集(refresh)时被创建。
在索引创建的时间内,Q&A 会自动生成一些建议的问题,开发人员也可以训练Q&A,来生成更加准确的问题。
借助 Power BI Q&A工具,开发人员可以改善Q&A的自然语言体验,开发人员可以在四个方面改进:
选择Review questions选项卡,可以查看数据集,用户提出的问题。注意,默认情况下,Review questions只会保存过去 28 天的历史数据。
在该对话框中会显示数据集、工作区和上次刷新日期,开发者可以选择一个数据集并查看用户提出的问题,该对话框使用红色下划线显示了未被识别的单词。
Tech Q&A 用于训练Q&A理解和识别单词。首先,键入一个问题,其中包含 Q&A 无法识别的一个或多个单词,然后,Q&A 会提示您输入该陌生术语的定义,你需要输入与该陌生单词所代表的内容相对应的过滤器或字段名称。
Q&A根据定义重新解释原始问题,如果您对结果感到满意,则可以保存您的输入。
详细的操作是:选择红色下划线标记的单词,Q&A会提供建议,并提示开发人员提供正确的定义。在“Define the terms Q&A didn't understand”中输入正确的定义,点击“Save”,预览结果。
开发者可以训练Q&A理解或记忆两种类型的术语(即同义词):名词和带有条件的名词。
定义一个名词的同义词:在处理数据时,可能会遇到一个字段名称可以用替代name引用的情况,举个例子,“Sales”在某些情况下,可以使用“Revenue”来指代。在这种情况下,可以告诉 Q&A,'Sales' 和 'Revenue' 是相同的。
Q&A 在遇到一个无法识别的单词时,使用来自 Microsoft Office 的知识自动检测单词的词性,如果 Q&A 检测到名词,可能会通过“refers to”方式来提示:
定义带有一个条件的名词:有时您可能想要定义adj+noun,举个例子,'Awesome Publishers'是指:已发布 X 件产品的发布商。 如果Q&A 检测形容词,可能会通过“that have”方式来提示:
如果Products是一个列名,或者是一个Measure,那么可以为Products定义的条件可能是:
也可以使用带有聚合函数的表达式来定义:
开发者只能在该"Tech Q&A"中定义一个条件,要定义更复杂的条件,请首先使用 DAX 创建计算列或Measure,然后使用该工具为该列或度量创建带有单个条件的名词。
选择“Field synonyms”,可以查看模型中所有的表和列,并添加列名的同义词(替代名称),还可以选择是否从Q&A中隐藏列或表。
该对话框显示报表用户在针对数据集提出问题时可以使用的所有列、表和相应的术语(即同义词)。您可以在该对话框中快速查看Q&A会用到的所有术语,还可以为列添加或删除同义词。
从“Tech Q&A”和“Field synonyms”中保存的所有内容都会显示在此处,在该窗口中可以查看或删除术语或同义词。
当数据模型逐渐复杂时,“Tech Q&A”和“Field synonyms”保存的术语就会逐渐增多,管理术语成为一个仅凭记忆很难完成的任务,通过使用该该选项卡,很够方便管理在“Tech Q&A”和“Field synonyms”中保存的同义词。
Q&A不仅可以建议术语,还可以建议问题。在不进行任何设置的情况下,Q&A visual会提示几个开始使用的问题,这些问题是根据您的数据模型自动生成的。在建议问题中,您可以用自己的问题覆盖自动生成的问题。
参考文档:
Introduction: Use natural language to explore data with Power BI Q&A