Analytics 보기 데이터 세트 디자인
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
각 분석 뷰는 Power BI에서 데이터 세트를 정의합니다. 데이터 세트는 시각화를 만드는 데 사용되는 테이블 및 속성입니다. Azure DevOps용 Power BI Data Connector에서 생성된 데이터 세트에는 다음과 같은 특징이 있습니다.
- 분석에서 사용할 수 있는 엔터티 및 관련 필드는 단일 테이블로 평면화(비정규화)됩니다. 예를 들어 "만든 사람"의 사용자 이름은 사용자 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 필드
- 다 대 다 관계가 있는 필드(예: 팀, 보드 열, 보드 이름)
Important
ID 또는 사람 이름 필드(예: 만든 사람, 할당 대상 등)는 선택할 수 있는 필드입니다. 그러나 현재는 작업 항목을 필터링하기 위한 필드 조건으로 이러한 필드를 선택할 수 없습니다.
각 작업 항목 추적 필드에 대한 설명은 Azure Boards에 대한 엔터티 및 속성 참조를 참조 하세요.
분석 데이터 저장소 필드
분석 보기에서 다음 분석 기반 필드를 선택할 수 있습니다.
필드 | 설명 |
---|---|
주기 시간 | 작업 항목이 "진행 중" 상태 범주에서 "완료됨"으로 이동할 시간입니다. |
날짜(기록에 자동으로 포함됨) | 필터링된 작업 항목 집합의 일별, 주별 또는 월별 기록 보기를 지원합니다. |
현재(기록에 자동으로 포함됨) | 값을 으로 설정하여 필터링된 작업 항목 집합의 최신 스냅샷을 볼 수 있도록 데이터 필터링을 True 지원합니다. |
리드 타임 | 작업 항목이 "제안됨"의 상태 범주에서 "완료됨"으로 이동하는 시간입니다. |
부모 작업 항목 ID | 작업 항목의 부모에 대한 작업 항목 ID입니다. |
프로젝트 이름 | 프로젝트 필드에 해당합니다. |
Revision | 작업 항목의 기록 수정 버전에 할당된 숫자입니다. |
태그 | 세미콜론으로 구분된 태그 목록입니다. |
WorkItemRevisionSK | 관련 엔터티를 조인하는 데 사용되는 작업 항목 수정에 대한 분석 고유 키입니다. |
상태 범주에 대한 자세한 내용은 워크플로 상태 및 상태 범주를 참조 하세요. 분석 데이터 모델에 대한 자세한 내용은 분석용 데이터 모델을 참조 하세요.
분석을 통해 사용할 수 있는 다른 필드에 액세스하려면 분석 보기에 해당 SK(서로게이트 키) 또는 작업 항목 ID를 포함합니다. 그런 다음 Analytics 탐색 속성에 따라 필요한 매핑 테이블을 만듭니다.
- 반복(IterationSK)
- 영역(AreaSK)
- Teams(AreaSK - Teams 탐색 속성에 따라 매핑 테이블 생성)
- BoardLocations(AreaSK - BoardLocations 탐색 속성에 따라 매핑 테이블 생성)
- 날짜(DateSK)
- 프로세스(AreaSK - 프로세스 탐색 속성을 기반으로 매핑 테이블 생성)
- WorkItemLinks(작업 항목 ID)
데이터 관계
분석 데이터 모델을 이해하는 것은 엔터티 간에 좋은 관계를 구축하는 데 중요합니다.
기본적으로 분석에서 기본 데이터가 반환되면 아래 그림과 같이 데이터가 관련됩니다.
태그, Teams 및 사용자는 다른 데이터와 관련이 없습니다. 이러한 엔터티가 관련되는 방식과 관련이 있습니다. 다음과 같은 몇 가지 방법으로 관련될 수 있습니다.
- 이러한 모델에서 쉽게 처리되지 않는 다대다 관계
- 엔터티 간에는 사용자와 작업 항목 간에 여러 관계가 있습니다. 관련 항목은 다음과 같습니다.
- 할당 대상
- 만든 사람
- 변경한 사람
- 등
여러 관계를 상당히 간단하게 처리할 수 있습니다. 예를 들어 기본 모델에서 쿼리를 편집하고 WorkItems 테이블의 AssignedTo 열을 선택하고 열을 확장하여 사용자 테이블의 모든 데이터를 포함할 수 있습니다. 그러면 만든 사람 및 변경된 사람 열에 대해서도 이 프로세스를 반복할 수 있습니다. 한 테이블에서 다른 테이블로의 링크가 여러 개 있어 허용되지 않습니다.
이러한 방식으로 열을 확장하는 또 다른 이유는 허용되지 않는 순환 관계를 처리하는 것입니다. 예를 들어 프로젝트 영역 > 작업 항목 > 프로젝트 > 경로를 사용합니다. 일반적인 순환 문제를 제공합니다. 지정된 프로젝트의 일부인 항목을 확인하려면 어떻게 해야 할까요? 빌드되는 모델은 영역과 작업 항목, 프로젝트 및 작업 항목 간에 관계가 있지만 순환 관계를 완료하므로 프로젝트가 영역과 관련될 수 없으므로 허용되지 않습니다. 이 시나리오를 처리하려면 Areas 테이블에서 Project 열을 확장할 수 있습니다. 이렇게 하려면 다음 단계를 수행합니다.
홈 탭에서 쿼리 편집을 선택합니다.
영역 쿼리를 선택합니다.
프로젝트 열(마지막 열)로 스크롤하고 열 맨 위에 있는 확장 아이콘을 선택합니다.
ProjectName을 제외한 모든 열의 선택을 취소하고 확인을 선택합니다.
이제 프로젝트별로 영역을 나열하고 각 프로젝트에서 영역 수를 가져올 수 있습니다.