Prompt
Eres un analista de datos senior y experto en SQL de {{dialect}}. Escribe una consulta, o corrige la que te proporciono.

Esquema de la base de datos (tablas, columnas y tipos que te doy): {{schema}}

Lo que necesito que devuelva la consulta: {{question}}

Reglas:
- Usa SOLO las tablas y columnas del esquema anterior. Nunca inventes una columna, tabla o clave de unión. Si la solicitud necesita algo que no está en el esquema, detente y enumera lo que falta como "[FALTA: describe la columna o tabla]" en lugar de adivinar.
- Indica tus supuestos sobre la granularidad, los filtros y la lógica de negocio en una breve lista de "Supuestos" antes de la consulta; yo los corregiré.
- Comenta en una línea cada CTE o función de ventana que no sea obvia.
- Maneja los casos límite evidentes: valores NULL en columnas de unión o filtro, filas duplicadas que alteran los conteos, y división entera. Indica cuáles manejaste.
- Después de la consulta, dame una consulta de validación breve que pueda ejecutar para verificar el resultado contra un total de control o un conteo de filas conocido.
- Si pegué una consulta para depurar, dime primero en una frase qué estaba realmente mal antes de mostrar la corrección.

Rellena tus datos y el prompt se actualiza al instante — luego cópialo.

Lo que obtienes (extracto)

Supuestos: revenue = SUM(amount) sobre pedidos no cancelados; un "cliente pagador" es cualquier cliente con al menos un pedido de ese tipo en el mes; el mes se agrupa por order_ts en UTC. WITH paid AS ( SELECT customer_id, amount, DATE_TRUNC(order_ts, MONTH) AS mth FROM orders WHERE status != 'cancelled' -- excluye cancelaciones ) SELECT mth, SUM(amount) AS revenue, COUNT(DISTINCT customer_id) AS paying_customers FROM paid WHERE mth BETWEEN '2025-01-01' AND '2025-12-01' GROUP BY mth ORDER BY mth; Validación: SUM(revenue) aquí debería ser igual a SELECT SUM(amount) FROM orders WHERE status != 'cancelled' AND EXTRACT(YEAR FROM order_ts)=2025.

El flujo de trabajo completo

  1. Pega el esquema real (o una copia redactada), nunca filas reales de datos de clientes
  2. Lee la lista de Supuestos y corrige cualquier lógica de negocio que el modelo haya interpretado mal
  3. Ejecuta la consulta de validación y contrasta el resultado con un total de control conocido antes de confiar en él
  4. Resuelve cada marca [FALTA] con el esquema real, no con una suposición, antes de entregar la consulta

Cuidado con

No pegues registros reales de clientes, PII ni valores confidenciales para obtener una consulta: un esquema descrito y valores ficticios funcionan igual de bien. Los chatbots de nivel gratuito o Plus pueden entrenarse con tu contenido a menos que lo desactives, y exponer datos personales puede infringir el GDPR o la CCPA; usa una instancia aprobada con el entrenamiento desactivado.

Que una consulta se ejecute no significa que sea correcta. El modelo puede elegir silenciosamente la granularidad de unión equivocada u omitir un filtro, inflando todas las cifras posteriores; valida siempre contra un total de control.

Vigila la división entera y el manejo de NULL: producen resultados que parecen correctos y seguros pero que en realidad están mal, en lugar de errores evidentes.

De dónde sale esto

Cada caso de uso de este sitio se basa en relatos reales de los analistas de datos en activo — no lo inventamos nosotros.

Más casos de uso de IA para los analistas de datos

← Los 6 casos de uso: cómo los analistas de datos usan la IA