Lenguaje Natural → SQL + Extractor de KPI
Convierte preguntas en inglés sencillo en SQL seguro y validado, además de una tabla limpia de KPI que puedes ejecutar de inmediato.
Resumen del prompt
Consejos para ti
Pega solo el esquema relevante y algunas filas de muestra para mantener el enfoque del LLM. | Indica la granularidad deseada desde el inicio (p. ej., diaria por producto). | Incluye zona horaria y supuestos de moneda para evitar desajustes. | Solicita casos de prueba que puedas ejecutar rápidamente en tu editor SQL. | Mantén los SELECT idempotentes y comenta las principales suposiciones de joins.
Del equipo de operacionesNexusAi TechnologyProblema que resuelve
Acorta la brecha entre las preguntas de negocio y el SQL funcional, reduciendo idas y vueltas y errores en las consultas.
Generación de SQL solo lectura
Consultas estrictamente enfocadas en SELECT con límites claros.
Salida lista para KPI
Devuelve un esquema de tabla limpio alineado a dashboards.
Lista de verificación de validación
Pruebas integradas para detectar errores comunes en datos.
Notas sobre dialectos
Guías para BigQuery, Snowflake y Postgres.
Instrucciones del prompt de IA
Actúa como: Ingeniero Senior de Análisis y traductor de BI.
Por qué esta tarea es importante: Los interesados plantean preguntas de negocio en lenguaje natural. Convertirlas en SQL preciso y en una salida limpia de KPI acelera las decisiones y reduce retrabajos.
Límites importantes:
- Genera solo SQL de solo lectura (SELECT). Nunca escribir, modificar o eliminar.
- Asume SQL ANSI; si es un dialecto específico (p. ej., BigQuery, Snowflake), pide al usuario que lo especifique.
- Prefiere CTEs, alias claros y joins explícitos; no uses SELECT *.
- Requiere que filtros, ventanas temporales y granularidad sean explícitos.
Entradas del usuario (pega debajo de este prompt):
- Pregunta de negocio en inglés sencillo
- Métrica(s) objetivo y definiciones si se conocen
- Esquemas de tablas (nombres, columnas, tipos de datos), granularidad a nivel de fila y valores de muestra
- Zona horaria, moneda y supuestos de frescura de datos
- Dialecto SQL (si no es ANSI)
Objetivos:
1) Traducir la pregunta en una intención analítica precisa y fórmula métrica.
2) Producir SQL seguro y legible con CTEs y comentarios en línea.
3) Devolver una pequeña tabla de resultados KPI lista para dashboards.
4) Listar chequeos de validación y casos límite.
Flujo de análisis:
1) Reformular la pregunta, identificar entidades, granularidad, ventanas y filtros.
2) Elaborar definición métrica y dimensiones.
3) Proponer plan de joins con claves y estrategia para valores nulos.
4) Generar SQL con: WITH ctes AS (...), SELECT final; incluir encabezados con comentarios.
5) Proveer casos de prueba (filas/valores esperados) y explicar cómo muestrear datos.
6) Esbozar adaptación a dialectos Snowflake/BigQuery/Postgres si es necesario.
Formato de salida requerido:
- Sección A: Intención analítica (viñetas)
- Sección B: SQL (bloque de código)
- Sección C: Esquema resultado KPI (tabla con columnas, tipos, significado)
- Sección D: Chequeos de validación (lista)
- Sección E: Casos límite y limitaciones
Controles de calidad:
- Verificar que los joins usen claves correctas y manejen duplicados.
- Asegurar que los predicados de ventana temporal sean explícitos y optimizables.
- Confirmar que las métricas sean agregaciones en la granularidad indicada.
Lista de verificación:
- ¿El SQL devuelve una fila por la granularidad prevista?
- ¿Se manejan NULLs y zona horaria?
- ¿Los filtros son consistentes con la pregunta de negocio?
Instrucción final: Produce la salida completa. Si falta alguna entrada requerida, primero lista preguntas aclaratorias concisas, luego entrega un borrador asumiendo los valores más conservadores.
Resultado esperado
Sección A: Intención - Métrica: usuarios activos en 7 días por producto y plan - Granularidad: diaria por product_id, plan Sección 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; Sección C: Esquema KPI - event_date (date): Día - product_id (text): Clave de producto - plan (text): Plan de precios - mau_7 (int): Usuarios activos en 7 días Sección D: Validación - Verificar duplicados de user_id por día - Confirmar alineación de zona horaria Sección E: Casos límite - Eventos dispersos causan ceros; rellenar días faltantes
Proceso de implementación
Redactar SQL a partir de una pregunta
Abre ChatGPT y pega la pregunta de negocio, esquema y restricciones usando el prompt. Solicita SQL ANSI con CTEs y una forma de resultado KPI. Espera una consulta completa más chequeos de validación.
8 minRefinar con sugerencias conscientes del código
Abre Codex en tu editor para revisar el SQL, ajustar detalles del dialecto (p. ej., funciones TIMESTAMP de BigQuery) y añadir predicados seguros. Espera una consulta optimizada lista para ejecutar.
6 minEjecutar e interpretar
Ejecuta el SQL en tu base de datos, exporta una muestra pequeña a Google Sheets y pega el resultado en ChatGPT usando un prompt explicativo para confirmar la forma del KPI y detectar valores atípicos.
10 min
