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


Создание отчета Power BI, отфильтрованного командой с помощью пользовательского представления Аналитики

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

Представления аналитики поддерживают условия поля для фильтрации рабочих элементов на основе команд. Однако для фильтрации отчета Power BI нет поля для конкретной команды. Хотя каждый рабочий элемент связан с определенным путем к области, пути к областям могут быть связаны с несколькими командами. Из-за этой связи "один ко многим" аналитика не предоставляет поле для конкретной команды.

Однако вы по-прежнему можете отфильтровать команду, выполнив действия, описанные в этой статье. Общий процесс представляет таблицу сопоставления между представлением Аналитики и сущностью teams.

Примечание.

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

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

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

Добавление поля AreaSK в представление Аналитики

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

  1. Измените представление аналитики.
  2. На вкладке "Поле " добавьте поле AreaSK .
  3. Сохраните обновленное представление.
  4. Загрузите PBIX-файл Power BI, связанный с представлением Аналитики в Power BI Desktop.
  5. Обновите представление и убедитесь, что поле AreaSK отображается должным образом.

Добавление таблиц для команд

Следующим шагом является добавление сущности Teams в модель данных Power BI и создание необходимой таблицы сопоставления для создания связей в Power BI. Для этого процесса требуется добавить три запроса через Редактор Power Query.

  1. Загрузите PBIX-файл Power BI, связанный с представлением в Power BI Desktop.

  2. Выберите " Получить данные".

  3. Выберите параметр "Пустой запрос ".

    Пустой запрос

  4. Откройте Расширенный редактор.

    Расширенный редактор

  5. Добавьте следующий код запроса, заменив сведения о организации и именах команд, чтобы соответствовать представлению Аналитики.

    let
        #"Get table" = VSTS.Feed("https://analytics.dev.azure.com/{OrganizationName}/_odata/v2.0/Teams?$select=TeamName,TeamSK&$filter=TeamName eq '{TeamName1}' or TeamName eq '{TeamName2}"),
        #"Select columns" = Table.SelectColumns(#"Get table", {"TeamName", "TeamSK"})
    in
        #"Select columns"
    
  6. Переименуйте запрос в Teams.

    Изменение имени запроса на Teams

  7. На вкладке "Главная" выберите "Создать источник" , чтобы добавить еще один пустой запрос и переименовать его в области.

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

    let
        #"Get table" = VSTS.Feed("https://analytics.dev.azure.com/{OrganizationName}/_odata/v2.0/Areas?$select=AreaName,AreaSK"),
        #"Select columns" = Table.SelectColumns(#"Get table", {"AreaName", "AreaSK"})
    in
        #"Select columns"
    
  9. На вкладке "Главная" выберите "Создать источник" , чтобы добавить еще один пустой запрос и переименовать его в AreaToTeam.

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

    let
        #"Get table" = VSTS.Feed("https://analytics.dev.azure.com/{OrganizationName}/_odata/v2.0/Areas?$select=AreaSK&$expand=Teams($select=TeamSK)"),
        #"Select columns" = Table.SelectColumns(#"Get table", {"AreaSK", "Teams"}),
        #"Expand Teams" = Table.ExpandTableColumn(#"Select columns", "Teams", {"TeamSK"}, {"TeamSK"})
    in
        #"Expand Teams"
    

    Внимание

    Процесс добавления трех запросов будет работать только для путей области, которые сопоставляют с 1000 командами или меньше.

  11. На вкладке "Главная" нажмите кнопку "Закрыть" и " Применить".

    Power BI Desktop, главная, закрыть и применить

  12. Затем нажмите кнопку "Обновить" , чтобы добавить AreaSK в представление.

Создание сопоставлений связей Power BI

Последним шагом является создание необходимых связей в Power BI.

  1. Откройте представление "Связи".

    Открытие представления

  2. На вкладке "Главная" откройте Управление связями.

    Power BI Desktop, home, Управление связями

  3. В диалоговом окне Управление связями:
    a. Удалите все связи, которые могли быть обнаружены автоматически.
    b. Выберите "Создать", чтобы создать двунаправленное отношение "Многие к одному" между представлением и областью. Дополнительные сведения см. в разделе Двунаправленная перекрестная фильтрация с помощью DirectQuery в Power BI Desktop.

    Power BI Desktop, диалоговое окно Управление связями, просмотр области

  4. Создайте двунаправленное отношение "Один ко многим " между областями и AreaToTeam.

    Power BI Desktop, домашняя, Управление связями, области и сопоставление AreaToTeam

  5. Создайте двунаправленное отношение "Многие к одному " между AreaToTeam и Teams.

    Power BI Desktop, home, Управление связями, AreaToTeam и Teams Mapping

  6. Вернитесь в представление отчета и откройте контекстное меню полей TeamName и TeamSK и выберите параметр "Скрыть ".

    Скрытие области

  7. Скрытие соответствующих SKS в таблицах представления и группы .

Фильтрация представления отчета в командах

Теперь, когда у вас есть сопоставления, можно отфильтровать представление отчета на основе Teams. Чтобы начать, сначала добавьте срез в отчет на основе имени группы (при необходимости удалите пустое).

Power BI Desktop, срез команды

Теперь можно отфильтровать все визуализации в отчете с помощью среза или других поддерживаемых функций фильтрации в Power BI.

Power BI Desktop, количество отфильтрованных командой