[실전] IF / CASE 함수를 활용해 데이터 카테고리(그룹) 만들기
데이터 보고서를 만들다 보면, 원본 데이터가 우리가 원하는 만큼 깔끔하지 않아서 애먹을 때가 많아요. 특히 구글 애널리틱스(GA4)의 ‘소스/매체’ 데이터는 ‘google / cpc’, ‘naver / cpc’, ‘facebook / cpc’, ‘google / organic’ 처럼 너무 세세하게 쪼개져 있어서, 한눈에 성과를 파악하기가 정말 어려워요.
이럴 때, 이 지저분한 데이터들을 ‘유료 검색’, ‘자연 검색’, ‘소셜 미디어’ 처럼 의미 있는 큰 그룹으로 묶어주는 작업이 꼭 필요합니다. 오늘은 엑셀에서 수동으로 작업하던 이 그룹화 작업을, 루커 스튜디오의 ‘계산된 필드’ 기능, 그중에서도 IF 함수와 CASE 함수를 활용해 자동으로 처리하는 방법을 알려드릴게요!
1. 왜 데이터를 그룹으로 묶어야 할까요?
이 작업을 하는 데는 아주 명확한 이유가 있어요. 단순히 보고서를 예쁘게 꾸미려는 게 아닙니다.
- 빠른 의사결정: 경영진이나 상사는 ‘google / cpc’와 ‘naver / cpc’의 개별 성과보다는, ‘그래서 이번 달 유료 검색(Paid Search)에 쓴 돈이 효과가 있었나?’ 하는 큰 그림을 보고 싶어 해요. 데이터를 의미 있는 단위로 그룹화하면, 이렇게 높은 수준의 질문에 즉시 답을 할 수 있습니다.
- 효율적인 분석: 수십 개에 달하는 캠페인 성과를 하나하나 비교하는 것보다, ‘유료 검색’, ‘자연 검색’, ‘소셜 미디어’라는 3~4개의 큰 채널로 묶어서 비교하면, 어떤 채널에 더 집중해야 할지 우선순위를 정하기가 훨씬 쉬워집니다.
- 보고서의 가독성: 무엇보다도 보고서가 깔끔해지고, 데이터를 잘 모르는 사람이 보더라도 즉시 이해할 수 있게 됩니다.
2. 그룹화의 두 가지 도구: IF와 CASE
데이터를 그룹화할 때 주로 사용하는 함수는 IF와 CASE 두 가지예요. 이 둘의 차이점을 아는 것이 중요합니다.
- IF 함수: 단순한 이분법에 유리해요 IF 함수는 “만약 ~라면 A, 아니라면 B” 처럼 조건이 딱 두 가지로 나뉠 때 사용하기 좋아요. 예를 들어, ‘국가’ 데이터에서 ‘한국’이면 “국내”, 그 외 모든 나라는 “해외”로 표시하는 건 IF 함수로 간단하게 해결할 수 있습니다. if(국가 = "한국", "국내", "해외")
- CASE 함수: 여러 개의 복잡한 조건을 다룰 때 최적이에요 하지만 우리가 하려는 ‘채널 그룹화’처럼, ‘유료 검색’, ‘자연 검색’, ‘소셜’ 등 여러 개의 조건으로 분류해야 할 때는 IF 함수를 중첩해서 쓰기 시작하면 수식이 금방 지저분해지고 복잡해져요. 바로 이럴 때 CASE 함수를 사용합니다. CASE는 여러 개의 조건을 순서대로 하나씩 확인하면서, 가장 먼저 맞는 조건의 결과를 반환해주는, 그룹화 작업에 특화된 함수입니다.
오늘은 두 가지 다 보여드릴 테지만, 복잡한 그룹화에는 CASE 함수를 쓰는 것이 훨씬 더 깔끔하고 좋다는 것을 먼저 기억해주세요.
3. 실전 예제 1: IF 함수로 ‘국내/해외’ 구분하기
먼저 간단한 IF 함수부터 연습해 볼게요. 구글 애널리틱스 데이터에 있는 ‘국가’ 필드를 이용해서 ‘국내’와 ‘해외’로 구분하는 새 필드를 만들어 보겠습니다.
1. 계산된 필드 만들기 루커 스튜디오 편집 화면의 오른쪽 ‘데이터’ 패널 하단에 있는 ‘+ 필드 추가’ 버튼을 누르거나, 상단 메뉴의 ‘리소스’ > ‘추가된 데이터 소스 관리’로 들어가서 ‘수정’을 눌러 ‘+ 필드 추가’를 선택합니다.
2. 필드 이름 입력 새로 만들 필드의 이름을 ‘지역 구분’이라고 입력합니다.
3. 함수 수식 입력 ‘수식’ 입력창에 아래와 같이 IF 함수를 입력합니다. IF(국가 = "South Korea", "국내", "해외")
4. 수식 의미 파악하기 이 수식의 의미는 이렇습니다.
- IF(: 만약 ~라면
- 국가 = "South Korea": ‘국가’라는 필드의 값이 “South Korea”와 같다면, (이것이 조건입니다)
- , "국내": “국내”라고 표시하고, (이것이 참일 때의 결과입니다)
- , "해외": 그렇지 않다면(즉, South Korea가 아니라면), “해외”라고 표시해라. (이것이 거짓일 때의 결과입니다)
- ): 함수를 닫습니다.
5. 저장 및 확인 ‘저장’ 버튼을 누르면, 이제 여러분의 데이터 패널에는 ‘지역 구분’이라는 새로운 초록색 측정기준이 생긴 것을 볼 수 있어요. 이 필드를 표의 측정기준으로 사용하면, 모든 국가가 ‘국내’ 또는 ‘해외’로 깔끔하게 그룹화되어 보입니다.
4. 실전 예제 2: CASE 함수로 ‘채널 그룹’ 만들기 (최종보스)
이제 진짜 목적인, 지저분한 ‘소스/매체’ 데이터를 깔끔한 ‘채널 그룹’으로 묶어보겠습니다. 여기서는 IF 대신 CASE 함수와, 텍스트를 찾아주는 REGEXP_MATCH 함수를 함께 쓸 거예요.
1. 계산된 필드 만들기 위와 동일하게 ‘+ 필드 추가’를 눌러 새 필드 만들기 창을 엽니다.
2. 필드 이름 입력 필드 이름을 ‘채널 그룹’이라고 입력합니다.
3. 함수 수식 입력 ‘수식’ 입력창에 아래의 코드를 그대로 복사해서 붙여넣으셔도 좋습니다. (단, ‘소스/매체’라는 필드 이름은 본인의 데이터 소스에 맞게 확인해야 합니다.)
CASE WHEN REGEXP_MATCH(소스/매체, ".*cpc.*|.*ppc.*") THEN "유료 검색 (Paid Search)" WHEN REGEXP_MATCH(소스/매체, ".*organic.*") THEN "자연 검색 (Organic Search)" WHEN REGEXP_MATCH(소스/매체, ".*social.*|.*facebook.*|.*instagram.*|.*fb.*") THEN "소셜 미디어 (Social)" WHEN REGEXP_MATCH(소스/매체, ".*referral.*") THEN "추천 (Referral)" WHEN 소스/매체 = "(direct) / (none)" THEN "직접 방문 (Direct)" ELSE "기타" END
4. 수식 상세 해부하기 이 코드가 이번 포스팅의 핵심이에요. 한 줄씩 자세히 설명해 드릴게요.
- CASE: 지금부터 여러 조건을 순서대로 체크하겠다는 선언입니다.
- WHEN ... THEN ...: “만약(WHEN) ~라는 조건을 만족하면, ~라고(THEN) 표시해라”는 한 쌍의 명령어입니다.
- REGEXP_MATCH(필드, "찾을 단어"): 이 함수가 핵심입니다. ‘정규식’이라는 조금 어려운 문법을 사용해서, 해당 필드에 내가 ‘찾을 단어’가 포함되어 있는지 확인해줘요.
- ".*cpc.*|.*ppc.*": 이 부분이 조금 어려워 보일 수 있어요.
- .*cpc.*: ‘cpc’라는 글자가 포함된 모든 것을 찾아달라는 뜻입니다. (.*는 앞뒤에 어떤 글자가 와도 상관없다는 의미예요)
- |: ‘또는(OR)’을 의미합니다.
- 즉, ".*cpc.*|.*ppc.*"는 ‘cpc’ 또는 ‘ppc’라는 단어가 포함된 모든 ‘소스/매체’를 의미해요. 이걸 ‘유료 검색’으로 분류하는 거죠.
- WHEN 소스/매체 = "(direct) / (none)": REGEXP_MATCH 대신 =를 써서, ‘소스/매체’ 값이 정확히 (direct) / (none)과 일치하는 경우는 ‘직접 방문’으로 분류하라고 지정해 줬어요.
- ELSE "기타": 위에서 지정한 5가지 조건에 하나도 해당하지 않는 나머지 모든 데이터는 ‘기타’로 분류하라는 뜻입니다. ELSE를 빼먹으면 분류되지 못한 데이터는 null(값 없음)로 표시되니, 꼭 넣어주는 게 좋습니다.
- END: CASE 함수의 마침표입니다. “이제 조건 검사를 마친다”는 뜻으로, 이걸 빠뜨리면 오류가 나니 꼭 마지막에 써주세요.
이제 이 ‘채널 그룹’이라는 새로운 초록색 측정기준을 여러분의 차트에 적용해 보세요. 수십 줄로 지저분했던 데이터 표가, 5~6줄의 깔끔하고 의미 있는 채널 성과 보고서로 바뀌는 것을 바로 확인하실 수 있을 거예요 :)



댓글
댓글 쓰기