Структура набора данных для представлений Analytics

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

Каждое представление Аналитики определяет набор данных в Power BI. Наборы данных — это таблицы и свойства, используемые для создания визуализаций. Наборы данных, создаваемые соединителем данных Power BI для Azure DevOps , имеют следующие характеристики.

  • Сущности и связанные поля, доступные в аналитике, объединяются в плоскую (денормализованную) в одну таблицу. Например, имя пользователя в "Created By" смоделировано как строка (имя пользователя), а не как идентификатор пользователя. Это избавляет от необходимости создавать связи между таблицами для создания отчетов.
  • Исторические данные моделироваются как моментальные снимки для каждого периода времени, поэтому отчеты о тенденциях просты.

Дополнительные сведения о Power BI и наборах данных см. в статье Power BI — основные понятия для служба Power BI.

Сведение конечной точки OData аналитики

Конечная точка OData аналитики предоставляет нормализованное представление данных аналитики. Данные нормализуются главным образом для поддержки отчетов о связях "многие ко многим", которые существуют между данными, например рабочими элементами и связанными тегами.

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

Этот процесс значительно упрощает процесс подготовки отчетов к работе. Однако не все поля, доступные в конечной точке OData аналитики, доступны для выбора в представлении Аналитика.

Доступные для выбора поля в представлениях аналитики

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

Поля отслеживания работы

В представлении Аналитика можно выбрать все поля отслеживания работы, за исключением следующих полей:

  • Поля, которые не являются частью проекта , в котором было создано представление
  • Длинные текстовые поля, такие как Описание, Журнал и другие поля с типом данных HTML
  • Поля счетчика ссылок на рабочие элементы, такие как ExternalLinkCount, HyperLinkCount, AttachedFileCount, RelatedLinkCount
  • Определенные поля REST API, такие как watermark, IsDeleted
  • Поля со связями "многие ко многим ", такие как "Команда", "Столбец доски", "Имя доски"

Важно!

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

Описание полей отслеживания каждого рабочего элемента см. в справочнике по сущностям и свойствам для Azure Boards.

Поля хранилища данных аналитики

В представлении Аналитика можно выбрать следующие поля на основе аналитики:

Поле Описание
Время цикла Время перехода рабочего элемента из категории состояния "Выполняется" на "Завершено".
Дата (автоматически включается в журнал) Поддерживает просмотр ежедневного, еженедельного или ежемесячного журнала отфильтрованного набора рабочих элементов.
Является текущим (автоматически включается в журнал) Поддерживает фильтрацию данных для просмотра последних snapshot отфильтрованного набора рабочих элементов путем установки значения True.
Время упреждения Время перехода рабочего элемента из категории состояния "Предложенный" на "Завершено".
Идентификатор родительского рабочего элемента Идентификатор рабочего элемента для родительского элемента.
Имя проекта Эквивалент поля проекта.
Редакция Номер, присвоенный редакции рабочего элемента.
Теги Список тегов, разделенный точкой с запятой.
WorkItemRevisionSK Уникальный ключ Аналитики для редакции рабочего элемента, используемый для объединения связанных сущностей.

Сведения о категориях состояний см. в разделе Состояния рабочего процесса и категории состояний. Дополнительные сведения о модели данных аналитики см. в статье Модель данных для аналитики.

Чтобы получить доступ к другим полям, доступным через аналитику, добавьте соответствующие суррогатные ключи (SK) или идентификатор рабочего элемента в представление Аналитика. Затем создайте необходимые таблицы сопоставления на основе свойства навигации Analytics.

  • Итераций (IterationSK)
  • Области (AreaSK)
  • Teams (AreaSK — создание таблицы сопоставления на основе навигационного свойства Teams )
  • BoardLocations (AreaSK — создание таблицы сопоставления на основе навигационного свойства BoardLocations )
  • Даты (DateSK)
  • Process (AreaSK — создание таблицы сопоставления на основе свойства навигации процесса )
  • WorkItemLinks (идентификатор рабочего элемента)

Связи данных

Понимание модели данных аналитики имеет решающее значение для построения хороших отношений между сущностями.

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

Связи сущностей

Теги, Teams и Пользователи не связаны ни с какими другими данными. Это связано с тем, как связаны эти сущности. Они могут быть связаны несколькими способами:

  • Связи "многие ко многим", которые не легко обрабатываются в этих моделях
  • Существует несколько связей между сущностями, например между пользователями и рабочими элементами. Они связаны следующими вопросами:
    • Кому назначено
    • Автор
    • Изменил
    • И многое другое

Вы можете обрабатывать несколько связей довольно просто. Например, в модели по умолчанию можно изменить запрос, выбрать столбец AssignedTo таблицы WorkItems и развернуть столбец, включив все данные из таблицы Пользователи , и вы можете повторить этот процесс для столбцов Created By и Changed By. Вы сможете использовать несколько ссылок из одной таблицы в другую, что запрещено.

Другой причиной для такого расширения столбцов является обработка циклических связей, которые также запрещены. Например, рассмотрим следующий путь: Проекты > Области > Рабочие элементы > Проекты. Она представляет собой типичную круглую проблему. Что делать, если вы хотите увидеть, какие а именно были частью данного проекта? Модель в ее сборке имеет связи между областями и рабочими элементами и проектами и рабочими элементами, но проекты не могут быть связаны с областями, так как это завершает циклическую связь и поэтому не допускается. Для обработки этого сценария можно развернуть столбец Project в таблице Области. Для этого сделайте следующее:

  1. Выберите Изменить запросы на вкладке Главная.

  2. Выберите запрос Области.

  3. Прокрутите страницу до столбца Проект (последний столбец) и щелкните значок Развернуть в верхней части столбца.

    Запрос областей, столбец проекта

  4. Снимите флажки для всех столбцов, кроме ProjectName, и нажмите кнопку ОК.

    Развернуть параметры проекта

Теперь можно перечислить области по проекту и получить количество областей в каждом проекте.