使用 OData 查询创建 Power BI 报表

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

借助 Power BI Desktop,可以轻松地在 Azure DevOps 中为项目创建报表。

如果没有Power BI Desktop,可以免费下载并安装。

按照步骤在 Power BI Desktop 中创建一个报表,该报表显示 每日 bug 趋势。

  • 创建 Power BI 查询
  • 创建 Power BI 转换
  • 创建开放式 Bug 趋势报告

先决条件

若要创建 Power BI 报表,必须满足以下条件:

  • 您必须是项目的成员。 如果还没有项目, 请创建一个项目。 请参阅 免费注册。
  • 如果尚未添加为项目成员, 请立即添加 。 有权访问项目(利益干系人除外)的任何人都可以查看 Analytics 视图。
  • 视图分析 权限设置为 “允许”。 请参阅 授予访问 Analytics 的权限。
  • 必须启用开发板。 若要重新启用它,请参阅 打开或关闭 Azure DevOps 服务
  • 已安装 Power BI Desktop2018 年 10 月更新或更高版本。 可以从官方Power BI Desktop下载页下载此客户端应用程序。
  • 跟踪了一段时间的工作项,以便生成趋势报告。

创建 Power BI 查询

创建 Power BI 查询以将数据拉取到 Power BI 中,如下所示:

  1. 选择“ 获取数据”,然后选择 “空白查询”。

    Power BI - Blank Query

  2. 在 Power BI 查询编辑器中,选择高级编辑器

    Power BI - Select Advanced Editor

  3. 此时会打开高级编辑器窗口。

    Power BI - Advanced Editor

  4. 将内容替换为以下查询。

    let
       Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/WorkItemSnapshot? "
          $apply=filter(
              WorkItemType eq 'Bug'  
          AND StateCategory ne 'Completed'  
          AND startswith(Area/AreaPath,'{areapath}')  
          AND DateValue ge {startdate} )/
          groupby((DateValue,State,WorkItemType,Area/AreaPath), aggregate($count as Count))  
          &$orderby=DateValue"
         ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
    in
        Source
    

    Screenshot of Power BI, Advanced Editor, Pasted Query.

  5. 替换示例查询中的值。

    示例查询包含必须替换为值的字符串:

    • {organization} - 组织名称
    • {project} - 团队项目名称。 或完全省略 /{project} 跨项目查询
    • {areapath} - 区域路径。 格式:Project\Level1\Level2
    • {startdate} - 开始趋势报告的日期。 格式:YYYY-MM-DDZ。 示例: 2022-09-01Z 表示 2022 年 9 月 1 日。 不要用引号引起来。

    Screenshot of Power BI, Advanced Editor, Replaced Strings in Query.

  6. 选择“完成”以执行查询。

    如果从未连接到帐户,Power BI 可能要求你进行身份验证。 有关详细信息,请参阅 客户端身份验证选项

展开区域、迭代、AssignedTo 列

查询将返回几个需要展开的列,然后才能在 Power BI 中使用它们。 使用 $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。 未展开时,这些记录显示在表列中。

重命名字段和查询,然后关闭并应用

完成后,可以选择重命名列。

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

    Screenshot of Power BI transform data, Rename Columns.

  2. 你可能还需要将查询从默认 的 Query1 重命名为更有意义的查询。

    Screenshot of Power BI transform data, Rename Query.

  3. 完成后,选择 “关闭并应用” 以保存查询并返回到 Power BI。

    Screenshot of Power BI Power Query Editor, Close & Apply.

创建报表

Power BI 显示可以报告的字段。

注意

下面的示例假定没有人重命名任何列。

Screenshot of Power BI Visualizations and Fields selections for Bug trends report.

对于简单的报表,请执行以下步骤:

  1. 选择 Power BI 可视化折 线图
  2. 将字段“DateValue”添加到 Axis
    • 右键单击“DateValue”并选择“DateValue”,而不是“日期层次结构”
  3. 将字段“State”添加到 Legend
  4. 将字段“Count”添加到 “值”
    • 右键单击 WorkItemId 字段并确保已选择 Sum

示例报表:

Screenshot of Sample Bug trends line chart report.

后续步骤