INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

LuckyTemplates의 INTERSECT 함수는 고급 테이블 함수이며 이 고급 DAX의 사용을 최대화하려면 이를 더 잘 이해해야 합니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.

그러나 작동 방식을 이해하려면 가상 테이블을 훨씬 더 잘 이해해야 합니다. 가상 테이블은 LuckyTemplates 내에서 DAX 측정값을 활용할 때 핵심 개념입니다 .

INTERSECT 함수가 구체적으로 수행하는 작업은 측정값 내에서 하나의 가상 테이블을 다른 가상 테이블과 비교할 수 있도록 하는 것입니다. 그런 다음 최종적으로 이 두 가상 테이블의 두 버전 모두에 나타나는 결과 테이블을 반환할 수 있습니다.

이 기능을 활용하는 방법을 이해하면 매우 고급 논리를 쉽게 실행할 수 있는 놀라운 기능이 있음을 곧 알게 될 것입니다.

목차

INTERSECT 기능을 활용한 독창적 인사이트 선보여

지금까지 살펴본 예에서 함수를 사용하여 발견할 수 있는 정말 독특한 통찰력을 보여드리겠습니다. 이 특정 통찰력은 다양한 방식으로 재사용할 수 있습니다 . 이는 고객 데이터로 작업할 때 가장 유용하며 목표는 고객을 더 잘 이해하는 것입니다.

이 기능을 배우는 가장 좋은 방법은 실제 장면을 통해서입니다. 따라서 시나리오를 통해 이번 달의 고객을 기반으로 해결하겠습니다. 이러한 고객도 지난 2개월 동안의 구매 내역이 있어야 합니다. 그리고 현재 고객 중 누가 2개월 전에 이전 주문 거래를 했는지 알아낼 것입니다.

함수 를 시연하기 위해 만든 이 LuckyTemplates 보고서를 살펴보세요 . 먼저 왼쪽에 원하는 달을 선택할 수 있는 몇 가지 필터를 설정했습니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

그런 다음 모든 고객에 대한 열이 있습니다. Total SalesSales LM 열에는 이번 달과 지난 달의 구매 이력이 있는 고객이 표시됩니다. Total Sales 의 공식은 매우 간단합니다. 특정 고객의 모든 판매 합계입니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

Sales LM 수식은 DATEADD를 사용하여 이전 달로 돌아가는 시간 인텔리전스 계산으로 분기되는 간단한 총 판매 수식 입니다 .

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

언급된 수식을 사용하여 지난 달을 계산할 수 있으므로 수식의 초기 컨텍스트를 이해하는 것이 중요합니다. 따라서 DAX 수식을 적용할 수 있도록 초기 컨텍스트를 올바르게 가져와야 합니다.

2개월 연속으로 구매한 고객을 어떻게 동적으로 계산합니까? 이것이 Customers 2M in A Row 열 에서 볼 수 있는 것입니다 .

이제 이러한 고객의 총 판매액도 알고 싶기 때문에 A 행 열에 고객 2M의 판매액을 추가했습니다 .

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

INTERSECT 기능을 이용한 재구매 고객 식별

INTERSECT가 재방문 고객을 찾는 데 얼마나 유용한지 살펴보겠습니다 . Customers 2M In A Row 에 대한 공식은 다음과 같습니다 .

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

이 수식에서는 INTERSECT 함수 내부에 변수( VAR ) 인 두 개의 가상 테이블을 배치했습니다 . 기본적으로 첫 번째 테이블에는 있지만 두 번째 테이블에는 없는 항목 또는 행 목록을 평가합니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

여기서 초기 테이블은 이번 달에 구매한 고객을 나타내는 CustomerTM 입니다. 그런 다음 수식은 이러한 고객이 CustomerLM 테이블 에도 나열되는지 여부를 확인합니다 .

고객이 두 가상 테이블 모두에 존재하는 경우 고객이 유지됩니다. 따라서 이 공식을 통해 이번 달과 그 전 달에 구매한 모든 고객으로 끝낼 수 있습니다.

함수를 사용하여 남은 고객 수를 세었습니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

이제 2개월 연속 구매 고객을 위한 가상 테이블 생성에 대해 이야기해 보겠습니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

알아차리셨다면 ( 변수) 함수 안에 넣었습니다. 이러한 함수는 더 복잡한 수식을 작성하는 데 환상적인 추가 기능이므로 적극 권장합니다. 

VAR CustomerTM 에 대한 이 특정 세트에서 고객 ID의 가상 테이블을 만들고 있습니다. 그런 다음 VAR CustomerLM을 위해 지난 달 고객을 위해 가상 테이블을 다시 생성하고 있습니다. 하지만 이번에는 함수를 추가하여 현재 컨텍스트 대신 이전 달의 고객 집합으로 다시 이동할 수 있습니다.

여기 우리가 지금 가지고 있는 이 계산에 대해 흥미로운 점이 있습니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

수식은 고객이 필터링되기 때문에 고객의 모든 단일 행만 확인합니다. 특정 행(고객)에 대한 전월 매출이 없으면 평가할 항목이 없습니다. 따라서 Customers 2M In A Row 열은 비어 있습니다. 그러나 고객에게 이전 레코드가 있는 경우 1 로 계산됩니다 .

예를 들어 Adam Thompson의 데이터를 보면 Customers 2M In A Row 열 아래에 1이 반환됩니다 . 이는 이 고객이 지난 달과 그 전 두 달 모두에 대한 기록을 가지고 있음을 의미합니다.

다른 컨텍스트에 대한 수식 재사용

INTERSECT를 사용하는 것의 중요성을 바로 깨닫지 못할 수도 있지만 이 공식을 사용해야 하는 정말 좋은 이유가 있습니다. 주로 다양한 컨텍스트에서 이 계산을 재사용할 수 있기 때문입니다 . 아래에서 이 예를 살펴보십시오.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

위의 샘플 데이터를 만들기 위해 동일한 수식을 사용했습니다. 하지만 이번에는 다른 초기 컨텍스트에서 시작합니다. 단일 행을 평가하는 대신 State Code와 같은 많은 컨텍스트를 평가합니다. 그런 다음 2016년 6월과 2016년 5월에 구매한 고객 목록을 생성합니다. 그런 다음 이번 달 특정 주에서 한 번 구매한 고객과 비교하겠습니다.

Customers 2M In A Row 열에서 해당 기준과 일치하는 정확한 고객 수를 볼 수 있습니다 .

그 표 아래에는 State Code별로 Customers 2M In A Row 에 대한 동일한 데이터를 보여주는 또 다른 시각화가 있습니다 .

요구 사항에 따라 실제로 모델의 컨텍스트를 다시 변경할 수 있습니다. 필터가 올바르게 작동하는 경우 이 수식을 다시 적용하여 다른 상황에 추가할 수 있습니다.

이것이 제가 INTERSECT가 매우 강력하다고 말한 이유입니다 . IF 문을 작성하는 대신 이러한 INTERSECT 함수를 수식에 활용할 수 있습니다 .

반복 고객의 총 판매 계산

또한 반복 고객의 총 판매 수에 대해 작업합니다 .

Sales from Customers 2M In A Row 열의 결과는 이번 달과 이전 달에 대한 고객 구매의 합계입니다. 고객이 연속으로 2개월 동안 구매한 경우에만 이 결과를 얻을 수 있습니다. 

이것은 반복 고객의 총 매출에 대한 공식입니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

여기서 패턴이 거의 동일하다는 것을 알 수 있습니다. 여기서 유일한 차이점은 COUNTROWS 대신 CALCULATE 함수를 사용하여 계산 컨텍스트를 변경했다는 것입니다. 

여기서 필요한 것은 고객의 총 판매 금액이기 때문입니다. 하지만 보시다시피 저는 여전히 INTERSECT 함수를 사용하고 있습니다. 파레토 분석과 관련하여 매우 유용합니다. 하지만 이 기능을 다양한 방식으로 적용할 수도 있습니다.

지난 3개월 동안 고객을 위한 INTERSECT 통합

여전히 이전보다 더 많은 일을 할 수 있습니다. 실제로 아래 공식을 사용하여 3개월 연속 구매한 고객을 계산할 수 있습니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

제가 추가한 것은 한 달이 아니라 두 달 뒤로 건너뛰는 다른 계산입니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

그 후 다른 INTERSECT 함수 안에 INTERSECT 함수를 추가했습니다 . 따라서 이번 달의 고객과 지난달의 구매 내역만 평가하는 것이 아닙니다. 또한 특정 고객이 2개월 전에 구매했는지도 확인합니다.

이 데이터를 테이블에 추가하려면 Customers 3M In A Row 수식을 테이블로 끌어다 놓기만 하면 됩니다.

INTERSECT 기능 사용을 극대화하는 방법 – 고급 DAX

3개월 연속으로 구매한 총 45명의 고객이 하단에 표시됩니다. 이것은 매우 유용한 매우 집중적인 통찰력입니다.


LuckyTemplates의 반복 함수 내부에서 가상 테이블을 이해하는 방법
RANKX 심층 분석 - LuckyTemplates의 DAX 수식 개념
LuckyTemplates 보고서에 DAX 측정값 그룹 구현

결론

앞에서 언급했듯이 INTERSECT 는 테이블 함수이며 다양한 방법으로 사용할 수 있습니다.

이 자습서의 초점은 측정값에서 그리고 측정값 내에서 다양한 방식으로 이를 활용하는 방법을 확인하는 것입니다. 이것이 매우 효과적인 방법으로 매우 강력한 분석을 실행할 수 있는 방법이라고 생각합니다.

이 고급 LuckyTemplates 자습서를 잘 살펴보시기 바랍니다.


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

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

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

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