Tableau에서 세부 수준 식 만들기
세부 수준 식(LOD 식이라고도 함)을 사용하여 데이터 원본 수준 및 비주얼리제이션 수준에서 값을 계산할 수 있습니다. 그러나 LOD 식을 사용하면 계산할 세부 수준을 제어할 수 있습니다. 더 세분화된 수준(INCLUDE), 덜 세분화된 수준(EXCLUDE) 또는 완전히 독립적인 수준(FIXED)에서 LOD 계산을 수행할 수 있습니다.
이 문서에서는 Tableau에서 사용할 수 있는 LOD 식의 유형과 LOD 식을 사용하는 시기 및 LOD 식 서식 지정 방법에 대해 설명합니다.
LOD 식을 만드는 방법
다음 단계를 수행하여 Tableau에서 LOD 식을 만들고 사용하는 방법을 배워 보십시오.
1단계: 비주얼리제이션 설정
- Tableau Desktop을 열고 Sample - Superstore 저장된 데이터 원본에 연결합니다.
- 새 워크시트로 이동합니다.
- 데이터 패널에서 Region(지역)을 열 선반으로 끌어 놓습니다.
- 데이터 패널에서 Sales(매출)를 행 선반으로 끌어 놓습니다.
지역별 매출 합계를 보여 주는 막대 차트가 나타납니다.
2단계: LOD 식 만들기
지역별 모든 매출 합계 대신 각 지역의 고객별 평균 매출을 보고 싶다고 가정합니다. LOD 식을 사용하여 이 작업을 수행할 수 있습니다.
- 분석 > 계산된 필드 만들기를 선택합니다.
- 계산 에디터가 열리면 다음을 수행합니다.
- 계산에 Sales Per Customer라는 이름을 지정합니다.
- 다음과 같은 LOD 식을 입력합니다.
{ INCLUDE [Customer Name] : SUM([Sales]) }
- 작업을 마쳤으면 확인을 클릭합니다.
새로 만들어진 LOD 식이 데이터 패널에 추가됩니다. 사용할 수 있는 LOD 식의 유형에 대해 자세히 알아보려면 LOD 식의 유형 섹션을 참조하십시오.
3단계: 비주얼리제이션에서 LOD 식 사용
- 데이터 패널에서 Sales Per Customer(고객별 매출)를 행 선반으로 끌어와서 SUM(Sales) 왼쪽에 놓습니다.
- 행 선반에서 Sales Per Customer를 마우스 오른쪽 단추로 클릭하고 측정값(합계) > 평균을 선택합니다.
이제 모든 매출의 합계와 각 지역의 고객별 평균 매출을 모두 볼 수 있습니다. 예를 들어 Central 지역의 매출 합계는 약 $500,000이며 각 고객의 평균 매출은 약 800 USD임을 확인할 수 있습니다.
빠른 LOD 식 사용
전체 계산을 계산 대화 상자에 입력할 필요 없이 FIXED LOD 식을 만들 수 있습니다.
빠른 LOD 계산을 만드는 방법은 두 가지입니다.
- 데이터 패널에서 Ctrl 키를 누른 채 집계하려는 측정값을 클릭하고 원하는 차원으로 끌어다 놓습니다. 새 필드가 FIXED LOD 계산으로 나타납니다.
집계 식의 집계는 측정값의 기본 집계에서 가져옵니다. 이는 일반적으로 SUM입니다. 집계를 변경하거나 LOD를 달리 편집하려면 새 필드를 마우스 오른쪽 단추로 클릭하고 계산을 편집하면 됩니다.
- 또는 데이터 패널에서 집계하려는 측정값을 선택한 다음 Ctrl 키를 누른 채 집계할 차원을 클릭합니다.
- 선택한 필드를 마우스 오른쪽 단추로 클릭하고 만들기 > LOD 계산...을 선택합니다.
- (선택 사항) 계산 에디터에서 LOD를 수정합니다.
- 확인을 선택합니다.
LOD 식 구문
{[FIXED | INCLUDE | EXCLUDE] <dimension declaration > : <aggregate expression>}
{ }
전체 세부 수준 식은 중괄호로 묶습니다.
[FIXED | INCLUDE | EXCLUDE]
여는 중괄호 다음에 오는 첫 번째 요소는 다음 범위 지정 키워드 중 하나입니다.
FIXED
- FIXED 세부 수준 식은 뷰 세부 수준을 참조하지 않고, 즉 뷰의 다른 차원과 상관없이 지정된 차원을 사용하여 값을 계산합니다.
- FIXED 세부 수준 식은 컨텍스트 필터, 데이터 원본 필터 및 추출 필터를 제외한 뷰의 모든 필터를 무시합니다.
예: { FIXED [Region] : SUM([Sales]) }
FIXED 세부 수준 식에 대한 자세한 내용과 몇 가지 FIXED 세부 수준 시나리오에 대한 예를 보려면 FIXED 섹션을 참조하십시오.
INCLUDE
- INCLUDE 세부 수준 식은 지정된 차원뿐만 아니라 뷰에 있는 모든 차원을 사용하여 값을 계산합니다.
- 뷰에 없는 차원을 포함할 경우 INCLUDE 세부 수준 식이 매우 유용합니다.
예: { INCLUDE [Customer Name] : SUM([Sales]) }
INCLUDE 세부 수준 식에 대한 자세한 내용과 몇 가지 INCLUDE 세부 수준 시나리오에 대한 예를 보려면 INCLUDE 섹션을 참조하십시오.
EXCLUDE
- EXCLUDE 세부 수준 식은 식에서 명시적으로 차원을 제거합니다. 즉, 뷰 세부 수준에서 차원을 뺍니다.
- 뷰에서 차원을 제거할 경우 EXCLUDE 세부 수준 식이 매우 유용합니다.
예: {EXCLUDE [Region]: SUM([Sales])}
EXCLUDE 세부 수준 식에 대한 자세한 내용과 몇 가지 EXCLUDE 세부 수준 시나리오에 대한 예를 보려면 EXCLUDE 섹션을 참조하십시오.
테이블 범위
- 테이블 범위 세부 수준 식의 경우 범위 지정 키워드가 필요하지 않습니다. 자세한 내용은 테이블 범위 섹션을 참조하십시오.
<dimension declaration>
키워드에 따라 집계 식의 범위를 설정하는 하나 이상의 차원을 지정합니다.
- FIXED [Name]
쉼표를 사용하여 여러 차원을 구분하십시오.
[Segment], [Category], [Region]
날짜 식을 포함하여 차원으로 계산되는 모든 식을 사용할 수 있습니다.
{FIXED YEAR([Order Date]) : SUM(Sales)}
에서는 연도 수준에서 Sales 합계가 집계됩니다.{INCLUDE DATETRUNC('day', [Order Date]) : AVG(Profit)}
에서는 일 날짜 부분으로 잘린 [Order Date]에 대해 Sales 합계가 집계됩니다. 또한 INCLUDE 식이기 때문에 뷰의 차원이 값 집계에 사용됩니다.
참고: 차원 선언을 만들 때 직접 입력하는 것보다 필드를 계산 에디터에 끌어 놓는 것이 좋습니다. 예를 들어 선반에 YEAR([Order Date])가 표시되는 경우 이를 차원 선언으로 입력하면 선반의 필드와 일치하지 않게 됩니다. 하지만 필드를 선반에서 식으로 끌어 놓으면 DATEPART('year', [Order Date])가 되고 선반의 필드와 일치하게 됩니다.
데이터 패널에 계산을 저장하면 Tableau에서 계산 이름을 계산 내용과 일치시킬 수 없습니다. 예를 들면 다음과 같습니다.
MyCalculation = YEAR([Order Date])
계산을 만든 경우- EXCLUDE 세부 수준 식
{EXCLUDE YEAR([Order Date]) : SUM(Sales)}
을 만든 경우
뷰에서 두 계산을 모두 사용하는 경우 MyCalculation이 제외되지 않습니다. LOD는 YEAR([Order Date])가 MyCalculation과 동일하다는 것을 파악하지 못합니다.
마찬가지로 EXCLUDE 식이 MyCalculation({EXCLUDE MyCalculation : SUM(Sales)}
)을 지정하면 YEAR([Order Date])가 제외되지 않습니다.
:(콜론)
콜론은 집계 식에서 차원 선언을 분리합니다.
<aggregate expression>
여기서 aggregate expression은 수행되는 계산입니다. 예를 들어 SUM(Sales)
또는 AVG(Discount)
일 수 있습니다. 집계 식의 계산 결과는 차원 선언 및 키워드에 따라 달라집니다.
집계 식은 집계되어야 합니다. 그러나 ATTR 집계는 지원되지 않습니다. 집계 식은 단순 집계가 아니어도 되며, 다른 LOD 식을 비롯한 계산을 포함할 수 있습니다. {FIXED [Question] : AVG(IF [Answer] = "Red" THEN 1 ELSE 0 END )}
테이블 계산은 집계 식에서 허용되지 않습니다.
테이블 범위 LOD에는 {MIN(Grade)}
과 같이 중괄호 안에 집계 식만 포함됩니다.
LOD 식의 유형
Tableau에서 만들 수 있는 LOD 식에는 세 가지 유형이 있습니다.
LOD 식의 범위를 테이블로 지정할 수도 있습니다. 이러한 식을 테이블 범위 LOD 식이라고 합니다.
FIXED
FIXED 세부 수준 식은 뷰의 차원을 참조하지 않고 지정된 차원을 사용하여 값을 계산합니다.
예
다음 FIXED 세부 수준 식은 지역별 매출 합계를 계산합니다.
{FIXED [Region] : SUM([Sales])}
이 세부 수준 식을 [Sales by Region]으로 저장한 다음 텍스트에 배치하여 지역별 총 매출을 표시합니다.
뷰의 세부 수준은 [Region] 및 [State]입니다. 그러나 FIXED 세부 수준 식은 뷰의 차원을 확인하지 않고 계산에 지정된 차원만 확인합니다(여기서는 Region). 따라서 각 Region의 개별 State에 대한 값은 동일합니다. 자세한 내용은 집계 및 세부 수준 식을 참조하십시오.
키워드가 FIXED가 아니라 INCLUDE인 경우 각 State별로 값이 달라집니다. INCLUDE는 식을 평가할 때 식의 차원([Region])과 뷰의 추가 차원([State])을 사용합니다.
INCLUDE
INCLUDE 세부 수준 식은 지정된 차원뿐만 아니라 뷰에 있는 모든 차원을 사용하여 값을 계산합니다.
INCLUDE는 데이터베이스에서 상세한 세부 수준으로 계산하되 뷰에는 간단한 세부 수준으로 다시 집계하려는 경우에 유용합니다. INCLUDE 세부 수준 식에 기반하는 필드는 뷰에서 차원을 추가하거나 제거하면 변경됩니다.
예 1
다음 INCLUDE 세부 수준 식은 고객별 총 매출을 계산합니다.
{ INCLUDE [Customer Name] : SUM([Sales]) }
AVG로 집계되도록 행 선반에 LOD를 배치하고 [Region]을 열 선반에 배치하면 뷰에 지역별 평균 고객 매출액이 표시됩니다.
예 2
다음 INCLUDE 세부 수준 식은 주(State)별로 매출 합계를 계산합니다.
{ INCLUDE [State] : SUM(Sales)}
계산은 행 선반에 배치되어 있으며 평균으로 집계됩니다. 결과 비주얼리제이션에서는 주별로 여러 범주에 대한 매출 합계의 평균을 보여 줍니다.
Segment가 열 선반에 추가되면 계산이 레이블로 이동되고 LOD 식 결과가 업데이트됩니다. 이제 주별 매출 합계 평균이 범주와 세그먼트에 따라 어떻게 달라지는지를 확인할 수 있습니다.
EXCLUDE
EXCLUDE 세부 수준 식은 뷰 세부 수준에서 생략할 차원을 선언합니다.
EXCLUDE는 '구성 비율' 또는 '전체 평균에 대한 차이'가 필요한 경우 유용합니다. 이는 총계 및 참조선 같은 기능과 유사합니다.
(생략할 차원이 없는 경우) EXCLUDE는 행 수준 식에서 사용할 수 없습니다. EXCLUDE로 인해 뷰 수준 계산 또는 기타 LOD가 수정될 수 있습니다.
예 1
다음 EXCLUDE 세부 수준 식에서는 월별 평균 매출 합계를 계산한 다음 월을 제외합니다.
- 먼저 Order Date의 연도/월에 대한 필드를 만듭니다.
- 데이터 패널에서 "Order Date"를 마우스 오른쪽 단추로 클릭하고 만들기 > 사용자 지정 날짜 만들기를 선택합니다.
- 세부 정보 목록에서 "연도/월"을 선택합니다. 불연속형이 선택된 상태로 둡니다.
- 그런 다음 "average of sales by month(월별 매출 평균)"라는 LOD 식을 만듭니다.
{EXCLUDE [Order Date (Month / Year)] : AVG({FIXED [Order Date (Month / Year)] : SUM([Sales])})}
이 식은 중첩된 세부 수준 식입니다. 즉, 한 세부 수준 식 내에 다른 세부 수준 식이 포함되어 있습니다.
- 그런 다음 행 선반에서 애드혹 계산을 사용하여 월별 매출 합계에서 계산 값을 뺍니다.
- 열 선반에 Month([Order Date])를 놓습니다.
월별 실제 매출과 전체 4년 기간의 평균 월별 매출 간의 차이를 보여주는 결과 뷰:
예 2
[Sales] 합계에서 [Region]을 제외하는 "ExcludeRegion"이라는 세부 수준 식을 만듭니다.
{EXCLUDE [Region]: SUM([Sales])}
매출 합계를 지역별, 월별로 나눠서 보여 주는 다음과 같은 뷰를 가정합니다.
[ExcludeRegion]을 색상에 놓으면 지역 구성 요소가 없는 상태로 월별 총 매출을 보여 주기 위해 뷰가 음영 처리됩니다.
테이블 범위
범위 지정 키워드를 사용하지 않고 테이블 수준에서 세부 수준 식을 정의할 수 있습니다. 예를 들어 다음 식은 전체 테이블에서 최소(가장 빠른) 주문 날짜를 반환합니다.
{MIN([Order Date])}
이 식은 차원 선언이 없는 다음과 같은 FIXED 세부 수준 식과 동일합니다.
{FIXED : MIN([Order Date])}
참고 항목
Introduction to Level of Detail Expressions(세부 수준 식 소개)(링크가 새 창에서 열림)
A Deeper Look at LOD Expressions(LOD 식 심층 정보)(링크가 새 창에서 열림)
Diving into LOD Expressions(LOD 식 탐구)(링크가 새 창에서 열림)
Top 15 LOD Expressions(상위 15개 LOD 식)(링크가 새 창에서 열림)