DAX Studio의 VertiPaq 분석기 | 파워 BI 튜토리얼

DAX Studio의 VertiPaq 분석기 | 파워 BI 튜토리얼

이 자습서에서는 DAX Studio 의 VertiPaq Analyzer Metrics 와 DAX 코드를 최적화하는 데 어떻게 도움이 되는지 보여줍니다. 각 지표가 코드의 성능을 개선하는 데 어떻게 도움이 되는지 이해할 수 있도록 모든 지표에 대해 설명합니다.

이것은 VertiPaq 분석기 지표입니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

목차

VertiPaq 분석기의 테이블 탭

첫 번째 메트릭은 테이블 탭 또는 전체 테이블 보기입니다. 이 탭에서 카디널리티  열을 볼 수 있습니다. 테이블에서 고유한 값의 수를 나타냅니다. 데이터 모델 및 DAX 쿼리 에서 가장 중요한 열입니다 .

DimCustomer 테이블을 보면 20개의 고유한 값이 있습니다. 이는 반복되지 않는 값을 가진 20명의 개별 고객이 있음을 의미합니다.

샘플 DAX 쿼리입니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

함수를 사용하여  다양한 테이블의 행 수를 계산합니다. 행 수는 테이블에서 생성된 카디널리티에 해당합니다.

데이터 크기에 대한 열

Cardinality 뒤의 다음 열은 Table  입니다 . 테이블이 차지하는 메모리 양을 보여줍니다. 데이터 크기가 클수록 더 많은 주의가 필요합니다. Col Size 열은 Data , DictionaryHierarchy Size 열의  합계입니다 .

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

Data , DictionaryHierarchy Size 열은 각각 압축된 데이터, 사전 인코딩 열 및 자동 생성 계층 열의 총 크기를 표시합니다 .

 다음은 사용된 인코딩 유형을 보여주는 인코딩 열 입니다 .  모든 테이블에서  및 해시  인코딩이 발생하므로 결과가 "다수"로 표시됩니다.

참조 무결성 위반은 RI 위반 열에 도 표시됩니다 . Fact 테이블 에는 값이 있지만 Dimension 테이블 에는 없는 경우 위반이 발생합니다 .

사용자 계층 크기  열에는 사용자 정의 계층의 크기가 표시됩니다. 일대다 설정의 다측을 기반으로 하는 관계의 크기도 관계 크기 열에 표시됩니다.

다음으로 %DB 열이 있습니다 . 이 열은 모든 테이블의 총 크기에 대한 백분율로 테이블이 차지하는 양을 보여줍니다.

예제에서 DimCustomer 테이블이 전체 테이블 크기의 거의 66%를 차지하는 것을 볼 수 있습니다. 팩트 테이블 에 대한 데이터베이스의 비율은 차원 테이블  보다 커야 합니다  .

백분율은 다음과 같습니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

이 예제에는 데이터가 많지 않기 때문에 Segments  및 Partitions  열을 사용할 수 없습니다. 더 큰 테이블에만 적용할 수 있습니다.

탭의 마지막 열은 이라고 합니다 . 단순히 테이블에 있는 열 수를 보여줍니다. 데이터 유형% 테이블 열은 전체 테이블 보기에 적용할 수 없습니다.

FactSales 테이블 내부

전체 FactSales 데이터 테이블입니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

테이블의 각 열에는 자체 정보가 있습니다. 예를 들어 전체 테이블 수준에는 카디널리티 , 열 크기 등과 같은 다���한 열이 있습니다.

예제에서 SalesKey의 카디널리티가 테이블 의 카디널리티와 같다는 것을 알 수 있습니다. SalesKey는 반복되는 값이 없고 고유한 값이기 때문입니다  .

크기 열은 테이블 수준만큼 중요합니다. Data , DictionaryHierarchy Size 열의 합계를 보여줍니다 .

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

또한 사용된 인코딩 방법이 고유한 값 목록을 생성하는 Hash Encoding 임을 알 수 있습니다.

Quantity 행을 보면 데이터 유형이 정수인 경우에도 Hash Encoding 방식 을 사용하는 것을 볼 수 있습니다 .

그 이유는 SQL Server Analysis Services가 최상의 압축 방법을 결정하는 방법을 설정했기 때문입니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

% 테이블 열은 전체 테이블 크기의 백분율로 열을 표시합니다. 이 예에서 SalesKey는 테이블의 가장 큰 크기를 가집니다. 이는 카디널리티와 열 크기가 가장 높기 때문에 의미가 있습니다.

마찬가지로, % 데이터베이스  열은 전체 데이터베이스의 백분율로 테이블 또는 테이블의 열 중 하나의 백분율을 표시합니다.

FactSales 테이블이 전체 데이터 모델 크기의 46.8%임을 알 수 있습니다 . FactSales 테이블 내의 SalesKey 열은 전체 데이터베이스 크기의 15%를 차지합니다 .

이 예에는 적은 양의 데이터만 포함되어 있으므로 하나의 세그먼트와 파티션만 있습니다. 열도 마찬가지입니다 . 열 수는 열 보기에서 항상 하나입니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

VertiPaq 분석기의 열 탭

열 탭 에는  데이터를 보기에 더 쉬운 형식이 있습니다. 테이블 탭 보다 더 자세한 정보를 제공합니다 .

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

테이블 탭 과 유사한 열이 있음을 알 수 있습니다  .

열 탭 에서는 모든 열을 정렬할 수 있습니다. 이 예에서는 작은 삼각형으로 표시되는 카디널리티를 기준으로 정렬됩니다. 행 열에  테이블에 있는 행 수가 표시됩니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

FactSales-SalesKey에  15,000개의 행과 카디널리티가 있음 을 알 수 있습니다 . 모든 기본 키에는 해당 카디널리티와 동일한 행이 있습니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

행 수가 카디널리티 수와 같지 않으면 테이블에 반복 값이 있습니다.

FactSales-CustomerKey 를 보면 카디널리티가 801이고 열 크기가 거의 110만이라는 것을 알 수 있습니다.

이는 최적화 및 압축이 필요함을 의미합니다. 최적화하려면 LuckyTemplates 파일로 이동하여 DimCustomer  테이블을 엽니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

CustomerKey 열 데이터의 문자열 유형입니다. 값이 C로 시작하고 그 뒤에 숫자가 오는 것을 볼 수 있습니다. 열 내부의 값을 변경하려면 값 바꾸기를 클릭합니다 .

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

값 C를 찾아 공백으로 변경합니다. 그런 다음 데이터 유형을 정수로 변경합니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

팩트 테이블  의 CustomerKey 열에 대해 동일한 작업을 수행합니다  . 적용을 클릭하고 DAX Studio로 돌아갑니다. 그런 다음 메트릭 보기를 클릭하여 DAX를 다시 로드한 다음 카디널리티별로 정렬합니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

열 크기는 이제 110만에서 46,372로 줄었습니다. 테이블 보기를 보면 열 크기도 46,372로 떨어진 것을 볼 수 있습니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

열 크기가 거의 110만인 SalesPersonKey에 대해 동일한 작업을 수행하면 5,540으로 줄일 수 있습니다.

DAX Studio의 VertiPaq 분석기 |  파워 BI 튜토리얼

문자열 또는 텍스트 유형 값을 정수 유형으로 변경하면 DAX를 최적화하여 성능을 향상시킬 수 있습니다.


이 새로운 과정으로 DAX 기능 최적화
데이터 최적화를 위한 간단한 LuckyTemplates 변환
고급 DAX를 사용하여 LuckyTemplates 수식 최적화

결론

DAX 최적화는 VertiPaq 분석기의 도움으로 DAX Studio에서 시작됩니다. 분석기 메트릭에서 테이블과 열이 작동하는 방식을 확인하고 더 최적화하고 개선해야 하는 엔터티를 결정합니다.

코드의 어느 부분이 코드의 성능을 저하시키는지 알아보려면 VertiPaq Analyzer를 사용하십시오. 확실히 DAX가 더 좋아질 것입니다.

니클라이트


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것