Пример отчета о тенденциях ошибок

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Отчеты о тенденциях ошибок полезны, чтобы узнать, насколько хорошо команда закрывает активные ошибки. В этой статье показано, как отобразить количество ошибок в заданном состоянии в течение определенного периода времени. На следующем рисунке показан пример отчета о тенденциях ошибок.

Снимок экрана: отчет о графике трендов ошибок.

Примечание.

В этой статье предполагается, что вы прочитали обзор примеров отчетов с помощью запросов OData и имеют базовое представление о Power BI.

Необходимые компоненты

  • Чтобы просмотреть данные аналитики и запросить службу, необходимо быть членом проекта с базовым доступом или большим доступом. По умолчанию все члены проекта предоставляют разрешения для запроса аналитики и определения представлений Аналитики.
  • Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий по отслеживанию данных см. в статье "Разрешения и предварительные требования для доступа к аналитике".

Примеры запросов

Следующие запросы возвращают данные из WorkItemSnapshot набора сущностей для поддержки создания отчетов трендов.

Примечание.

Сведения о доступных свойствах для фильтрации или отчета см . в справочнике по метаданным для Azure Boards. Вы можете отфильтровать запросы или возвращать свойства с помощью любого из Property значенийEntityType, доступных в разделе EntitySetили NavigationPropertyBinding Path значениях. Каждое EntitySet соответствует .EntityType Чтобы узнать больше о типе данных каждого значения, просмотрите метаданные, предоставленные для соответствующего EntityTypeзначения.

Тенденция ошибок, отфильтрованной по пути области

Следующие запросы фильтруют ошибки по пути к области и дате начала.

Запрос Power BI, указанный ниже, можно вставить непосредственно в окно получения пустого запроса.> Дополнительные сведения см. в обзоре примеров отчетов с помощью запросов OData.

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

Строки подстановки и разбивка запросов

Замените следующие строки значениями. Не включайте скобки в подстановку {} . Например, если вашей организации присвоено имя Fabrikam, замените {organization} на Fabrikam, а не {Fabrikam}.

  • {organization} — Название организации
  • {project} — Имя проекта группы или полностью опустите "/{project}" для межпроектного запроса
  • {areapath} — Путь к области. Пример формата: Project\Level1\Level2
  • {startdate}— Запустите отчет для элементов, завершенных или после заданной даты с форматом: YYYY-MM-DDZ Например: 2022-04-01Z представляет 2022-апрель-01. Не заключайте в кавычки.

Разбивка запросов

В следующей таблице описана каждая часть запроса.

Часть запроса

Description

$apply=filter(

Начало предложения инструкции фильтра.

WorkItemType eq 'Bug'

Возвращать ошибки.

and State ne 'Closed'

Опустить ошибки в закрытом состоянии.

and startswith(Area/AreaPath,'{areapath}')

Возвращайте рабочие элементы в определенном пути области, в который вы указали'{areapath}'. Чтобы отфильтровать по имени команды, используйте инструкцию Teams/any(x:x/TeamName eq '{teamname})'фильтра.

and DateValue ge {startdate}

Начать тенденцию или после указанной даты. Пример: 2021-04-01Z представляет 2021-апрель-01.

)

Закрыть filter() предложение.

/groupby(

Предложение Start groupby() .

(DateValue, State, WorkItemType, Priority, Severity, Area/AreaPath, Iteration/IterationPath),

Группировать по DateValue, используемым для тренда, и любым другим полям, на которые вы хотите сообщить.

aggregate($count as Count)

Агрегирование путем подсчета ошибок, соответствующих критериям на каждую дату.

)

Закрыть groupby() предложение.

Тенденция ошибок, отфильтрованной Teams

Вы можете запрашивать тенденции ошибок по имени команды, а не по пути к области.

Запрос Power BI, указанный ниже, можно вставить непосредственно в окно получения пустого запроса.> Дополнительные сведения см. в обзоре примеров отчетов с помощью запросов OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'Bug' "
            &"and State ne 'Closed' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}') or Teams/any(x:x/TeamName eq '{teamname}') or Teams/any(x:x/TeamName eq '{teamname}')"
            &"and DateValue ge {startdate}  "
            &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Severity,Area/AreaPath,Iteration/IterationPath,AreaSK), "
            &"aggregate($count as Count) "
            &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Тенденция ошибок с моментальным снимком каждую пятницу

Использование еженедельного моментального снимка уменьшает объем данных, извлекаемых в Power BI, и повышает производительность запросов.

Запрос Power BI, указанный ниже, можно вставить непосредственно в окно получения пустого запроса.> Дополнительные сведения см. в обзоре примеров отчетов с помощью запросов OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'Bug' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and DateValue ge {startdate} "
            &"and Date/DayName eq 'Friday'  "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Severity,Area/AreaPath,Iteration/IterationPath,AreaSK), "
            &"aggregate($count as Count) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Тенденция ошибок с моментальным снимком на первом из каждого месяца

Использование ежемесячного моментального снимка уменьшает объем данных, извлекаемых в Power BI, и повышает производительность запросов.

Запрос Power BI, указанный ниже, можно вставить непосредственно в окно получения пустого запроса.> Дополнительные сведения см. в обзоре примеров отчетов с помощью запросов OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'Bug' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and DateValue ge {startdate} "
            &"and Date/DayOfMonth eq 1  "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Severity,Area/AreaPath,Iteration/IterationPath,AreaSK), "
            &"aggregate($count as Count) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Необязательно) Переименование запроса

Вы можете переименовать метку запроса по умолчанию, query1, в что-то более понятное. Просто введите новое имя из области Параметры запроса.

Снимок экрана: параметры меню запроса Power BI, переименование запроса.

Развертывание столбцов в Power BI

Разверните и Area/AreaPathIteration/IterationPath столбцы. Расширение столбцов сглаживает запись в определенные поля. Сведения о том, как можно узнать, как создавать отчеты Power BI, см. в статье "Аналитика преобразования".

(Необязательно) Переименование полей

После развертывания столбцов может потребоваться переименовать одно или несколько полей. Например, можно переименовать столбец AreaPathArea Pathв . Сведения о том, как это сделать, см. в разделе "Переименовать поля столбцов".

Закройте запрос и примените изменения

Завершив все преобразования данных, нажмите кнопку "Закрыть" и "Применить " из меню "Главная ", чтобы сохранить запрос и вернуться на вкладку "Отчет " в Power BI.

Снимок экрана: параметр Редактор Power Query Закрыть и применить.

Создание отчета о графике

  1. В Power BI выберите отчет о графикев разделе "Визуализации".

    Снимок экрана: выбор визуализаций и полей Power BI для отчета о тенденциях ошибок.

  2. Добавьте DateValueось X и щелкните правой кнопкой мыши DateValue и выберите DateValue , Date Hierarchyа не .

  3. Добавьте Count в ось Y и щелкните правой кнопкой мыши Count и убедитесь, что выбрана сумма .

  4. Добавление State в условные обозначения.

В примере отчета отображается.

Снимок экрана: отчет о диаграмме графиков тенденций ошибок.

Изменение визуальных элементов формата отчета

  • Чтобы изменить элементы формата отчета, щелкните значок Форматирования визуального элемента (кисти) и измените один или несколько доступных параметров. Например, можно изменить цвета линии, используемые в диаграмме трендов.

    Снимок экрана: визуальные элементы формата Power BI для отчета о тенденциях ошибок.

Дополнительные сведения см. в статье "Начало работы с областью форматирования".