Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
В этой статье показано, как отобразить Stories CFD для указанной команды. Эти данные также доступны через встроенный виджет диаграмм и панели мониторинга. Дополнительные сведения об этих параметрах см. в разделе "Просмотр и настройка накопительной схемы потока".
Пример показан на следующем рисунке, где показано количество пользовательских историй с течением времени в состояниях "Исследование", "Зафиксировано", "Выполняется" и "Просмотр". Наведите указатель мыши на дату, чтобы получить сведения о данных для этой даты.
Дополнительные сведения о накопительном потоке см. в руководстве "Накопительный поток", "Время выполнения" и "Время цикла" и "Накопительный поток", "Время выполнения" и "Время цикла".
Примечание.
В этой статье предполагается, что вы прочитали Обзор примеров отчетов с использованием запросов 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 Query
В Редактор Power Query выберите запрос с данными, которые необходимо преобразовать. Для диаграммы CFD необходимо развернуть столбцы Area
, Iteration
и AssignedTo
. Чтобы узнать, как это сделать, ознакомьтесь со следующими разделами в "Преобразование данных для аналитики", создание отчетов Power BI и расширение столбцов.
(Необязательно) Переименование полей
После расширения столбцов может потребоваться переименовать одно или несколько полей. Например, вы можете переименовать столбец AreaPath
в Area Path
. Сведения о том, как это сделать, см. в разделе "Переименовать поля столбцов".
Закройте запрос и примените изменения
Завершив все преобразования данных, нажмите кнопку "Закрыть" и "Применить " из меню "Главная ", чтобы сохранить запрос и вернуться на вкладку "Отчет " в Power BI.
Создать областную диаграмму
В следующем примере запрос был переименован в CFD, но столбцы не были переименованы.
В Power BI выберите диаграмму с областями с накоплением в разделе Визуализации.
Добавьте
DateValue
к Оси, затем щелкните правой кнопкой мыши наDateValue
и выберитеDateValue
, вместоDate Hierarchy
.Добавьте
Count
в Значения.Добавьте
ColumnName
в условные обозначения.В области "Фильтры" разверните
ColumnName
и выберите только значения, которые вы хотите отображать на диаграмме. Например, вы можете отменить выбор нового, предлагаемого, готового или закрытого.
В примере отчета отображаются столбцы в алфавитном порядке. Однако предпочтительный порядок заключается в сортировке данных в соответствии с порядком столбца или прогрессивным порядком.
Сортировка столбцов в прогрессивном порядке
Чтобы отсортировать столбцы диаграммы в порядке, определенном на доске, сделайте следующее:
- Создайте новый запрос в 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
Отсортируйте отчет в правильном порядке
В Power BI разверните запрос ColumnOrder и выберите
ColumnName
.Выберите "Инструменты столбцов", а затем "Сортировка по столбцам" и выберите команду
ColumnOrder
.Выберите меню "Моделирование", а затем Управление связями. Убедитесь, что существует связь между
CFD.ColumnName
иColumnOrder.ColumnName
. Скорее всего, связь была автоматически обнаружена.В отчете, созданном выше, в разделе «Условные обозначения», замените на
CFD.ColumnName
, чтобы обновить «Легенду».Отчет обновляется со столбцами, отсортированными в том же порядке, что и на доске.
Примечание.
Если все рабочие элементы были в столбце, который с тех пор был удален, они будут отображаться как "Пустые" в приведенном выше отчете.