VertiPaq LuckyTemplates: 열이 인코딩되는 방식

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

이 자습서에서는 LuckyTemplates에서 VertiPaq을 사용하여 열을 인코딩하는 방법에 대해 알아봅니다 . 각 방법의 작동 방식과 DAX의 성능에 미치는 영향을 이해하게 됩니다.

각 방법에는 고유한 데이터 압축 스타일이 있어 보다 빠르고 원활한 트랜잭션을 제공할 수 있습니다.

목차

LuckyTemplates에서 VertiPaq을 사용한 값 인코딩

첫 번째 데이터 압축 유형은 값 인코딩 입니다 . 정수형 열에서 발생합니다.

다음은 원래 비용 열의 예입니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

내부에 값이 있음을 알 수 있습니다.

이제 VertiPaq이 이러한 데이터를 열에 그대로 저장하려면 12비트의 메모리가 필요합니다.

그러나 VertiPaq은  데이터를 저장하는 데 필요한 메모리 양을 최소화하는 방법을 찾습니다. 열의 최소값을 찾은 다음 각 값에서 3004를 빼서 해당 열을 인코딩합니다. 이렇게 하면 9비트의 메모리만 필요합니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

VertiPaq은 필요한 메모리를 줄여 코드를 더 빠르게 수행합니다.

사전 인코딩

다음 데이터 압축 방법은 비 정수 또는 텍스트 값 열에서 발생하는 사전 또는 해시 인코딩 입니다.

다음은 제품 이름이 반복되는 열의 예입니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

VertiPaq에는 정수가 아닌 열을 압축하는 데 도움이 되는 기능이 있습니다. 해당 열에 고유한 값 목록을 작성한 다음 여기에 숫자를 할당합니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

제품명에 해당하는 번호를 적용한 것을 확인할 수 있습니다.

다음으로 제품 이름의 값을 정수 값으로 바꿉니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

정수 값을 저장하려면 텍스트 값을 저장하는 것보다 적은 비트가 필요합니다.

이것은 DAX와 Storage Engine이 인코딩할 때 수행하는 작업입니다.

LuckyTemplates에서 VertiPaq을 사용한 실행 길이 인코딩

마지막 인코딩 유형은 Run Length Encoding 입니다 . 반복되는 값을 찾고 시작과 끝을 저장합니다.

다음은 영업 사원 ID 및  행이 포함된 샘플 테이블입니다  .

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

다음은 Run Length Encoding을 사용하여 인코딩된 테이블입니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

ID가 EMP1017인 영업 사원이 1행에서 363행으로 가는 것을 알고 있습니다.

행 시작, 행 끝이 있고 그 사이에 얼마나 많은 반복 값이 있는지도 표시됩니다. 따라서 EMP1017은 시작 위치와 종료 위치를 알고 있기 때문에 362번 저장할 필요가 없습니다.

인코딩된 열을 사용한 실행 길이 인코딩

VertiPaq의 또 다른 장점은 Value 또는 Dictionary Encoding으로 인코딩된 열에서 Run Length Encoding이 가능하다는 것입니다.

이것은 사전 인코딩을 사용하여 인코딩된 테이블입니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

NameID 열이 반복되는 것을 알 수 있습니다 . 이는 열과 함께 Run Length Encoding을 사용할 수 있음을 의미합니다.

이 경우 VertiPaq은 NameID, Row Start 및 Row End만 찾습니다.

VertiPaq LuckyTemplates: 열이 인코딩되는 방식

따라서 정수 값을 3번 저장하는 대신 이제 한 번 저장합니다.


LuckyTemplates에서 이 새로운 과정 측정으로 DAX 기능 최적화
: 최적화 팁 및 기술
LuckyTemplates 테이블을 최적화하기 위한 고급 팁

결론

VertiPaq Storage Engine 내부에는 DAX 코드 실행을 원활하게 만드는 3가지 데이터 압축 방법이 있습니다.

각 방법이 계산에서 작동하는 방식을 이해한 후에는 그 중 하나를 사용하고 최대화하여 코드의 성능을 개선하고 보고서에서 필요한 데이터를 쉽게 검색할 수 있습니다.


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

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

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

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 게이트웨이란? 당신이 알아야 할 모든 것