커스텀 포뮬러

circle-info

커스텀 포뮬러란?

커스텀 포뮬러는 라플라스에서 데이터를 분석할 때 나만의 계산식을 만들 수 있는 기능입니다. 엑셀이나 구글 스프레드시트의 수식과 비슷하게, 기존 측정값(Measure)과 분석단위(Dimension)를 조합하여 새로운 지표를 만들 수 있습니다.

커스텀 포뮬러에서는 다음이 가능해요:

  1. 비율 계산: 전환율, 평균 주문금액, 클릭당 비용 등 핵심 지표 계산

  2. 목표 관리: 목표 달성률, 목표 대비 실적, 진행률 추적

  3. 조건부 분석: 등급 분류, 세그먼트 구분, 조건부 집계

  4. 문자열 처리: 데이터 정제, 파싱, 결합 및 변환

  5. 날짜 연산: 기간 계산, 날짜 형식 변환, 분기별 분석

  6. 복합 계산: ROAS, ROI, 순이익률 등 고급 지표

작동 원리

Custom Formula는 다음과 같은 순서로 작동합니다:

  1. 수식 입력

circle-check
  1. 구문 검증 문법 오류 체크 - 괄호, 따옴표, 함수명 검증

  2. 타입 검증 데이터 타입 호환성 체크 - 숫자, 문자열, 날짜 타입 확인

  3. SQL 변환 Trino SQL로 변환하여 데이터베이스 실행 가능한 쿼리 생성

  4. 실행 & 결과 쿼리 실행 및 결과를 대시보드에 표시

엑셀과의 비교

구분
액셀/스프레드시트
라플라스 Custom Formula셀 참조

셀 참조

A1, B2:B10

'revenue', 'order_count'

함수

=SUM(A1:A10)

SUM('revenue')

조건문

=IF(A1>100, "High", "Low")

IF('revenue' > 100, "High", "Low")

문자

="Hello " & A1

CONCAT("Hello ", 'product_name')

circle-info

핵심 차이점

  • 컬럼명은 작은따옴표(`'`)로 감쌉니다: 'revenue'

  • 문자열 값은 큰따옴표(`"`)로 감쌉니다: "완료"

  • 함수명은 대문자로 작성합니다: SUM, DIVIDE

기본 문법

1. 컬럼 참조

"컬럼명"

2. 숫자 리터럴

3. 문자열 리터럴

큰 따옴표를 사용합니다.

4. 연산자 우선순위

  1. ()괄호 가장 먼저 계산 됩니다.

  2. * / 곱셈, 나눗셈

    덧셈/뺄셈보다 먼저 계산

  3. + - 덧셈, 뺄셈

    곱셈/나눗셈 다음에 계산

  4. > < >= <= 비교 연산자

    산술 연산 후 비교

  5. AND OR 논리 연산자

    마지막으로 계산됩니다

연산자

산술 연산자

연산자
설명
예시
결과 설명

+

더하기

'revenue' + 'cost'

매출 + 비용

-

빼기

'revenue' - 'cost'

순이익

*

곱하기

'quantity' * 'unit_price'

총 금액

/

나누기

'revenue' / 'order_count'

평균 주문금액

%

나머

'number' % 2

홀짝 판별용

비교 연산자

평균 주문금액(AOV) = 총 매출/ 주문건수

논리 연산자

연산자
설명
예시

AND

그리고 (둘 다 참)

'revenue' > 1000 AND 'status' = "완료"

OR

또는 (하나라도 참)

'category' = "의류" OR 'category' = "잡화"

함수 종류

집계 함수

함수
문법
설명
예시

SUM

SUM(value)

합계

SUM('revenue')

AVG

AVG(value)

평균

AVG('order_amount')

COUNT

COUNT(value)

개수

COUNT('order_id')

MIN

MIN(value)

최솟값

MIN('price')

MAX

MAX(value)

최댓값

MAX('purchase_date')

수학 함수

함수
문법
설명
예시

MULTIPLY

MULTIPLY(a, b)

곱셈

MULTIPLY('quantity', 'unit_price')

DIVIDE

DIVIDE(a, b)

나눗셈

DIVIDE('revenue', 'order_count')

SUBTRACT

SUBTRACT(a, b)

뺼셈

SUBTRACT('revenue', 'cost')

ABS

ABS(value)

절댓값

ABS('profit_loss')

ROUND

ROUND(value, [decimals])

반올림

ROUND('avg_price', 2)

FLOOR

FLOOR(value)

내림

FLOOR('decimal_value')

CEIL

CEIL(value)

올림

CEIL('decimal_value')

POWER

POWER(base, exponent)

거듭제곱

POWER(2, 3)

SQRT

SQRT(value)

제곱근

SQRT(16)

MOD

MOD(a, b)

나머지

MOD(10, 3)

조건 함수

함수
문법
설명
예시

IF

IF(condition, true_value, false_value)

조건문

IF('revenue' > 1000, "우수", "보통")

IFS

IFS(cond1, val1, cond2, val2, ...)

다중 조건문

IFS('revenue' >= 10000, "최우수", 'revenue' >= 5000, "우수", TRUE, "보통")

COALESCE

COALESCE(val1, val2, ...)

NULL 대체

COALESCE('discount', 0)

NULLIF

NULLIF(val1, val2)

같으면 NULL

NULLIF('order_count', 0)

문자열 함수

함수
문법
설명
예시

CONCAT

CONCAT(str1, str2, ...)

문자열 결합

CONCAT('first_name', " ", 'last_name')

UPPER

UPPER(text)

대문자 변환

UPPER('product_code')

LOWER

LOWER(text)

소문자 변환

LOWER('email')

TRIM

TRIM(text)

공백 제거

TRIM('address')

LENGTH

LENGTH(text)

문자열 길이

LENGTH('product_name')

SUBSTR

SUBSTR(text, start, [length])

부분 문자열

SUBSTR('phone', 1, 3)

REPLACE

REPLACE(text, old, new)

문자열 치

REPLACE('address', "서울", "Seoul")

날짜/시간 함수

함수
문법
설명
예시

NOW

NOW()

현재 시각

NOW()

CURRENT_DAT

CURRENT_DATE()

오늘 날짜

CURRENT_DATE()

DATE

DATE(year, month, day)

날짜 생성

DATE(2024, 1, 15)

YEAR

YEAR(date)

연도 추출

YEAR('time_id')

MONTH

MONTH(date)

월 추출

MONTH('time_id')

DAY

DAY(date)

일 추출

DAY('time_id')

WEEK

WEEK(date)

주차 추출

WEEK('time_id')

DAY_OF_WEEK

DAY_OF_WEEK(date)

요일 (1=월)

DAY_OF_WEEK('time_id')

QUARTER

QUARTER(date)

분기

QUARTER('time_id')

DATE_DIFF

DATE_DIFF(unit, date1, date2)

날짜 차이

DATE_DIFF("day", 'start_date', 'end_date')

DATE_ADD

DATE_ADD(unit, value, date)

날짜 더하기

DATE_ADD("day", 7, 'order_date')

DATE_TRUNC

DATE_TRUNC(unit, date)

날짜 절삭

DATE_TRUNC("month", 'time_id')

DATE_FORMAT

DATE_FORMAT(date, format)

날짜 형식화

DATE_FORMAT('time_id', "%Y-%m-%d")

정규식 함수

함수
문법
설명
예시

REGEXP_EXTRACT

REGEXP_EXTRACT(text, pattern)

정규식 추출

REGEXP_EXTRACT('url', "utm_source=([^&]+)")

REGEXP_REPLACE

REGEXP_REPLACE(text, pattern, replacement)

정규식 치환

REGEXP_REPLACE('phone', "[^0-9]", "")

타입 변환 함수

함수
문법
설명
예시

CAST

CAST(value, "TYPE")

타입 변환

CAST('amount', "DOUBLE")

circle-exclamation

예제

비율 계산

항목
계산
문법
결과값

전환율(CVR)

(주문수 ÷ 클릭수) × 100

DIVIDE('order_count', 'clicks') * 100

5.0%

평균 주문금액 (AOV)

매출 ÷ 주문수

DIVIDE('revenue', 'order_count')

₩ 50,000

클릭당 비용 (CPC)

광고비 ÷ 클릭수

ROUND(DIVIDE('ad_cost', 'clicks'), 2)

₩ 200

ROAS

(매출 ÷ 광고비) × 100

ROUND(DIVIDE('revenue', 'ad_cost') * 100, 1)

500%

목표 관리

항목
계산
문법
결과값

목표 달성률

(실제 매출 ÷ 목표 매출) × 100

ROUND(DIVIDE('revenue', 'target_revenue') * 100, 1)

85%

목표 달성 등급

S (130%↑) / A (110%↑) / B (90%↑) / C (90%↓)

IFS( DIVIDE('revenue', 'target_revenue') >= 1.3, "S등급", DIVIDE('revenue', 'target_revenue') >= 1.1, "A등급", DIVIDE('revenue', 'target_revenue') >= 0.9, "B등급", TRUE, "C등급" )

A등급

목표 대비 차이

실제 매출 - 목표 매출

SUBTRACT('revenue', 'target_revenue')

+ ₩ 2,000,000

일평균 필요 매

(목표 - 현재) ÷ 남은 일수

ROUND( DIVIDE( SUBTRACT('target_revenue', 'current_revenue'), 'days_remaining' ), 0 )

₩ 1,200,000/

고객 세분화

항목
계산
문법
결과값

고객 등급 분류

플래티넘 (50K↑) / 골드 (20K↑) / 실버 (10K↑) / 브론즈

IFS( 'revenue' >= 50000, "플래티넘", 'revenue' >= 20000, "골드", 'revenue' >= 10000, "실버", TRUE, "브론즈" )

주말/평일 구분

요일 번호로 주말 판별

IF(DAY_OF_WEEK('time_id') >= 6, "주말", "평일")

신규/재구매 고객

주문 횟수로 고객 유형 분류

IF('order_count' > 1, "재구매", "신규")

연령대 분류

35세 → "30대"

CONCAT( CAST(FLOOR('age' / 10) * 10, "VARCHAR"), "대" )

팁과 주의사항

권장 사항

circle-check
circle-check
circle-check

주의 사항

항목
❌ 잘못된 예
✅ 올바른 예

함수명 대소문자

sum('revenue')

SUM('revenue')

컬럼 참조

revenue 또는 "revenue"

'revenue'

문자열

'완료'

"완료"

컬럼명 오타

'revenu'

'revenue'

triangle-exclamation

자주 묻는 질문 (FAQ)

chevron-rightQ. 수식이 작동하지 않아요. 어떻게 해야 하나요?hashtag

체크리스트:

  1. 함수명이 대문자인가요? (SUM, IF)

  2. 컬럼명을 작은따옴표로 감쌌나요? ('revenue')

  3. 문자열을 큰따옴표로 감쌌나요? ("완료")

  4. 괄호가 제대로 닫혔나요?

chevron-rightQ. 다른 수식을 참조할 수 있나요?hashtag

네, 가능합니다! 먼저 "평균 주문금액" 수식을 만들고: DIVIDE('revenue', 'order_count') 그 다음 다른 수식에서 참조: IF('평균 주문금액' > 50000, "VIP", "일반") ⚠️ 주의: 순환 참조는 금지됩니다.

chevron-rightQ. 수식 성능을 개선하려면?hashtag

권장 사항:

  1. 복잡한 정규식은 최소화해주세요.

  2. 중복 계산은 별도 수식으로 분리하여 재사용해주세요.

  3. 필요한 데이터만 필터링하여 사용해주세요.

전담 매니저에게 요청하기

커스텀 포뮬러 이용에 어려움이 있으신가요?

하단의 문의하기 혹은 홈페이지의 채널톡을 통해 문의하세요. 담당 매니저가 데이터 연결에 도움을 드리도록 하겠습니다.

💬 채널톡으로 문의하기arrow-up-right

💬 홈페이지에서 문의하기arrow-up-right

이메일 문의: [email protected]envelope

Last updated