转换分析数据以生成 Power BI 报表

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

将 Analytics 数据导入 Power BI 后,可能需要在创建报表之前转换选择列数据。 本文介绍如何执行以下一些基本任务,例如:

  • 展开区域、AssignedTo 和迭代等
  • 查询链接的工作项时展开子代列
  • 用于为选择类别状态生成计数的数据透视列
  • 将列数据类型从十进制转换为整数
  • 替换列数据中的 null 值
  • 创建自定义字段
  • 重命名字段。

展开列

查询将返回几个需要展开的列,然后才能在 Power BI 中使用它们。 使用 OData $expand 语句拉入的任何实体都返回一个记录,该记录可能有多个字段。 需要展开记录,将实体平展到其字段中。 此类实体的示例包括: AssignedToIterationArea

关闭高级编辑器并在Power Query 编辑器中剩余时,选择需要平展的实体上的展开按钮。

  1. 例如,选择“区域”的展开按钮,选择要展开的属性,然后选择“确定”。 在这里,我们选择 AreaNameAreaPath 平展。 该 AreaName 属性类似于 “节点名称” 字段。

    Screenshot of Power BI transform data, Expand AreaPath column.

    注意

    要选择的可用属性取决于请求在查询中返回的属性。 如果未指定任何属性,则所有属性都可用。 若要了解有关这些属性的详细信息,请参阅以下元数据引用: 区域迭代用户

  2. 该表现在包含实体字段(s)。

    Screenshot of expanded Area columns.

  3. 对表示需要扩展的实体的所有字段重复步骤 1 到 3。 未展开时,这些记录显示在表列中。

展开“后代”列

“后代”列包含一个表,其中包含两个字段:StateTotalStoryPoints。 展开它。

  1. 选择“ 展开 ”按钮,然后选择要报告的列:

    Screenshot of Power BI Descendants column.

  2. 检查所有列,然后选择“ 确定”。

    Screenshot of Power BI Descendants column, expand options.

  3. 子代实体平展到所选列:

    Screenshot of Power BI expanded Descendants column.

Pivot Descendants.StateCategory 列

  1. 选择 1Descendants.StateCategory1 列标题以将其选中。

  2. 选择“ 转换 ”菜单,然后选择 “透视列”。 Transform menu, Pivot Column option.

  3. 在“透视列”对话框中,选择 “值Descendants.TotalStoryPoints,然后按 “确定”。 Power BI 为每个 StateCategory 值创建一个列。

    Dialog of Pivot Column for Descendants.TotalStoryPoints column.

  1. 选择列上的 Links 展开按钮。

    Screenshot of Power BI Links column, expand options.

  2. 选择要平展的所有字段。

    Screenshot of Power BI Links column, expand options.

  3. 选择列上的 Links.TargetWorkItem 展开按钮,然后选择要平展的属性。

    Screenshot of Power BI Links.TargetWorkItem column, expand options.

注意

如果链接表示一对多或多对多关系,则多个链接将扩展到多行,每个链接各有一行。

例如,如果工作项 #1 链接到工作项的 #2 和 #3,则在展开“链接”记录时,工作项 #1 将有 2 行。 一个表示其指向工作项 #2 的链接,另一个表示其指向工作项 #3 的链接。

转换列数据类型

将 LeadTimeDays 和 CycleTimeDays 转换为整数

LeadTimeDays 进制字段和 CycleTimeDays 小数字段。 例如,如果 潜在顾客时间为 10 天和 1/2 天,则值为 10.5。 由于大多数潜在顾客/周期时间报告假定它舍入到最近的一天,因此我们需要将这些字段转换为整数。 进行此转换会将小于 1 的所有值转换为 0。

在Power Query 编辑器中,选择功能区“转换”菜单。

  1. LeadTimeDays通过选择列标题选择列。

  2. 选择 数据类型 并更改为 整数

    Screenshot of Power BI Transform menu, Data type selection.

  3. 重复 。CycleTimeDays

将 CompletedDateSK 更改为“日期”字段

CompletedDateSK数据对应于采用格式YYYYMMDD“已完成日期”字段的整数呈现。 例如,2022-July-01 的整数值20220701。 为了更轻松地进行报告,我们将它更改为 “日期” 字段。

在Power Query 编辑器中,选择功能区“转换”菜单。

  1. 选择 CompletedDateSK 列标题。

  2. 选择 数据类型 并更改为 “文本”。 出现“更改列类型”对话框时,选择“添加新步骤(而不是替换当前步骤)。 此双重过程是将其更改为 Power BI 中适当的 日期 字段的最简单方法。

    Screenshot of Power BI Transform menu, Change Column Type dialog.

  3. 接下来,再次选择 “日期类型 ”,然后选择“ 日期”。 在 “更改列类型 ”对话框中,选择“ 添加新步骤”。

替换值

有时,一个或多个记录可能包含 null 值。 例如,可能尚未为 故事点剩余工时输入值。

Screenshot of Power BI table containing null values.

为便于报告,请按照以下步骤将 null 替换为零。

  1. 单击列标题选择列。
  2. 选择“转换”菜单。
  3. 选择“ 替换值”。 在 “替换值 ”对话框中:
    • 在值中 输入“null”以查找
    • 在“替换为”中输入“0”。
  4. 选择 “确定”

创建自定义列

创建完成计算列的百分比

在添加完成百分比列之前,请确保替换透视状态列中的所有 null 值。

  1. 选择“ 添加列 ”菜单。

  2. 选择 “自定义列”。

  3. 输入“新建列名的 PercentComplete”。

  4. 在自定义列公式输入以下内容。

    = [Completed]/([Proposed]+[InProgress]+[Resolved]+[Completed])
    

    Custom Column Dialog, PercentComplete syntax.

    注意

    如果工作项没有映射到“已解析”工作流状态类别的状态,则可能没有“已解析”列。 如果是,请省略上述公式中的“[Resolved]”。

  5. 按“确定” 。

  6. 选择“ 转换 ”菜单。

  7. 选择 “数据类型 ”,然后选择“ 百分比”。

重命名列字段

完成扩展后,可以选择重命名一个或多个列。

  1. 右键单击列标题并选择“ 重命名...”

    Power BI Rename Columns

  2. 输入列字段的新标签,然后按 Enter。

关闭查询并应用更改

完成所有数据转换后,从“开始”菜单中选择“关闭和应用”以保存查询并返回到 Power BI 中的“报表”选项卡。

Screenshot of Power Query Editor Close and Apply option.