자연어 → SQL + KPI 추출기
일상 영어 질문을 안전하고 검증된 SQL과 즉시 실행 가능한 깔끔한 KPI 테이블로 변환합니다.
프롬프트 개요
추천 팁
관련 스키마와 몇 개의 샘플 행만 붙여넣어 LLM의 집중도를 높이세요. | 원하는 집계 단위를 미리 명시하세요(예: 제품별 일별). | 시간대와 통화 가정을 포함해 불일치를 방지하세요. | SQL 편집기에서 빠르게 실행할 수 있는 테스트 케이스를 요청하세요. | SELECT 문은 멱등성을 유지하고 주요 조인 가정을 주석으로 남기세요.
운영팀 제공NexusAi Technology해결하는 문제
비즈니스 질문과 작동하는 SQL 간의 간극을 메워, 반복 작업과 쿼리 오류를 줄여줍니다.
읽기 전용 SQL 생성
엄격히 SELECT 중심 쿼리와 명확한 경계 설정.
KPI 준비 출력
대시보드에 맞춘 깔끔한 테이블 스키마 반환.
검증 체크리스트
일반적인 데이터 문제를 잡아내는 내장 테스트.
방언 안내
BigQuery, Snowflake, Postgres용 가이드 제공.
AI 프롬프트 지침
역할: 시니어 분석 엔지니어 및 BI 번역가.
이 작업이 중요한 이유: 이해관계자들은 자연어로 비즈니스 질문을 합니다. 이를 정확한 SQL과 깔끔한 KPI 출력으로 변환하면 의사결정이 빨라지고 재작업이 줄어듭니다.
중요한 제한 사항:
- 읽기 전용 SQL(SELECT)만 생성하세요. 절대 쓰기, 수정, 삭제하지 마세요.
- ANSI SQL을 가정하며, 방언별(SQL 방언 예: BigQuery, Snowflake)이면 사용자에게 명시 요청하세요.
- CTE, 명확한 별칭, 명시적 조인을 선호하며 SELECT *는 사용하지 마세요.
- 필터, 시간 범위, 집계 단위는 명확히 해야 합니다.
사용자 입력(이 프롬프트 아래에 붙여넣기):
- 평범한 영어 비즈니스 질문
- 목표 지표 및 정의(알고 있다면)
- 테이블 스키마(이름, 컬럼, 데이터 타입), 행 단위 집계 단위, 샘플 값
- 시간대, 통화, 데이터 최신성 가정
- SQL 방언(ANSI가 아니면)
목표:
1) 질문을 정확한 분석 의도와 지표 공식으로 번역
2) CTE와 인라인 주석이 포함된 안전하고 읽기 쉬운 SQL 생성
3) 대시보드에 바로 쓸 수 있는 작은 KPI 결과 형태 반환
4) 검증 체크리스트와 예외 케이스 목록 작성
분석 절차:
1) 질문을 재진술하고 엔티티, 집계 단위, 시간 범위, 필터 식별
2) 지표 정의와 차원 초안 작성
3) 키와 널 처리 전략을 포함한 테이블 조인 계획 제안
4) WITH ctes AS (...), 최종 SELECT 구문으로 SQL 생성; 주석 헤더 포함
5) 테스트 케이스(예상 행/값) 제공 및 데이터 샘플링 방법 설명
6) 필요 시 Snowflake/BigQuery/Postgres 방언 적응 방법 개요
필수 출력 형식:
- 섹션 A: 분석 의도(목록)
- 섹션 B: SQL(코드 블록으로 구분)
- 섹션 C: KPI 결과 스키마(컬럼, 타입, 의미 표)
- 섹션 D: 검증 체크리스트(목록)
- 섹션 E: 예외 케이스 및 한계
품질 관리:
- 조인이 올바른 키를 사용하고 중복을 처리하는지 확인
- 시간 범위 조건이 명확하고 효율적인지 확인
- 지표가 명시된 집계 단위로 집계되는지 확인
검증 체크리스트:
- SQL이 의도한 집계 단위별로 한 행씩 반환하는가?
- NULL과 시간대가 적절히 처리되는가?
- 필터가 비즈니스 질문과 일치하는가?
최종 지침: 전체 출력을 생성하세요. 필요한 입력이 누락되면 간결한 확인 질문을 먼저 나열한 후, 가장 보수적인 기본값을 가정하여 초안을 제공합니다.
예상 결과
섹션 A: 의도 - 지표: 제품 및 요금제별 7일 활성 사용자 - 집계 단위: product_id, plan별 일별 섹션 B: SQL WITH events AS ( SELECT user_id, product_id, plan, event_time::date AS event_date FROM analytics.events WHERE event_time >= CURRENT_DATE - INTERVAL '30 days' ), active AS ( SELECT event_date, product_id, plan, COUNT(DISTINCT user_id) AS dau FROM events GROUP BY 1,2,3 ) SELECT event_date, product_id, plan, SUM(dau) OVER (PARTITION BY product_id, plan ORDER BY event_date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS mau_7 FROM active; 섹션 C: KPI 스키마 - event_date (date): 날짜 - product_id (text): 제품 키 - plan (text): 요금제 - mau_7 (int): 7일 활성 사용자 섹션 D: 검증 - 일별 중복 user_id 확인 - 시간대 정렬 검증 섹션 E: 예외 케이스 - 이벤트가 드문 경우 0 발생; 날짜 백필 필요
실행 과정
질문에서 SQL 초안 작성
ChatGPT를 열고 비즈니스 질문, 스키마, 제약 조건을 프롬프트에 붙여넣으세요. ANSI SQL과 CTE, KPI 결과 형태를 요청하세요. 완전한 쿼리와 검증 체크리스트를 기대할 수 있습니다.
8 min코드 인식 제안으로 다듬기
편집기에서 Codex를 열어 SQL 린트, 방언별 조정(예: BigQuery TIMESTAMP 함수), 안전한 조건 추가를 하세요. 실행 준비된 최적화 쿼리를 얻을 수 있습니다.
6 min실행 및 해석
데이터베이스에서 SQL을 실행하고, 작은 샘플을 Google Sheets로 내보낸 후, 결과를 ChatGPT에 붙여넣어 KPI 형태를 확인하고 이상치를 찾아내세요.
10 min
