목표
이 튜토리얼에서는 다음 작업을 수행합니다.
- 산술 계산 필드를 만드는 방법을 알아봅니다.
- 데이터를 평가하고 다른 결과를 반환하는 조건식을 만듭니다.
- 계산된 필드를 구현하는 다양한 접근 방식을 알아봅니다.
시나리오
온라인 반려동물 전문점을 관리한다고 가정합니다. 제품 코드 (SKU), 품목 이름, 가격 및 판매 수량과 같은 판매 데이터를 측정할 수 있습니다. 예를 들면 다음과 같습니다.
SKU | 항목 | 가격 | 판매 수량 |
---|---|---|---|
D-001 | 'Healthy Dog' 개사료 | 79.96 |
16 |
B-002 | 앵무새 횃대 | 74.97 |
8 |
B-001 | 'Pretty Bird' 새모이 | 31.96 |
20 |
C-002 | 'Hungry Kitty' 고양이 사료 | 29.98 |
3 |
D-002 | 'Playful' 강아지 장난감 | 17.97 |
11 |
C-001 | 'Happy Cat' 캣닙 |
14.97 |
4 |
Looker Studio의 계산된 필드는 이 데이터를 처리하고 확장하는 데 도움이 됩니다. 이 연습에서는 계산된 필드를 사용하여 다음 작업을 실행합니다.
- 각 주문의 총 가치를 계산합니다.
- 일정 금액 이상의 주문에 할인을 적용합니다.
- 판매를 부서별로 분류합니다.
샘플 데이터
이 연습을 서면으로 완료하려면 다음 샘플 데이터를 사용하세요. 그렇지 않으면 나만의 데이터를 사용하세요 (필요에 따라 필드 이름을 조정합니다). Google Sheets에 액세스해야 합니다. 파일 업로드 커넥터를 사용하여 데이터를 Looker Studio로 가져올 수 있습니다.
이 데이터를 복사하여 텍스트 파일에 붙여넣습니다.
SKU,Item,Price,Qty Sold D-001,Healthy Dog Dog Food,79.96,16 B-002,Parrot Perch,74.97,8 B-001,Pretty Bird Bird Seed,31.96,20 C-002,Hungry Kitty Cat Food,29.98,3 D-002,Playful Puppy Toy,17.97,11 C-001,Happy Cat Catnip,14.97,4
1단계: 데이터 준비
- 이전 상자의 샘플 데이터를 복사합니다.
- 텍스트 편집기를 열고 샘플 데이터를 붙여넣은 후 파일을
pet-store-data.csv
로 저장합니다.
스프레드시트에서 파일 > 가져오기를 선택합니다.
업로드를 선택한 다음 2단계에서 만든 샘플 데이터 파일을 업로드합니다.
스프레드시트 바꾸기를 선택합니다.
스프레드시트 이름을
Pet Store
로 지정합니다.
2단계: 보고서 만들기 및 데이터 추가하기
- Looker Studio에서 새 보고서를 만듭니다.
- 보고서에 데이터 추가 패널에서 Google Sheets 커넥터를 선택합니다.
- 방금 만든
Pet Store
스프레드시트 및 워크시트를 선택합니다. - 기본 옵션을 선택된 상태로 둡니다.
- 추가를 클릭합니다.
잠시 후 새 보고서가 표시되며, 여기에는 Pet Store 데이터 소스의 필드를 사용하는 캔버스에 표가 표시됩니다.
3단계: 소계 필드 만들기
메뉴에서 리소스 > 추가된 데이터 소스 관리를 선택합니다.
Pet Store 데이터 소스를 찾아
수정을 클릭합니다.
데이터 소스 필드 패널이 표시됩니다.
필드 추가를 클릭합니다.
계산된 필드 편집기가 표시됩니다.
필드 이름에
Subtotal
를 입력합니다.수식에
Price * Qty Sold
을 입력합니다.저장을 클릭합니다.
모든 필드를 클릭하여 기본 데이터 소스 편집기로 돌아갑니다.
4단계: 할인 필드 만들기
주문값에 따라 다른 할인율을 제공한다고 가정해 보겠습니다. 소계 필드를 평가하고 다음 할인을 적용하는 Discount
이라는 또 다른 계산된 필드를 만듭니다.
소계 값 | 할인율 |
0~99 | 0 |
100~499명 | 5% |
500개 이상 | 10% |
힌트:
- 이 단계에서는 할인만 계산합니다. 다음 단계에서 소계 필드에 할인 필드를 곱하여 적용합니다.
CASE
표현식을 사용하여 소계 필드를 평가합니다.
- 각 할인율에
WHEN
절을 사용합니다.ELSE
절을 사용하여 정가를 반환합니다 (0% 할인).- 할인을 소수점 값으로 표현합니다. 예를 들어 25% 할인은 .25가 됩니다.
솔루션
CASE WHEN Subtotal > 499 THEN .9 WHEN Subtotal > 100 THEN .95 ELSE 1 END
5단계: 합계 필드 만들기
소계 필드에 할인 필드를 곱하는 Total
이라는 또 다른 계산된 필드를 만듭니다.
솔루션
Subtotal * Discount
6단계: 부서 필드 만들기
SKU 필드를 파싱하고 SKU에 따라 새 값을 지정하는 Department
라는 최종 계산된 필드를 만듭니다. 개, 고양이, 새 관련 상품을 별도의 부서로 그룹화합니다.
힌트: 이번에는
STARTS_WITH
(또는REGEXP_MATCH
) 함수를 이용해CASE
문을 다시 사용해 보세요.
솔루션
CASE WHEN STARTS_WITH(SKU, "C") THEN "Cat" WHEN STARTS_WITH(SKU, "D") THEN "Dog" WHEN STARTS_WITH(SKU, "B") THEN "Bird" ELSE "Misc" END
7단계: 보고서에서 데이터 보기
- 부서 필드를 저장한 후 왼쪽에서 모든 필드를 클릭하여 데이터 소스 편집기로 돌아갑니다.
- 완료를 클릭한 다음 데이터 소스 관리 패널을 닫습니다.
이제 다음 단계에 따라 새 계산된 필드를 차트에 추가할 수 있습니다.
- 표를 선택합니다.
- 데이터 패널에서 표로 또는 표의 설정 패널로 드래그하여 만든 각 계산된 필드를 표에 추가합니다.
대안 솔루션도
이전 솔루션에서는 소계, 할인, 합계 필드에서 했던 것과 마찬가지로 문제를 개별 청크로 나누고 각 청크를 처리하기 위해 별개의 필드를 생성했습니다.
또 다른 접근 방식은 계산된 필드 하나에서 모든 계산을 수행하는 것입니다. 예를 들어 이 튜토리얼의 3~5단계를 하나의 필드로 통합할 수 있습니다.
CASE WHEN Price * Qty Sold > 499 THEN (Price * Qty Sold) * .9 WHEN Price * Qty Sold > 100 THEN (Price * Qty Sold) * .95 ELSE Price * Qty Sold END
각 접근 방식에는 장단점이 있습니다.
복잡한 수식을 별도의 필드로 나누면 수식을 보다 쉽게 읽고 작성할 수 있으며 오류가 발생할 가능성이 낮아집니다. 또한 별도의 필드는 다양한 맥락에서 유용할 수 있습니다. 예를 들어 할인율에 별도의 필드를 사용하면 해당 필드를 다른 계산에 사용하거나 보고서에 표시할 수 있습니다. 별개의 계산된 필드가 여러 개 있는 수식을 만들 때 한 가지 단점은 각 필드가 무엇을 하는지 명확하지 않을 수도 있어 계산 방법을 개별적으로 수정해야 합니다.
반면에 모든 로직을 하나의 필드에 중앙 집중화하면 수식을 더 쉽게 이해하고 수정할 수 있습니다. 하지만 반복적으로 입력해야 할 수도 있으며, 복잡한 수식은 확장하거나 유지 관리하기가 어려울 수 있습니다. 예를 들어 주문 수량 기준이 다른 제품 수준이 10개 있다고 가정해 보겠습니다. 다른 제품 라인에 동일한 할인을 적용하고자 한다고 가정해 보겠습니다. 이러한 경우, 해당 기준 및 할인에 별도의 필드를 사용하는 것이 더욱 간단하고 효율적일 수 있습니다.
절충안
이 솔루션은 이전에 설명한 두 가지 접근 방식을 혼합한 것입니다. 주요 로직을 단일 필드에 유지하면서 일부 종속 로직은 별도의 필드로 분리합니다.
CASE WHEN Subtotal > Large Order THEN Subtotal * Large Order Discount WHEN Subtotal > Medium Order THEN Subtotal * Medium Order Discount ELSE Subtotal END
이 솔루션에서는 대량/중간 규모 주문 및 관련 할인이 적용되는 별도의 필드를 만들었습니다.
이 솔루션은 읽기 쉽고, 유연하고, 필요에 따라 비교적 쉽게 조정할 수 있다는 장점이 있습니다.