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

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

이 자습서에서는 DAX Studio의 데이터 캐시 구체화에 대해 설명합니다. 이 게시물은 쿼리로 결과를 생성하는 동안 계산에 어떤 영향을 미치는지 보여줍니다. DAX의 성능을 최대화하기 위해 어떤 구체화가 더 나은지 알아봅니다.

구체화에는 초기 구체화후기 구체화 라는 두 가지 아이디어가 있습니다 .

목차

조기 구체화

조기 구체화는 구체화된 행 수가 출력에 필요한 행 수보다 큰 경우입니다.

출력이 달력 연도별 테이블이고 5년의 데이터가 있는 경우 많은 구체화된 행을 가져올 필요가 없습니다. 모범 사례는 필요한 행 수와 동일한 구체화된 행 수를 갖는 것입니다. 그러나 DAX 및 데이터 설정 의 복잡성에 따라 달라지기 때문에 항상 그런 것은 아닙니다 .

데이터는 열로 구성되어 있음을 항상 기억하십시오. 따라서 수식 엔진이 테이블에서 작동해야 하는 경우 열이 구체화되는 테이블 형식으로 다시 결합됩니다. 초기 구체화 아이디어에서 스토리지 엔진은 데이터 캐시를 수식 엔진으로 보냅니다. 그런 다음 수식 엔진은 해당 캐시에서 작동하고 복잡한 프로세스를 수행합니다.

데이터 모델에 복잡한 조인 또는 다대다 관계가 있으면 조기 구체화가 발생할 수 있습니다. 복잡한 필터나 반복자가 있는 경우에도 발생할 수 있습니다.

복잡한 조치를 취하는 것이 잘못된 것은 아닙니다. 스토리지 엔진을 최대한 활용하려면 올바르게 설정하기만 하면 됩니다.

늦은 구체화

늦은 구체화는 구체화된 행 수가 출력에 필요한 행 수와 같거나 근접한 경우입니다.

스토리지 엔진은 거의 모든 작업을 수행하며 공식 엔진에는 아무것도 남지 않습니다. 이렇게 하면 전체 계산이 더 빨라집니다.

다음은 Early 및 Late Materialization의 예제 쿼리입니다.

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

이러한 쿼리를 실행하기 전에 캐시를 지워야 합니다. 이렇게 하면 쿼리가 콜드 캐시에 대해 실행됩니다. 캐시를 지우지 않고 DAX를 실행하면 다음과 같은 결과가 나타납니다.

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

총 실행 시간은 이미 캐시를 사용했기 때문에 1861밀리초에 불과합니다. 따라서 쿼리를 실행하기 전에 항상 캐시를 지우십시오.

Early Materialization 쿼리를 실행하면 총 소요 시간이 9485밀리초임을 알 수 있습니다. 1개의 데이터 캐시와 1행 출력을 생성했지만 2,500만 행을 반환했습니다.

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

1행 결과를 얻기 위해 2,500만 행을 구체화할 필요가 없습니다. 시간이 걸리고 DAX의 성능이 느려지기 때문입니다.

Late Materialization 쿼리를 실행하면 전체 계산에 1340밀리초만 소요되었음을 알 수 있습니다. 또한 각각 5003개의 행을 반환하는 2개의 데이터 캐시를 생성했습니다.

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

물리적 쿼리 계획을 보면 5000개의 행을 볼 수 있습니다. 동일한 수의 행이 없습니다. Server Timings의 결과는 때때로 쿼리 계획의 정확한 행 수와 약간의 불일치가 있습니다.

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

따라서 2,500만 개의 행이 있는 하나의 데이터 캐시에서 작업하여 이제 5003개의 행이 있는 두 개의 데이터 캐시가 있습니다. 이것이 바로 Later Materialization으로 작업하는 것이 Early Materialization보다 더 빠른 결과를 얻는 이유입니다.

각 구체화 쿼리 내부

쿼리만 봐도 Later Materialization이 더 빠르다는 것을 이미 알 수 있습니다. Early Materialization 쿼리는 요약된 테이블의 행 수를 계산합니다.

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

요약 및 구체화된 테이블은 테이블에서

쿼리가 느린 경우 쿼리에서 가져오는 행 수와 출력에 필요한 행 수를 확인하는 것부터 시작하세요. 논리적 쿼리 계획으로 이동하여 계산 내에서 발생하는 작업 흐름을 따를 수도 있습니다.


LuckyTemplates Desktop의 DAX Studio란? DAX 자습서: 컨텍스트 및 LuckyTemplates의
계산 엔진 측정: 최적화 팁 및 기술

결론

구체화는 쿼리가 데이터 모델에서 열 또는 행을 가져올 때 발생합니다. 이 프로세스는 엔진이 쿼리 결과를 제공하기 위해 데이터 모델에서 데이터를 가져올 때 자연스럽게 발생합니다.

그러나 DAX가 결과에 필요한 것보다 너무 많은 행을 가져오는 경우 문제가 발생할 수 있습니다. 이 문제는 특정 프로세스를 수행하도록 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 게이트웨이란? 당신이 알아야 할 모든 것