메트릭이란?
메트릭은 Cube Record 타입의 필드로 제공되는 집계 함수입니다. GraphQL 쿼리 안에서 직접 통계를 계산해 후처리 없이 쓸 수 있습니다. 차원 필드와 함께 메트릭 필드를 선택하면, 선택한 차원으로 그룹화한 뒤 각 그룹에 대해 메트릭을 계산합니다. 지원 메트릭:Record 타입의 메트릭 필드
메트릭은 각 Cube의 Record 타입 최상위 필드로 나타납니다. 모든 Cube가 모든 메트릭을 지원하는 것은 아니며, Cube 정의에 따릅니다.of 파라미터
sum, avg, min, max, uniq 같은 메트릭은 어떤 차원을 집계할지 지정하는 of 파라미터가 필요합니다. of 값은 차원 경로 명명 규칙에 따라 Cube마다 생성되는 enum입니다.
예: DEX별 총 매수 볼륨
count — 행 세기
of 없이 쓰는 count 는 각 그룹의 총 행 수를 셉니다(COUNT(*) 와 동일):
uniq — 고유 개수
uniq 는 SQL의 COUNT(DISTINCT column) 에 대응합니다. 차원의 고유 값 개수를 셀 때 사용합니다:
selectWhere — HAVING 스타일 필터
selectWhere 는 SQL의 HAVING 과 비슷하게 집계 결과에 대해 필터합니다. 그룹화·집계 이후에 적용되며, 메트릭 값으로 그룹을 걸러 냅니다.
selectWhere 값은 반드시 문자열로 넘깁니다(예: "100" 이며 100 이 아님). 내부적으로 숫자로 파싱됩니다.selectWhere 가 지원하는 비교 연산자:
실전 예: 상위 트레이더
오늘 특정 토큰에 대해 거래 건수 기준 상위 10지갑을 찾고, 총 매수 볼륨과 고유 거래 수를 표시:여러 메트릭 조합
한 쿼리에서 여러 메트릭 필드를 함께 선택할 수 있습니다:메트릭 vs 사전 집계 Cube
자주 묻는 질문: DWD Cube에 메트릭을 쓸까, DWM/DWS Cube를 직접 조회할까?
선택 가이드
캔들스틱 차트가 필요할 때
캔들스틱 차트가 필요할 때
Pairs(DWM)를 쓰세요. 분당 시가/고가/저가/종가/볼륨이 이미 계산되어 있습니다. DEXTrades를 직접 집계할 필요가 없습니다.
토큰별 매수/매도 건수가 필요할 때
토큰별 매수/매도 건수가 필요할 때
Tokens(DWM)를 쓰세요. 분당 거래 건수, 볼륨, 고유 트레이더를 미리 집계합니다.
토큰 홀더 순위가 필요할 때
토큰 홀더 순위가 필요할 때
TokenHolders(DWS)를 쓰세요. 홀더별 최신 잔액이 미리 계산되어 BalanceUpdates를 집계하는 것보다 훨씬 빠릅니다.
DEX별 볼륨을 맞춤으로 나눌 때
DEX별 볼륨을 맞춤으로 나눌 때
Trade.Dex.ProtocolName 으로 그룹화한 DEXTrades 에 count + sum(of: Trade_Buy_Amount) 를 쓰세요. 사전 빌드 Cube에 없는 형태이므로 DWD 메트릭이 맞습니다.지갑별 토큰 PnL이 필요할 때
지갑별 토큰 PnL이 필요할 때
WalletTokenPnL(DWS)를 쓰세요. 지갑–토큰 페어당 매수/매도 볼륨과 거래 건수가 미리 계산되어 있습니다.
다음 단계
데이터 Cube
25개 Cube와 필드 구조를 살펴봅니다.
쿼리 예시
메트릭과 집계를 쓰는 실전 쿼리 예시를 확인합니다.

