목표
- 간단한 산술 계산 필드를 만드는 방법에 대해 알아봅니다.
- 데이터를 평가하고 다른 결과를 반환하는 조건식을 만듭니다.
- 계산된 필드를 구현하는 다양한 접근 방식을 알아봅니다.
시나리오
온라인 반려동물 전문점을 관리한다고 가정합니다. 제품 코드(SKU), 품목 이름, 가격 및 판매 수량과 같은 판매 데이터를 측정할 수 있습니다. 다음 예를 참조하세요.
SKU | 품목 | 가격 | 판매 수량 |
D-001 | 건강한 개 개사료 |
79.96 |
16 |
B-002 | 앵무새 횃대 |
74.97 |
8 |
B-001 | 예쁜 새 새모이 |
31.96 |
20 |
C-002 | 배고픈 새끼 고양이 사료 |
29.98 |
3 |
D-002 | 즐거운 강아지 장난감 |
17.97 |
11 |
C-001 |
행복한 고양이 캣닙 |
14.97 |
4 |
Looker Studio의 계산된 필드는 이 데이터를 처리하고 확장하는 데 도움이 됩니다. 이 연습에서는 계산된 필드를 사용하여 다음을 실행합니다.
- 각 주문의 총 가치를 계산합니다.
- 일정 금액 이상의 주문에 할인을 적용합니다.
- 판매를 부서별로 분류합니다.
솔루션 참고사항
니즈 및 이러한 필드 사용 방법에 따라 계산된 필드로 특정 결과를 얻는 방법에는 여러 가지가 있을 수도 있습니다. 이 튜토리얼에서는 계산에 대해 별도의 필드를 사용하는 방법을 안내합니다. 이 도움말 하단에서 대안 솔루션을 확인할 수 있습니다.
샘플 데이터
이 연습을 서면으로 완료하려면 아래 샘플 데이터를 사용하세요. 그렇지 않으면 나만의 데이터를 사용하세요(필요에 따라 필드 이름을 조정합니다). Google Sheets에 액세스해야 하거나 파일 업로드 커넥터를 사용하여 데이터를 Looker Studio로 가져올 수 있습니다.
SKU,품목,가격,판매 수량
D-001,건강한 개 개사료,79.96,16
B-002,앵무새 횃대,74.97,8
B-001,예쁜 새 새모이,31.96,20
C-002,배고픈 새끼 고양이 사료,29.98,3
D-002,즐거운 강아지 장난감,17.97,11
C-001,행복한 고양이 캣닙,14.97,4
데이터 준비하기
- 위의 상자에 샘플 데이터를 복사합니다.
- 텍스트 편집기를 열고 샘플 데이터를 붙여넣은 후 파일을
pet-store-data.csv
로 저장합니다.-
이 파일을 일반 텍스트로 저장해야 합니다. 그렇지 않으면 스프레드시트에서 데이터를 가져올 수 없습니다.
-
Windows에서는 메모장을 사용할 수 있습니다.
-
Mac OS에서는 TextEdit(텍스트에딧)을 사용하고 Format(포맷) > Make plain text(일반 텍스트 만들기)를 선택하면 됩니다.
-
Chrome OS에서는 텍스트 앱 또는 문서를 사용하고 파일 > 다운로드를 선택한 다음 일반 텍스트를 선택하면 됩니다.
-
-
- 새 Google 시트를 만듭니다.
- 스프레드시트에서 파일가져오기를 선택합니다.
- 업로드를 선택한 다음 2단계에서 만든 샘플 데이터 파일을 업로드합니다.
- 스프레드시트 바꾸기를 선택합니다.
- 스프레드시트의 이름을 Pet Store로 지정합니다.
보고서 만들기 및 데이터 추가하기
- Looker Studio에서 새 보고서를 작성합니다.
- 보고서에 데이터 추가 패널에서 Google Sheets 커넥터를 선택합니다.
- 방금 만든
Pet Store
스프레드시트 및 워크시트를 선택합니다. - 기본 옵션을 선택된 상태로 둡니다.
- 오른쪽 하단에서 추가를 클릭합니다.
잠시 후 새 보고서가 표시되며, 여기에는 Pet Store 데이터 소스의 필드를 사용하는 캔버스에 표가 표시됩니다.
소계 필드 만들기
- 메뉴에서 리소스 > 추가된 데이터 소스 관리를 선택합니다.
- Pet Store 데이터 소스 오른쪽에서 수정을 클릭합니다.
데이터 소스 필드 패널이 나타납니다. - 오른쪽 상단에서 필드 추가를 클릭합니다.
계산된 필드 편집기가 표시됩니다. - 필드 이름에
소계
를 입력합니다. - 수식에
가격 * 판매 수량
을 입력합니다.팁: 수식 편집기는 입력할 때 측정기준, 측정항목 또는 함수 이름을 자동 완성합니다. 왼쪽의 사용 가능한 필드 목록의 필드를 수식으로 끌어올 수도 있습니다. - 오른쪽 하단에서 저장을 클릭합니다.
- 왼쪽에서 모든 필드를 클릭하여 기본 데이터 소스 편집기로 돌아갑니다.
할인 필드 만들기
주문값에 따라 다른 할인을 제공한다고 가정해 보겠습니다. 소계 필드를 평가하고 다음 할인을 적용하는 할인
이라는 또 다른 계산된 필드를 만듭니다.
소계 값 | 할인율 |
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
참고: WHEN 절은 순서대로 평가되며, true인 첫 번째 절의 THEN 절이 반환됩니다.
합계 필드 만들기
합계
라는 또 다른 계산된 필드를 만들어 소계 필드에 할인 필드를 곱합니다.
해결 방법
소계 * 할인
부서 필드 만들기
SKU 필드를 파싱하고 SKU에 따라 새 값을 지정하는 부서라는 최종 계산된 필드를 만듭니다. 개, 고양이 및 새 관련 품목을 별도의 부서로 그룹화하고자 합니다.
힌트: 이번에는 START_WITH(또는 REGEXP_MATCH) 함수를 이용해 CASE
함수를 다시 사용해 보세요.
해결 방법
CASE
WHEN STARTS_WITH(SKU, "C") THEN "고양이"
WHEN STARTS_WITH(SKU, "D") THEN "개"
WHEN STARTS_WITH(SKU, "B") THEN "새"
ELSE "기타"
END
보고서에서 데이터 보기
- 부서 필드를 저장한 후 왼쪽에서 모든 필드를 클릭하여 데이터 소스 편집기로 돌아갑니다.
- 오른쪽 상단에서 완료를 클릭합니다.
- 오른쪽에서 데이터 소스 관리 패널을 닫습니다.
이제 새 계산된 필드를 차트에 추가할 수 있습니다.
- 표를 선택합니다.
- 오른쪽에서 사용 가능한 필드 목록에서 만든 각 계산된 필드를 아래와 같이 데이터 패널의 측정기준 및 측정항목 섹션으로 드래그합니다.
대안 솔루션
소계
, 할인
, 합계
필드에서 했던 것과 마찬가지로, 위의 솔루션에서는 문제를 개별 청크로 나누고 각 청크를 처리하기 위해 별개의 필드를 생성했습니다.
또 다른 접근 방식은 계산된 필드 하나에서 모든 계산을 수행하는 것입니다. 예를 들어 이 튜토리얼의 3~5단계를 하나의 필드로 통합할 수 있습니다.
CASE
WHEN 가격 * 판매 수량 > 499 THEN (가격 * 판매 수량) * .9
WHEN 가격 * 판매 수량 > 100 THEN (가격 * 판매 수량) * .95
ELSE 가격 * 판매 수량
END
이 방법에는 각각 장점과 단점이 있습니다.
복잡한 수식을 별도의 필드로 나누면 수식을 보다 쉽게 읽고 작성할 수 있으며 오류가 발생할 가능성이 낮아집니다. 또한 별도의 필드는 다양한 맥락에서 유용할 수 있습니다. 예를 들어 할인율에 별도의 필드를 사용하면 해당 필드를 다른 계산에 사용하거나 보고서에 표시할 수 있습니다. 별개의 계산된 필드가 여러 개 있는 수식을 만들 때 한 가지 단점은 각 필드가 무엇을 하는지 명확하지 않을 수도 있어 계산 방법이나 변경 방식을 개별적으로 수정해야 합니다.
반면에 모든 로직을 하나의 필드에 중앙 집중화하면 손쉽게 이해하고 수정할 수 있는 간단한 수식을 만들 수 있습니다. 하지만 반복적으로 입력해야 할 수도 있으며, 복잡한 수식은 확장하거나 유지 관리하기가 어려울 수 있습니다. 예를 들어 주문 수량 기준이 다른 제품 수준이 10개 있거나 다른 제품 라인에 동일한 할인을 적용하고자 한다고 가정해 보겠습니다. 이러한 경우, 해당 기준 및 할인에 별도의 필드를 사용하는 것이 더욱 간단하고 효율적일 수 있습니다.
절충안
이 솔루션은 위에서 설명한 접근 방식 2가지가 혼합되어 있습니다. 주요 로직을 단일 필드에 유지하면서 일부 종속 로직은 별도의 필드로 분리합니다.
CASE
WHEN 소계 > 대량 주문 THEN 소계 * 대량 주문 할인
WHEN 소계 > 중간 규모 주문 THEN 소계 * 중간 규모 주문 할인
ELSE 소계
END
이 솔루션에서는 대량/중간 규모 주문 및 관련 할인이 적용되는 별도의 필드를 만들었습니다.
이 솔루션은 읽기 쉽고, 유연하고, 필요에 따라 비교적 쉽게 조정할 수 있다는 장점이 있습니다.