자주 듣는 한마디
이 숫자는 왜 재무팀 숫자와 안 맞죠?
왜 이런 일이 생길까
지표는 리포트마다 SQL 안에 있습니다. 재무에 하나, 영업에 하나, 운영에 하나. 하나를 고치고 나머지 둘은 잊어버립니다. 인수인계를 받은 사람은 베껴 쓸 수밖에 없습니다.
Shuzi의 방식
정의는 한 번만.
캔버스에서 테이블, 조인, 차원, 측정값을 시맨틱 모델로 구성하고 검증한 뒤 게시합니다. 리포트, AI 어시스턴트, 오픈 API가 같은 정의를 읽으므로 각자 따로 계산하는 일이 없습니다.
valuationsrevenue · count
funds
regions
calendar
products
measures:
- name: revenue
type: sum
sql: amount
filters:
- sql: "{CUBE}.status = 'confirmed'" ref(revenue)
- 리포트
- AI 어시스턴트
- API
- PG 포트
- MCP
revenue = SUM(amount) WHERE status = 'confirmed'
- 01
시각적 모델링
테이블, 조인, 차원, 측정값을 캔버스에서 구성하며, 필요하면 네이티브 정의도 볼 수 있습니다.
- 02
초안에서 게시까지
먼저 검증하고, 전체를 새 리비전으로 게시합니다. 과거의 정의는 바뀌지 않습니다.
- 03
일관된 계산 기준
보고서, AI 어시스턴트와 공개 API가 같은 시맨틱 모델로 계산하며 결과를 검증할 수 있습니다.
구체적인 기능
조인 그래프
테이블을 관계에 따라 모델로 구성하고, 집계 시 행 증식과 중복 계산은 시맨틱 레이어가 처리합니다.
뷰
업무에 필요한 필드만, 열 이름이 아닌 업무용 이름으로 공개합니다.
오버레이 정의
리포트 안에서 추가한 지표와 차원은 백엔드가 멤버로 컴파일합니다. 임의의 SQL은 통과시키지 않습니다.
고정된 시간대
날짜 절단에 쓰는 시간대는 게시된 정의에 포함되므로, 누가 보더라도 과거 결과가 달라지지 않습니다.