DAX 쿼리의 반복기 및 컨텍스트 전환

DAX 쿼리의 반복기 및 컨텍스트 전환

이 튜토리얼에서는 컨텍스트 전환 및 중첩된 반복자에 대해 설명합니다. 이러한 엔터티의 중요성과 최적화를 위한 좋은 소스가 될 수 있는 방법을 배우게 됩니다.

컨텍스트 전환은 행 컨텍스트가 동등한 필터 컨텍스트로 변경될 때 발생합니다. 종종 느린 결과를 생성할 수 있기 때문에 반복자에서 컨텍스트 전환이 발생할 때 어떤 일이 발생하는지 알고 있어야 합니다.

목차

중첩 반복자와 CALCULATE

반복 중에 컨텍스트 전환이 호출되면 구체화 테이블이 생성됩니다. 이는 컨텍스트 전환이 DAX의 수식을 통해 호출됨을 의미합니다. 테이블은 수식 엔진으로 전송되는 압축되지 않은 데이터입니다.

시연을 위해 첫 번째 측정값은 500보다 크거나 같은 경우 현재 가격을 가져오는 Big Sales에 대한 것입니다.

DAX 쿼리의 반복기 및 컨텍스트 전환

다음 측정값은 중첩된 반복자가 있는 Big Sales의 평균입니다.

DAX 쿼리의 반복기 및 컨텍스트 전환

마지막 측정값은 중첩 반복자와 CallBackDataID 없이 Big Sales의 평균을 가져옵니다.

DAX 쿼리의 반복기 및 컨텍스트 전환

중첩된 반복자를 사용하여 측정을 실행합니다. 실행하기 전에 캐시를 지우고 서버 타이밍 및 쿼리 계획을 켭니다.

DAX 쿼리의 반복기 및 컨텍스트 전환

3개의 스캔, 2개의 CallBackDataID 및 15,003개의 행을 생성했음을 알 수 있습니다 . 출력에 대해 101개의 행만 있기 때문에 이는 우려할 만한 원인입니다. 이는 측정값에 두 개의 반복자 또는 X 함수가 있기 때문에 발생했습니다.

이것은 실행된 측정값의 완전히 확장된 형식입니다.

DAX 쿼리의 반복기 및 컨텍스트 전환

로 반복합니다 . 그런 다음 사용하여 CallBackDataID 로 다시 반복합니다 . 이 측정의 축약된 형식에는 컨텍스트 전환을 호출하고 테이블을 구체화하는 묵시적인 이것이 출력용 행이 101개뿐인데도 15,003개 행을 가져온 이유입니다.

중첩된 반복자가 없는 다른 측정값을 실행합니다. 여전히 AVERAGEX를 사용하여 Fact Sales 테이블을 반복하고 있지만 Current Price는 함수 외부에 있습니다. 현재 가격이 500보다 크거나 같은 제품을 필터링한 다음 평균을 계산합니다.

DAX 쿼리의 반복기 및 컨텍스트 전환

스캔 2개, 행 104개만 있고 CallBackDataID가 없음을 알 수 있습니다. 따라서 CALCULATE를 사용하면 중첩 반복자와 CallBackDataID를 제거할 수 있습니다 .


LuckyTemplates의 DAX 함수: 반복자 사용
LuckyTemplates에서 반복 함수를 사용하는 방법
DAX 계산 - 필터 컨텍스트 전환

결론

DAX 성능 저하에는 여러 가지 원인이 있습니다. 그 중 하나는 불필요한 컨텍스트 전환을 유발하는 중첩 반복자 때문입니다. 이러한 반복기는 필요한 것보다 더 많은 행을 구체화하므로 쿼리 속도가 느려집니다.

이에 대한 최상의 솔루션은 CALCULATE 안에 배치하는 것입니다 . 이렇게 하면 수식 엔진에 대한 작업이 줄어들고 스토리지 엔진의 기능이 최대화됩니다.


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

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

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

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