Поделиться через


Пример отчета по диаграмме накопительного потока (CFD)

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

В этой статье показано, как отобразить Stories CFD для указанной команды. Эти данные также доступны через встроенный виджет диаграмм и панели мониторинга. Дополнительные сведения об этих параметрах см. в разделе "Просмотр и настройка накопительной схемы потока".

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

Скриншот отчета с накопительной областной диаграммой в Power BI, столбцы отсортированы в порядке столбцов доски.

Дополнительные сведения о накопительном потоке см. в руководстве "Накопительный поток", "Время выполнения" и "Время цикла" и "Накопительный поток", "Время выполнения" и "Время цикла".

Примечание.

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

Категория Требования
Уровни доступа - член проекта.
— По крайней мере базовый доступ .
Права доступа По умолчанию члены проекта имеют разрешение делать запросы к аналитике и создавать представления. Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий отслеживания данных см. в разделе "Разрешения и предварительные требования для доступа к аналитике".

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

Запросы в этом разделе поддерживают возврат данных суммарного потока для пользовательских историй. Эти запросы указывают набор сущностей WorkItemBoardSnapshot, так как они возвращают данные, вычисленные для совета с течением времени.

Примечание.

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

Скопируйте и вставьте следующий запрос Power BI непосредственно в окно Получить данные>Пустой запрос. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/WorkItemBoardSnapshot?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}' "
            &"and BoardName eq 'Stories'  "
            &"and DateValue ge {startdate} "
        &") "
        &"/groupby( "
            &"(DateValue,ColumnName,LaneName,State,WorkItemType,AssignedTo/UserName,Area/AreaPath),  "
            &"aggregate($count as Count) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Замещающие строки и разбивка запросов

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

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

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

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

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

Description


$apply=filter(

Начните filter() клаузу.

Team/TeamName eq '{teamname}'

Верните элементы для определенной команды.

and BoardName eq 'Stories'

Возвращайте элементы в беклог историй. Можно указать другие имена невыполненных работ, например Epics или Features. Укажите уровень невыполненной работы, соответствующий процессу, выбранному для проекта.

and DateValue ge {startdate}

Возвращайте данные по указанной дате или после нее, например 2022-04-01Z , представляет 2022-апрель-01 2019-июль-01.

)

Закрыть filter() пункт.

/groupby(

Начните groupby() клаузу.

(DateValue, ColumnName, LaneName, State, WorkItemType,AssignedTo/UserName,Area/AreaPath),

Группируйте по DateValue (используется для определения трендов), ColumnName, и любым другим свойствам, о которых вы хотите сообщить. Здесь мы включаем LaneName, чтобы обеспечить возможность фильтрации по плавающим дорожкам.

aggregate($count as Count)

Агрегация как подсчёт рабочих элементов.

)

Закрыть groupby() пункт.

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

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

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

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

В Редактор Power Query выберите запрос с данными, которые необходимо преобразовать. Для диаграммы CFD необходимо развернуть столбцы Area, Iteration и AssignedTo. Чтобы узнать, как это сделать, ознакомьтесь со следующими разделами в "Преобразование данных для аналитики", создание отчетов Power BI и расширение столбцов.

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

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

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

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

Снимок экрана: опция

Создать областную диаграмму

В следующем примере запрос был переименован в CFD, но столбцы не были переименованы.

  1. В Power BI выберите диаграмму с областями с накоплением в разделе Визуализации.

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

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

  3. Добавьте Count в Значения.

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

  5. В области "Фильтры" разверните ColumnNameи выберите только значения, которые вы хотите отображать на диаграмме. Например, вы можете отменить выбор нового, предлагаемого, готового или закрытого.

    Снимок экрана: фильтры Power BI для ColumnName.

В примере отчета отображаются столбцы в алфавитном порядке. Однако предпочтительный порядок заключается в сортировке данных в соответствии с порядком столбца или прогрессивным порядком.

Снимок экрана накопительной диаграммы с областями в Power BI, отчет, столбцы которого отсортированы в алфавитном порядке.

Сортировка столбцов в прогрессивном порядке

Чтобы отсортировать столбцы диаграммы в порядке, определенном на доске, сделайте следующее:

  1. Создайте новый запрос в Power BI на следующие запросы. По завершении переименуйте запрос в ColumnOrder.

Скопируйте и вставьте следующий запрос Power BI непосредственно в окно Получить данные>Пустой запрос. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/BoardLocations?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}'  "
            &"and BoardName eq 'Stories'  "
            &"and IsCurrent eq true "
        &") "
        &"/groupby ((ColumnName,ColumnOrder)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Отсортируйте отчет в правильном порядке

  1. В Power BI разверните запрос ColumnOrder и выберите ColumnName.

  2. Выберите "Инструменты столбцов", а затем "Сортировка по столбцам" и выберите команду ColumnOrder. Снимок экрана: инструменты столбцов Power BI, сортировка по столбцу.

  3. Выберите меню "Моделирование", а затем Управление связями. Убедитесь, что существует связь между CFD.ColumnName и ColumnOrder.ColumnName. Скорее всего, связь была автоматически обнаружена.

    Диалоговое окно для управления связями, показывающее связь между CFD.ColumnName и ColumnOrder.ColumnName.

  4. В отчете, созданном выше, в разделе «Условные обозначения», замените на CFD.ColumnName, чтобы обновить «Легенду».

    Отчет обновляется со столбцами, отсортированными в том же порядке, что и на доске.

    Снимок экрана отчета Power BI с областями накопительного потока, столбцы отсортированы в порядке столбцов доски.

Примечание.

Если все рабочие элементы были в столбце, который с тех пор был удален, они будут отображаться как "Пустые" в приведенном выше отчете.