LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

는 LuckyTemplates에서 통찰력 순위를 매기기 위해 가장 일반적으로 사용되는 DAX 함수입니다. 간단한 기능이지만 초보자에게는 혼란스러울 수 있습니다. 그러나 보고서에 대한 귀중한 통찰력을 얻을 수 있는 매우 강력한 기능입니다

이 기사에서는 RANKX DAX 기능의 기능을 알게 될 것입니다. 사용 시기와 방법을 배우고 몇 가지 시나리오와 예를 살펴보면서 이 기능이 얼마나 유용한지 알게 될 것입니다.

목차

DAX RANKX 함수 정의 및 구문

RANKX LuckyTemplates DAX 함수는 테이블 인수의 각 행에 대한 숫자 목록에서 특정 숫자의 순위를 반환합니다. 계산된 열과 계산된 측정값 모두에 대한 계산에 사용할 수 있습니다. 다음은 RANKX 수식 구문입니다.

순위X(
     , , , ,
)

테이블 매개 변수의 경우 LuckyTemplates에서 가져온 표준 테이블 또는 DAX를 통해 계산된 테이블을 입력할 수 있습니다. 반복 함수 인 RANKX는 해당 테이블을 반복하고 특정 숫자의 순위를 매깁니다. 이는 테이블 내의 값 수에 따라 다릅니다. 예를 들어 테이블에 20개의 값이 있는 경우 RANKX는 1에서 20까지의 순위 결과를 갖습니다.

RANKX 함수를 이해하는 한 가지 핵심은 이 함수가 스칼라 값을 반환한다는 것입니다 . 식 매개 변수 내에서 스칼라 값을 반환하는 DAX 식이 필요합니다. 이 식은 테이블 내의 각 행을 반복하고 반복하여 그에 따라 순위 값을 제공합니다.

값 및 순서 매개변수는 선택 사항인 반면 동점 매개변수는 값에 동점이 있을 때 순위를 결정하는 데 도움이 됩니다.

RANKX 및 LuckyTemplates DAX 수식 개념

기대하는 순위 결과가 생성되었는지 확인하기 위해 잘 이해해야 할 여러 가지 개념이 있습니다. DAX 계산을 실행할 때 가장 중요한 개념인 ' 컨텍스트 ' 에 대해 설명하겠습니다 . 이것을 이해하면 RANKX 기능을 효과적으로 사용하는 방법을 실제로 이해할 수 있습니다.

RANKX는 논리와 특정 컨텍스트(예: LuckyTemplates 내부의 테이블 또는 차트)에서 계산을 실행할 때 실제로 작동하는 방식에 대해 더 깊이 생각해야 하는 매우 고유한 DAX 함수입니다.

DAX RANKX 함수 내의 서로 다른 매개 변수는 결과를 계산하는 방식을 변경할 수 있습니다. 이 DAX 함수에 입력할 수 있는 여러 매개 변수가 있어 각 매개 변수가 중요하다고 간주되는 기본 결과를 결정하는 방법을 이해할 수 있습니다.

그렇기 때문에 RANKX가 다양한 맥락에서 어떻게 작동하는지에 대한 핵심 요소와 개념을 이해하는 것이 필수적입니다. 이를 통해 계산이 정확하고 소비자가 실제로 의미 있는 통찰력을 보고 있는지 확인할 수 있습니다.

기본 RANKX DAX 시나리오

먼저 간단한 RANKX 계산을 살펴보겠습니다. 이 예에서 우리는 우리가 판매하는 모든 다른 제품에서 판매를 기반으로 이러한 제품의 순위를 식별 하려고 합니다   (이는 모든 측정값을 기반으로 할 수도 있음).

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

기본적으로 RANKX 내부에 테이블을 생성하여 지정한 측정값을 기반으로 모든 단일 제품을 평가해야 합니다. ALL  함수 Products 테이블  에서 필터를 제거   하고 모든 단일 제품을 평가할 수 있습니다. 

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

그러나 필터(이 경우  ALL  함수)를 제거하고 "제품"만 사용하면 다른 결과가 표시됩니다. 이것이 올바른 결과를 얻기 위해 ALL 함수를 사용해야 하는 이유입니다 . 이것이 간단한 RANKX 계산을 푸는 방법입니다   . 

하지만 더 복잡해지면 어떨까요? 총 매출만을 기준으로 하지 않는 순위 결과가 필요하다면 어떻게 하시겠습니까? 글쎄요, 이 계산의 현재 컨텍스트를 이해해야 하는 부분입니다. 원하는 결과를 얻기 위해 컨텍스트를 조작하는 방법을 알아야 합니다.

복잡한 RANKX DAX 시나리오

정확히 유사한 수식(제품 순위 측정)을 오른쪽 테이블에 가져오도록 합시다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

보시다시피 또 다른 잘못된 결과가 나왔습니다. 그 이유는 여기에 고객 이름 열도 있기 때문입니다. 공식을 다시 보면  각 개별 고객을 분류하지 않는다는 것을 알 수 있습니다 . 우리는 각 특정 고객을 위한 제품만을 평가하고 있습니다.

Customer Name 열을 정렬해 보겠습니다   .

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

Customer Name 열을 정리하더라도 상품 순위는 여전히 구매한 상품의 순위에 따라 변경됩니다. 같은 숫자가 많이 있습니다. 한 가지 예는 순위 17입니다. 이 경우 이 특정 고객이 17개 제품만 구매했기 때문일 수 있습니다  .

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

이 시나리오에서 필요한 것일 수 있습니다. 하지만 그보다 조금 더 복잡한 것이 필요하다면 어떻게 해야 할까요? 고객 이름 및 제품 컨텍스트의 순위가 1에서 무기한 값까지 필요한 경우에는 어떻게 합니까 ?

내가 강조한 것처럼 컨텍스트를 이해하고  원하는 결과를 얻기 위해 컨텍스트를 조작하는 방법 이 중요합니다  .

이 예제에는 완전히 다른 두 테이블의 두 차원이 있습니다.  고객 테이블 의 고객 이름 열과  제품 테이블의 제품 이름 열이 있습니다 .

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

두 테이블 모두에서 RANKX 논리 내부의 이 가상 테이블에서 어떻게든 필터를 제거 해야 합니다 . 첫 번째 테이블(왼쪽)에서 수행한 작업을 수행해야 하지만 두 특정 테이블의 고객 이름 및 제품 이름 열 모두에서 수행해야 합니다.

그러면 최종적으로 Customer Name과 Product Name의 Total Sales를 통해 올바른 순위를 얻게 됩니다. 이 독특한 시나리오에 사용할 수 있는 공식은 다음과 같습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

CROSSJOIN 함수 사용하면 두 개의 열을 함께 조인하거나 두 개의 테이블이 될 수도 있습니다. 그러나 이 경우에는 열만 조인합니다.

Customers 및 Products 테이블 모두에서 모든 필터를 제거하고  있습니다  . 그런 다음 이 가상 테이블의 모든 단일 행을 반복하고 이 특정 고객 이름 및 제품 이름 하위 집합에 대한 특정 순위를 평가하거나 식별합니다.

고급 RANKX DAX 예시

이전 예에서 볼 수 있듯이 RANKX 함수는 보고서 페이지의 다양한 컨텍스트에 사용할 때 귀중한 통찰력을 제공합니다. 그러나 LuckyTemplates에서 사용하기에 가장 혼란스러운 기능 중 하나일 수도 있습니다. 실제로는 틀렸지만 올바른 것처럼 보이는 다른 결과를 제공할 수 있습니다. 주의하지 않으면 전체 보고서를 다시 작성해야 합니다.

컨텍스트에 대한 확실한 이해가 필요하며 해당 컨텍스트 내에서 RANKX를 사용하는 방법을 배웁니다.

때때로 RANKX가 얼마나 복잡할 수 있는지에 대해 자세히 알아보겠습니다. 이 함수 작업의 많은 뉘앙스를 이해할 수 있도록 예제를 통해 작업하겠습니다.

아래 시각화에는 County Ranking, States Ranking 및 State Regions Ranking이 있습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

계산 컨텍스트를 모두 하나의 매트릭스에서 확인하려는 경우 계산 컨텍스트를 관리하기 어려울 수 있습니다. 테이블을 봅시다. 주 지역, 주 및 카운티에 대한 정보가 있음을 알 수 있습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

이 예에서는 카운티의 순위를 계산해야 합니다. 테이블에 County, County Ranking 및 Total Sales만 있으면 올바른 순위 결과를 얻을 수 있습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

그러나 테이블의 다른 컨텍스트를 계층화하기 시작하면 서로 다른 주 및 주 지역에 있는 각 카운티에 대해 순위 결과가 누적되기 시작합니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

따라서 보고서 페이지에서 선택한 항목에 관계없이 각 카운티에 대한 올바른 전체 순위를 얻으려면 계산 컨텍스트를 식별하고 변경 해야 합니다 . 콜로라도와 같은 주를 선택할 때마다 공식도 업데이트됩니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

주 지역을 사용하여 선택할 수도 있습니다. Northeast를 선택하면 적절한 순위가 표시됩니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

이 예에서는 County Ranking을 얻기 위해 두 가지 수식을 사용합니다. 이는 RANKX와 함께 다양한 DAX 함수를 사용하여 생성된 결과의 차이를 이해하는 데 도움이 됩니다 .

공식 #1: ALL 및 ALLSELECTED가 포함된 RANKX

ALL 함수는 County Rank에 대한 이 공식의 핵심 부분입니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

RANKX 공식 내에서 컨텍스트를 조작합니다. 그런 다음 Regions 테이블을 반복하고 순위 결과를 생성합니다. 이 경우 ALL 기능은 초기 컨텍스트에 관계없이 모든 단일 카운티에서 사실상 작동합니다.

이 문제는 슬라이서 컨텍스트에서 레이어를 시작하면 복잡해집니다. 사용하면 슬라이서의 선택에 따라 순위가 자동으로 업데이트됩니다. 활용하여 결과에 추가 컨텍스트를 배치하거나 계산 컨텍스트를 변경해야 합니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

컨텍스트는 CALCULATE 함수 내의 필터를 기반으로 조정됩니다. 이를 통해 순위는 State 및 State Region 슬라이서에서 오는 컨텍스트에 따라 조정됩니다 .

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

공식 #2: ALL 및 VALUES가 포함된 RANKX

이제 카운티(업데이트됨) 열을 살펴보겠습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

슬라이서에서 선택한 항목에 관계없이 이 열이 계속해서 전체 순위를 표시하도록 하려고 합니다. 모든 카운티에는 고유 번호가 있어야 합니다.

다음은 사용된 공식입니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

이 예에서는 고유한 카운티를 해독하는 방법이 없으므로 다른 열이 생성되었습니다. 전체 카운티 열에는 카운티, 주 및 지역이 포함됩니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

이렇게 하면 카운티를 잘 구분할 수 있습니다. 이렇게 하면 이제 데이터에 있는 카운티의 가상 테이블을 작업할 수 있습니다. 이를 수행하기 전에 Regions 테이블에서 ALL 컨텍스트를 제거해야 합니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

따라서 Region의 테이블에서 오는 모든 컨텍스트는 이 시점에 존재하지 않습니다. 함수를 사용하여 Full County 열의 컨텍스트를 다시 추가할 수 있습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

한 가지 옵션은 ALL 함수를 사용하여 모든 열을 참조하는 것이지만 더 나은 대안은 지역에서 모든 컨텍스트를 제거하고 전체 카운티만 다시 가져오는 것입니다. 컨텍스트가 CALCULATE 내에서 조작되면 RANKX 함수는 거기에서 작업을 시작합니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

RANKX는 총 매출과 함께 모든 행의 모든 ​​단일 카운티를 통해 작업한 다음 순위를 매깁니다. 카운티(업데이트됨) 행에서 1에서 X까지의 값을 얻는 방법입니다. 결과적으로 필터와 슬라이서는 중요하지 않으며 수식이 무시하도록 설정되었기 때문에 순위에 영향을 주지 않습니다.

기타 실용적인 RANKX 측정 LuckyTemplates 예제

이제 RANKX 및 LuckyTemplates DAX 개념의 기본 사항을 배웠으므로 RANKX 사용 방법에 대한 더 많은 예를 살펴보겠습니다. 먼저 RANKX를 사용하여 상위 및 하위 값을 찾는 예를 살펴봅니다. 다음 예는 결과를 분류하거나 그룹화하는 방법으로 RANKX를 보여줍니다.

RANKX를 사용하여 상위 및 하위 값 찾기

RANKX의 일반적인 용도는 상위 또는 하위 값을 찾으려 는 경우입니다 . 예를 들어 상위 고객 또는 하위 제품을 찾으려면 RANKX를 다른 DAX 기능과 함께 사용할 수 있습니다.

기능과 결합하여 정적인 기간 동안뿐만 아니라 시간이 지남에 따라 최고의 고객이 누구인지 확인하는 방법을 보여 드리겠습니다 . 그런 다음 상위 10개 고객의 판매 매트릭스에서 이를 선보일 것입니다.

Quarter & Year  및  Total Sales  측정값을 매트릭스에 입력하면 모든 결과를 얻을 수 있습니다. 이는 훌륭하지만 통찰력을 확인하고 추세를 파악하기가 매우 어려울 수 있습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

우리는 추세를 보고 이 기간 동안 상위 10명의 고객이 누구인지 확인하고자 합니다. 예를 들어, 일정 기간 동안 최고의 고객 중 하나였지만 완전히 이탈한 고객이 있었습니까? 이것이 바로 우리가 찾고 있는 통찰력입니다.

하나의 공식을 사용하여 이 작업을 수행할 수 있습니다. 다음은 CALCULATE 함수를 사용하여 Top 10에 속하는 고객의 총 매출을 계산하기 위해 만든 측정값입니다 .

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

순위 논리를 사용하여  이 고객이 상위 10위 안에 있으면 이 총 판매액 값을 반환한다고 말하는 순위 논리 지표를 만들어야 합니다 . LuckyTemplates에서 RANKX를 사용하는 것 외에도 FILTER 함수를 사용한 다음 모든 단일 고객에 대한 내부 테이블을 만드는 VALUES를 사용할 것입니다.

그런 다음 여기에 "현재 순위가 10보다 작거나 같으면 총 매출과 같으면 그렇지 않으면 비어 있음"이라는 논리를 여기에 작성할지 생각해야 합니다. 이와 같은 필터 문에서 정말 멋진 점은 이러한 유형의 논리를 내부에 작성할 수 있다는 것입니다.

따라서 특정 상황에서 각 고객의 순위를 매길 것이기 때문에 RANKX 기능과 모든 고객 이름을 사용할 것입니다. ALL은 고객 이름에 대한 모든 필터를 제거하므로 이 순위를 완성할 수 있습니다.

그런 다음 총 매출로 순위를 매기고 내림차순으로 순위를 매긴 다음 10보다 작거나 같게 합니다. 총 매출과 같게 하고 그렇지 않으면 공백으로 둡니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

마지막으로 Top 10 Client를 Total Sales로 대체합니다. 매 기간마다 상위 10개 클라이언트를 볼 수 있고 조건부 서식을 구현하여 시각적으로 더 좋게 만들 수 있습니다. 또한 조건부 서식을 사용하여 보다 강력한 통찰력을 얻을 수 있습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

고객에게 여러 번 판매하는 경우 기간을 단축하고 싶을 것입니다. 하지만 1년에 2~3번만 고객에게 판매하는 경우에는 보다 장기적인 시간 프레임에서 물건을 분석하고 싶을 것입니다.

순위 인사이트에도 사용되는 TOPN이라는 또 다른 DAX 함수가 있습니다. 여전히 큰 차이가 있습니다 . TOPN은 테이블 함수이고 RANKX는 스칼라 값을 반환 합니다 . 핵심은 이러한 기능을 넣은 컨텍스트를 이해하는 것입니다.

LuckyTemplates RANKX를 사용하여 동적 그룹화 결합

RANKX를 사용하는 또 다른 좋은 방법은 컨텍스트 없이 결과만 표시하는 것이 아니라 결과를 세분화하거나 그룹화하는 것입니다.

이 예에서는 일반적인 판매 결과를 표시하는 대신 고객이 상위 순위 결과에 있는지 확인한 다음 시간이 지남에 따라 변경되는지 확인하려고 합니다. 상위 5개 클라이언트, 상위 5개에서 20개, 그리고 나머지 클라이언트로부터 매출이 얼마나 발생하는지 알고 싶습니다.

추세가 발생하는지 확인하려면 동적 그룹을 만들고 시간 경과에 따라 평가해야 합니다. 특히 Excel에서 작업하는 경우에는 이 작업을 수행하기가 매우 어렵습니다. 그러나 DAX를 정말 잘 이해하면 작성하는 데 전혀 오래 걸리지 않는 수식을 작성할 수 있으며, 그러면 반복해서 사용할 수 있는 패턴이 됩니다.

이 시나리오를 위해 만든 측정값은 다음과 같습니다.

LuckyTemplates의 RANKX DAX 기능: 포괄적인 개요

CALCULATE 없이는 아무 일도 일어나지 않기 때문에 CALCULATE 함수부터 시작합니다. 그런 다음 총 판매액을 합산합니다.

다음으로, 모든 단일 고객을 반복할 고객 이름 테이블을 필터링하고 순위가 무엇인지 평가한 다음 순위가 방금 생성한 MIN 및 MAX보다 높은지 또는 낮은지 확인해야 합니다.

다음 단계는 함수와 FILTER 함수를 다시 사용하는 것입니다. 그런 다음 내가 만든 테이블인 고객 그룹을 선택합니다.

그런 다음 RANKX를 사용하여 이 테이블을 반복합니다. 상단에서 총 매출을 계산하고 있지만 Customer Groups 테이블이 실제로는 순위입니다. 이러한 각 개별 고객의 순위를 가져온 다음 고객 그룹 테이블에 있는 그룹 내에 있는지 확인해야 합니다.

그런 다음 Total Sales로 순위를 매긴 다음 DESC를 선택하여 가장 높은 순위를 1로, 가장 낮은 순위를 200으로 지정합니다. 그런 다음 순위가 가장 높은 고객에 대해 보다 큰 값으로 종료합니다 . 보다 작거나 같은 논리를 사용합니다 .

반복해서 사용할 수 있습니다 . RANKX를 사용하면 동적 순위 테이블을 생성하여 놀라운 순위 통찰력을 얻을 수 있습니다.

결론

RANKX는 단순한 기능이지만 사용하기 쉬운 기능은 아닙니다. 핵심은 기능을 더 잘 이해할 수 있도록 뉘앙스에 집중하는 것입니다. 특히 다른 함수와 결합할 때 DAX 계산에서 RANKX 함수에 대한 많은 방법이 있습니다. 이 기능이 LuckyTemplates 내에서 얼마나 유연할 수 있는지 알면 놀랄 것입니다.

이 블로그에서 보여드린 예는 RANKX를 시연하는 가장 좋은 방법입니다. 특히 순위 유형 분석을 계산할 때 다재다능한 경우에는 더욱 그렇습니다. 다양한 시나리오에서 사용할 수 있습니다.

여기서 중요한 점은 RANKX 기능이 배치되는 컨텍스트를 실제로 이해해야 한다는 것입니다.

이 콘텐츠가 도움이 되기를 바라며 자신의 업무 환경에서 활용하시기 바랍니다.

건배!


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

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

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

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