适用于:✅Power BI 服务
在将 Copilot 与语义模型配合使用之前,先评估数据。 可能需要清理您的语义模型,以便Copilot能从中获取见解。
注意
请记住以下要求:
- 管理员需要在 Microsoft Fabric 中启用 Copilot。
- 你的 Fabric 容量需要位于 Fabric 区域可用性一文中列出的区域之一。 如果不是这样,就无法使用 Copilot。
- 在开始使用 Copilot 之前,管理员需要启用租户切换。 有关详细信息,请参阅 Copilot 租户设置一文。
- 如果你的租户或容量位于美国或欧盟数据边界之外,则默认禁用 Copilot。 一个例外是,如果 Fabric 租户管理员允许 发送到 Azure OpenAI 的数据可以在租户的地理区域、符合性边界或国家云实例租户设置之外进行处理 。 可以在 Fabric 管理门户中找到此设置。
- Microsoft Fabric 中的 Copilot 在试用 SKU 上不受支持。 仅支持付费 SKU。
- 若要查看 Power BI 中的独立 Copilot 体验,租户管理员需要启用租户切换。
注意
在Power BI 服务 Web 建模体验中,Copilot可以执行更多操作来评估模型。 它还可以直接提出和应用更改,例如重命名表和列、创建关系以及生成 DAX 度量值。 本文中的优化指南直接支持来自该分析的更好结果:结构完善的明确命名模型有助于 Copilot 生成更准确且有用的建议。
用于 Copilot 的语义模型注意事项
您可以使用下表中的标准,借助 Copilot 创建准确的报表。 这些建议可以帮助你生成准确的Power BI报告。
模型结构
| 元素 | 注意事项 | 说明 | 申请地点 | 示例 |
|---|---|---|---|---|
| 表链接 | 定义明确的关系 | 明确定义表之间的所有关系,并确保它们是逻辑的。 指出哪些关系是一对多、多对一或多对多。 | 在“模型”视图中,选择“管理关系” | 从Date[DateID]到Sales[DateID]创建一对多关系,并验证关系是否处于活动状态。 |
| 事实数据表 | 清晰划分 | 清晰地描述事实数据表,这些数据表保存可衡量的量化数据以用于分析。 | 在表属性和数据模型结构中 | 将表显式命名为事实数据表:FactSales、、FactTransactionsFactVisits。 |
| 维度表 | 支持性描述性数据 | 创建维度表,其中包含与事实数据表中的量化度量值相关的描述性属性。 | 在表属性和数据模型结构中 | 创建维度表,例如DimProduct属性(ProductName、Category、Brand)和DimCustomer特性(CustomerName、CitySegment)。 |
| 层次结构 | 逻辑分组 | 在数据中建立明确的层次结构,尤其是支持在报表中向下钻取的维度表。 | 在表上下文菜单中,选择“新建层次结构” | 在Date表中,创建层次结构:Year>Quarter>Month>Day 。 在 Geography 表中: Country/Region>State>City. |
| 关系类型 | 明确指定 | 为了确保准确生成报告,请明确指定关系(活动或非活动)的性质及其基数。 | 在关系属性对话框中 | 将Date设置为Sales“多对一”(活动),将Product设置为Sales“多对一”(活动),并在适当时将角色扮演关系标记为非活动状态。 |
度量值和 KPI
| 元素 | 注意事项 | 说明 | 申请地点 | 示例 |
|---|---|---|---|---|
| 度量值 | 标准化计算逻辑 | 让指标具备标准化、清晰且易于解释和理解的计算逻辑。 | 在度量值的定义和说明属性中 | 度量 DAX:Total Sales = SUM(Sales[SaleAmount]) 并添加描述:“所有销售金额的总和。” |
| 度量值 | 命名约定 | 提供明确反映其计算和用途的度量值名称。 | 创建度量值时的度量值名称字段中 | 使用描述性名称: Average Customer Rating 而不是缩写: AvgRating。 |
| 度量值 | 预定义度量值 | 包括一组用户最有可能在报表中请求的预定义度量值。 | 在模型中创建用户通常需要的度量值 | 添加度量值,例如 YTD Sales = TOTALYTD(SUM(Sales[SaleAmount]), 'Date'[Date]) 或 MoM Growth = DIVIDE([This Month Sales] - [Last Month Sales], [Last Month Sales])。 |
| 关键绩效指标 (KPI) | 预定义和相关 | 建立一组与业务上下文相关的 KPI,并经常出现在报表中。 | 为常用跟踪 KPI 创建度量值 | 定义度量值,例如ROI = DIVIDE([Profit], [Investment]), CAC = DIVIDE([Marketing Spend], [New Customers])LTV = [Avg Order Value] * [Purchase Frequency] * [Customer Lifespan]。 |
列和数据质量
| 元素 | 注意事项 | 说明 | 申请地点 | 示例 |
|---|---|---|---|---|
| 列名 | 明确标签 | 使列名清晰、无歧义且便于理解。 避免使用那些在脱离上下文的情况下还需要进一步查找的 ID 或代码。 | 在 Power Query 编辑器或模型视图中重命名列 | 将列从ProdID重命名为Product ID或Product Name,并从CustNo重命名为Customer Number。 |
| 列数据类型 | 正确且一致 | 对所有表的列应用正确且一致的数据类型,以确保度量值正确计算并启用适当的排序和筛选。 | 在列属性中,设置 数据类型 | 确保 Sales[SaleAmount] 为十进制数字(非文本), Date[Date] 是日期(而不是文本), Product[ProductID] 是整数。 |
| 数据一致性 | 标准化值 | 在列中维护标准化值,以确保筛选器和报表中的一致性。 | 使用“查找和替换”或“Power Query”中的转换功能 | 在Status列中,确保所有值都使用一致的大小写:Open、、 ClosedPending (不混合大小写,如open,CLOSED)。 |
刷新、安全和元数据
| 元素 | 注意事项 | 说明 | 申请地点 | 示例 |
|---|---|---|---|---|
| 刷新时间表 | 透明化和定时 | 清楚地传达数据的刷新计划,以确保用户了解他们正在分析的数据的时间线。 | 在数据集设置和文档中 | 添加一个文本框或说明,指出:“每天在 UTC 上午 6:00 刷新数据”或“具有 15 分钟增量刷新的实时数据”。 |
| 安全性 | 角色级别定义 | 如果存在并非所有用户都应看到的敏感元素,请定义安全角色,以实现不同级别的数据访问。 | 在“模型”视图中,选择“管理角色” | 分别创建角色“销售团队”和角色“HR”,其中“销售团队”使用筛选器 Sales[Region] = USERNAME(),“HR”筛选员工数据表。 |
| 元数据 | 结构文档 | 有关参考,请记录数据模型的结构,包括表、列、关系和度量值。 | 使用说明属性和外部文档 | 向表和列添加说明。 使用模型关系图、数据字典和度量值目录创建单独的文档。 |
DAX 查询注意事项
下表列出了其他条件,这些条件可以帮助你创建Copilot准确的数据分析表达式(DAX)查询。 这些建议可帮助你生成准确的 DAX 查询。
| 元素 | 注意事项 | 说明 | 申请地点 | 示例 |
|---|---|---|---|---|
| 度量值、表和列 | 说明 | 在 description 属性中,定义每个元素以及如何使用它。 Copilot 仅使用前 200 个字符。 | 在“属性”窗格中,度量值、表和列的“说明”字段 | 对于度量 [YOY Sales],请添加说明:“订单的逐年(YOY,年同比)差异”。 与“Date”[Year] 列一起使用,按最近一年以外的年份显示。 部分年份与上年同期相比。 |
| 计算组 | 说明 | 模型元数据不包括计算项。 使用计算组列的描述来列出并说明计算项的使用方法。 Copilot 仅使用前 200 个字符。 | 在计算组列的“属性”窗格中 | 对于 时间智能示例 计算组列,请添加说明:“将度量值和日期表用于 Current:当前值,MTD:本月至今,QTD:本季度至今,YTD:本年到目前为止,PY:前一年,PY MTD:前一年本月至今,PY QTD:前一年本季度至今,YOY:同比变化,YOY%:同比变化百分比。” 对于度量值表,请添加:“度量值用于汇总数据。” 这些度量值可以使用以下语法逐年显示:CALCULATE([Measure Name],Time intelligence[Time calculation] = YOY)。 |