Analytics 보기 데이터 세트 디자인

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

각 분석 뷰는 Power BI에서 데이터 세트를 정의합니다. 데이터 세트는 시각화를 만드는 데 사용되는 테이블 및 속성입니다. Azure DevOps용 Power BI Data Connector에서 생성된 데이터 세트에는 다음과 같은 특성이 있습니다.

  • 분석에서 사용할 수 있는 엔터티 및 관련 필드는 단일 테이블로 평면화(비정규화)됩니다. 예를 들어 "Created By"의 사용자 이름은 사용자 ID가 아닌 문자열(사용자 이름)으로 모델링됩니다. 따라서 보고서를 만들기 위해 테이블 간에 관계를 만들 필요가 없습니다.
  • 기록 데이터는 각 기간에 대한 스냅샷으로 모델링되므로 추세 보고는 간단합니다.

Power BI 및 데이터 세트에 대한 자세한 내용은 Power BI - Power BI 서비스 기본 개념을 참조하세요.

Analytics OData 엔드포인트 평면화

Analytics OData 엔드포인트는 Analytics 데이터의 정규화된 표현을 제공합니다. 데이터는 주로 작업 항목 및 관련 태그와 같이 데이터 사이에 존재하는 "다대다" 관계에 대한 보고를 지원하도록 정규화됩니다.

Power BI 데이터 커넥터는 분석 데이터 모델에 표시된 관계를 Power BI에서 다시 만들 필요가 없도록 이 데이터를 단일 테이블 로 나타냅니다. 이 표현을 사용하면 작업 항목 태그와 같은 복잡한 필드를 즉시 필터링할 수 있습니다.

이 프로세스는 보고서를 시작하고 실행하는 것을 크게 간소화합니다. 그러나 분석 OData 엔드포인트를 통해 사용할 수 있는 모든 필드를 분석 보기에서 선택할 수 있는 것은 아닙니다.

분석 보기에서 선택 가능한 필드

분석 보기에서 선택할 수 있는 필드는 일반 작업 추적 필드 및 Analytics 데이터 저장소 필드에 해당합니다.

작업 추적 필드

다음 필드를 제외하고 분석 보기에서 모든 작업 추적 필드를 선택할 수 있습니다.

  • 뷰가 만들어진 프로젝트의 일부가 아닌 필드
  • HTML 데이터 형식의 설명, 기록 및 기타 필드와 같은 긴 텍스트 필드
  • ExternalLinkCount, HyperLinkCount, AttachedFileCount, RelatedLinkCount와 같은 작업 항목 링크 수 필드
  • 워터마크, IsDeleted와 같은 특정 REST API 필드
  • 팀, 보드 열, 보드 이름과 같은 다대다 관계가 있는 필드

중요

만든 사람, 할당 대상 등과 같은 ID 또는 개인 이름 필드는 선택할 수 있는 필드입니다. 그러나 현재 작업 항목을 필터링하기 위한 필드 조건으로 이러한 필드를 선택할 수는 없습니다.

각 작업 항목 추적 필드에 대한 설명은 Azure Boards 대한 엔터티 및 속성 참조를 참조하세요.

분석 데이터 저장소 필드

분석 보기에서 다음 분석 기반 필드를 선택할 수 있습니다.

필드 Description
주기 시간 작업 항목이 "진행 중" 상태 범주에서 "완료됨"으로 이동할 시간입니다.
날짜(기록에 자동으로 포함됨) 필터링된 작업 항목 집합의 일별, 매주 또는 월별 기록을 볼 수 있습니다.
현재(기록에 자동으로 포함됨) 값을 True로 설정하여 필터링된 작업 항목 집합의 최신 스냅샷 보려면 데이터 필터링을 지원합니다.
소요 시간 작업 항목이 상태 범주 "제안됨"에서 "완료됨"으로 이동하는 시간입니다.
부모 작업 항목 ID 작업 항목의 부모에 대한 작업 항목 ID입니다.
프로젝트 이름 프로젝트 필드에 해당합니다.
수정 버전 작업 항목 기록 수정에 할당되는 번호입니다.
태그 세미콜론으로 구분된 태그 목록입니다.
WorkItemRevisionSK 관련 엔터티를 조인하는 데 사용되는 작업 항목 수정 버전에 대한 분석 고유 키입니다.

상태 범주에 대한 자세한 내용은 워크플로 상태 및 상태 범주를 참조하세요. 분석 데이터 모델에 대한 자세한 내용은 분석용 데이터 모델을 참조하세요.

분석을 통해 사용할 수 있는 다른 필드에 액세스하려면 분석 보기에 해당 SK(서로게이트 키) 또는 작업 항목 ID를 포함합니다. 그런 다음, Analytics 탐색 속성을 기반으로 필요한 매핑 테이블을 만듭니다.

  • 반복(IterationSK)
  • 영역(AreaSK)
  • Teams(AreaSK - Teams 탐색 속성을 기반으로 매핑 테이블 생성)
  • BoardLocations(AreaSK - BoardLocations 탐색 속성을 기반으로 매핑 테이블 생성)
  • 날짜(DateSK)
  • 프로세스(AreaSK - 프로세스 탐색 속성을 기반으로 매핑 테이블 생성)
  • WorkItemLinks(작업 항목 ID)

데이터 관계

분석 데이터 모델을 이해하는 것은 엔터티 간에 좋은 관계를 구축하는 데 중요합니다.

기본적으로 기본 데이터가 Analytics에서 반환되면 아래 그림과 같이 데이터가 관련됩니다.

엔터티 관계

태그, Teams사용자는 다른 데이터와 관련이 없습니다. 이러한 엔터티가 어떻게 관련되어 있는지와 관련이 있습니다. 다음과 같은 몇 가지 방법으로 관련될 수 있습니다.

  • 이러한 모델에서 쉽게 처리되지 않는 다대다 관계
  • 엔터티 간에는 사용자와 작업 항목 간에 여러 관계가 있습니다. 관련 항목은 다음과 같습니다.
    • 할당 대상
    • 만든 사람
    • 변경한 사람
    • 기타

여러 관계를 상당히 간단하게 처리할 수 있습니다. 예를 들어 기본 모델에서 쿼리를 편집하고 WorkItems 테이블의 AssignedTo 열을 선택하고 열을 확장하여 사용자 테이블의 모든 데이터를 포함할 수 있습니다. 그러면 만든 기준 및 변경된 기준 열에 대해서도 이 프로세스를 반복할 수 있습니다. 한 테이블에서 다른 테이블로의 링크가 여러 개 있어 허용되지 않습니다.

이러한 방식으로 열을 확장하는 또 다른 이유는 허용되지 않는 순환 관계를 처리하기 위해서입니다. 예를 들어 프로젝트 영역 > 작업 항목 > 프로젝트 > 경로를 사용합니다. 일반적인 순환 문제를 제공합니다. 지정된 프로젝트의 일부인 항목을 확인하려면 어떻게 해야 할까요? 빌드되는 모델은 영역과 작업 항목, 프로젝트 및 작업 항목 간에 관계가 있지만 순환 관계를 완료하므로 프로젝트가 영역과 관련될 수 없으므로 허용되지 않습니다. 이 시나리오를 처리하려면 영역 테이블에서 프로젝트 열을 확장할 수 있습니다. 이렇게 하려면 다음 단계를 수행합니다.

  1. 홈 탭에서 쿼리 편집을 선택합니다.

  2. 영역 쿼리를 선택합니다.

  3. 프로젝트 열(마지막 열)으로 스크롤하고 열 맨 위에 있는 확장 아이콘을 선택합니다.

    영역 쿼리, 프로젝트 열

  4. ProjectName을 제외한 모든 열의 선택을 취소하고 확인을 선택합니다.

    프로젝트 옵션 확장

이제 프로젝트별 영역을 나열하고 각 프로젝트에서 영역 수를 가져올 수 있습니다.