MojicaPoC / examples.json
Carlos Isael Ramírez González
Error de missing current_question solved
c1519fa
raw
history blame
50.4 kB
{
"CLIENTES_CERO": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para el nombre del cliente usar SIEMPRE 'Razon Social'",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Un cliente cero es aquel que NO tiene compras en las últimas 4 semanas",
"Para ciudad usar SIEMPRE la columna 'Ciudad' con LIKE",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para fechas específicas usar DATE(\"Fecha\") con BETWEEN o <= según el caso",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Agrupar siempre por la columna adecuada cuando se use una función de agregación",
"Si se compara un cliente específico, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "¿Cuántos clientes permanecen como cero?",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n);"
},
{
"pregunta": "¿Quiénes son los clientes que siguen inactivos?",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n);"
},
{
"pregunta": "Dame la lista de clientes sin movimientos",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n);"
}
]
},
"CIUDAD_CERO": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para el nombre del cliente usar SIEMPRE 'Razon Social'",
"Para ciudad usar SIEMPRE la columna 'Ciudad' con LIKE",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Un cliente cero es aquel que NO tiene compras en las últimas 4 semanas",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para fechas específicas usar DATE(\"Fecha\") con BETWEEN o <= según el caso",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Agrupar siempre por la columna adecuada cuando se use una función de agregación",
"Si se compara una ciudad específica, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "¿Cuántos clientes cero tenemos por ciudad?",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n)\nGROUP BY \"Ciudad\"\nORDER BY clientes_cero DESC;"
},
{
"pregunta": "Clientes cero en Guadalajara",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Guadalajara%'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n)\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Clientes cero en Zapopan",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Zapopan%'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n)\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Clientes inactivos en Vallarta",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Vallarta%'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n)\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Total de clientes sin compras recientes por ciudad",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n)\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Clientes que no compraron en las últimas 4 semanas por ciudad",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n)\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Lista de clientes sin compras recientes por ciudad",
"query": "SELECT \"Ciudad\", \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('now', '-28 day')\n)\nORDER BY \"Ciudad\";"
}
]
},
"PRODUCTO_CIUDAD": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para productos usar la columna 'Descripcion'",
"Para ciudad usar SIEMPRE la columna 'Ciudad' con LIKE",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Para cantidades usar SUM(\"Cantidad\"), para dinero usar SUM(\"Neto\")",
"Agrupar siempre por la dimensión principal (producto o ciudad) al usar agregaciones",
"Ordenar DESC para 'más/mayor', ASC para 'menos/menor'",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para fechas específicas usar DATE(\"Fecha\") con BETWEEN o <= según el caso",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Si se compara un producto específico o ciudad específica, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "Cuántos productos se vendieron en la ciudad de Guadalajara?",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Guadalajara%'\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC;"
},
{
"pregunta": "Lista de productos más vendidos por ciudad",
"query": "SELECT \"Ciudad\", \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\", \"Descripcion\"\nORDER BY \"Ciudad\", total_vendido DESC;"
},
{
"pregunta": "Qué producto se vendió más en la ciudad de Zapopan?",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Zapopan%'\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC\nLIMIT 1;"
},
{
"pregunta": "Productos con mayor cantidad vendida en Guadalajara",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Guadalajara%'\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC;"
},
{
"pregunta": "Top 5 productos por ventas en la ciudad de Colima",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Colima%'\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC\nLIMIT 5;"
},
{
"pregunta": "Productos que más ingresos generaron en Tepic",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Tepic%'\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC;"
},
{
"pregunta": "Cuáles son los productos más populares en la ciudad de Vallarta?",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Vallarta%'\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC;"
},
{
"pregunta": "Ranking de ventas de productos por ciudad",
"query": "SELECT \"Ciudad\", \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\", \"Descripcion\"\nORDER BY \"Ciudad\", total_vendido DESC;"
},
{
"pregunta": "Producto más vendido en la ciudad de Planta",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Planta%'\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC\nLIMIT 1;"
},
{
"pregunta": "Dame los productos que más se vendieron en Guadalajara",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nAND \"Ciudad\" LIKE '%Guadalajara%'\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC;"
}
]
},
"CLIENTE_CIUDAD": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para clientes usar la columna 'Razon Social'",
"Para ciudad usar SIEMPRE la columna 'Ciudad' con LIKE",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Para cantidades usar SUM(\"Cantidad\"), para dinero usar SUM(\"Neto\")",
"Agrupar siempre por la dimensión principal (cliente o ciudad) al usar agregaciones",
"Ordenar DESC para 'más/mayor', ASC para 'menos/menor'",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para fechas específicas usar DATE(\"Fecha\") con BETWEEN o <= según el caso",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Si se compara un cliente específico o ciudad específica, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "Clientes más valiosos por ciudad",
"query": "SELECT \"Ciudad\", \"Razon Social\", SUM(\"Neto\") AS total_compra\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\", \"Razon Social\"\nORDER BY \"Ciudad\", total_compra DESC;"
},
{
"pregunta": "Dame los clientes con mayor compra por ciudad",
"query": "SELECT \"Ciudad\", \"Razon Social\", SUM(\"Neto\") AS total_compra\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\", \"Razon Social\"\nORDER BY \"Ciudad\", total_compra DESC;"
},
{
"pregunta": "Clientes frecuentes en la ciudad",
"query": "SELECT \"Ciudad\", \"Razon Social\", COUNT(\"Descripcion\") AS total_compras\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\", \"Razon Social\"\nORDER BY \"Ciudad\", total_compras DESC;"
},
{
"pregunta": "Total de clientes por ciudad",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS total_clientes\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY \"Ciudad\";"
},
{
"pregunta": "Distribución de clientes activos por ciudad",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS total_clientes_activos\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND DATE(\"Fecha\") > DATE('now', '-28 day')\nGROUP BY \"Ciudad\"\nORDER BY \"Ciudad\";"
},
{
"pregunta": "Clientes que compran más en cada ciudad",
"query": "SELECT \"Ciudad\", \"Razon Social\", SUM(\"Cantidad\") AS total_unidades\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\", \"Razon Social\"\nORDER BY \"Ciudad\", total_unidades DESC;"
},
{
"pregunta": "Lista de clientes por ciudad",
"query": "SELECT \"Ciudad\", \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\", \"Razon Social\";"
},
{
"pregunta": "Cantidad de clientes por ciudad",
"query": "SELECT \"Ciudad\", COUNT(DISTINCT \"Razon Social\") AS total_clientes\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY total_clientes DESC;"
}
]
},
"PRODUCTO_DINERO": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para productos usar la columna 'Descripcion'",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Para dinero usar SUM(\"Neto\")",
"Agrupar siempre por la dimensión principal (producto o ciudad) al usar agregaciones",
"Ordenar DESC para 'más/mayor', ASC para 'menos/menor'",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para fechas específicas usar DATE(\"Fecha\") con BETWEEN o <= según el caso",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Si se compara un producto específico o ciudad específica, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "Productos que generan más ingresos",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC\nLIMIT 10;"
},
{
"pregunta": "Producto con mayores ventas en dinero",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC\nLIMIT 1;"
},
{
"pregunta": "Top productos por ingresos",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC\nLIMIT 5;"
},
{
"pregunta": "Ingresos totales por producto",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC;"
},
{
"pregunta": "Producto más rentable por unidad",
"query": "SELECT \"Descripcion\", SUM(\"Neto\")/SUM(\"Cantidad\") AS ingreso_por_unidad\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY ingreso_por_unidad DESC\nLIMIT 1;"
},
{
"pregunta": "Rentabilidad de cada producto",
"query": "SELECT \"Descripcion\", SUM(\"Neto\")/SUM(\"Cantidad\") AS ingreso_por_unidad\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY ingreso_por_unidad DESC;"
},
{
"pregunta": "Productos con mejor margen de ganancia",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC;"
},
{
"pregunta": "Ingresos generados por producto",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC;"
},
{
"pregunta": "Producto que más dinero genera",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC\nLIMIT 1;"
},
{
"pregunta": "Top 10 productos con mayores ingresos",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_ingresos DESC\nLIMIT 10;"
},
{
"pregunta": "Ingresos por Queso Adobera",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" LIKE '%Queso Adobera%'\nGROUP BY \"Descripcion\";"
},
{
"pregunta": "Rentabilidad del producto Aderezo Ranch",
"query": "SELECT \"Descripcion\", SUM(\"Neto\")/SUM(\"Cantidad\") AS ingreso_por_unidad\nFROM \"{table_name}\"\nWHERE \"Descripcion\" LIKE '%Aderezo Ranch%'\nGROUP BY \"Descripcion\";"
},
{
"pregunta": "Cuánto dinero genera Caja Plástica",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Descripcion\" LIKE '%Caja Plástica%'\nGROUP BY \"Descripcion\";"
}
]
},
"CIUDAD_DINERO": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para ciudad usar la columna 'Ciudad'",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Para dinero usar SUM(\"Neto\")",
"Agrupar siempre por la dimensión principal (Ciudad) al usar agregaciones",
"Ordenar DESC para 'más/mayor', ASC para 'menos/menor'",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para fechas específicas usar DATE(\"Fecha\") con BETWEEN o <= según el caso",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Si se compara una ciudad específica, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "Ciudades con mayor facturación",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY total_ingresos DESC\nLIMIT 10;"
},
{
"pregunta": "Ciudad con más ingresos en el último mes",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL AND strftime('%m', \"Fecha\") = '08'\nGROUP BY \"Ciudad\"\nORDER BY total_ingresos DESC\nLIMIT 1;"
},
{
"pregunta": "Total de dinero generado por ciudad",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY total_ingresos DESC;"
},
{
"pregunta": "Ingresos totales por ciudad",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY total_ingresos DESC;"
},
{
"pregunta": "Ticket promedio por ciudad",
"query": "SELECT \"Ciudad\", SUM(\"Neto\")/COUNT(DISTINCT \"Razon Social\") AS ticket_promedio\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY ticket_promedio DESC;"
},
{
"pregunta": "Ciudad con mayor ticket promedio",
"query": "SELECT \"Ciudad\", SUM(\"Neto\")/COUNT(DISTINCT \"Razon Social\") AS ticket_promedio\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY ticket_promedio DESC\nLIMIT 1;"
},
{
"pregunta": "Ingresos generados en Guadalajara",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" LIKE '%Guadalajara%'\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Ingresos generados en Zapopan",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" LIKE '%Zapopan%'\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Ingresos totales en Colima",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" LIKE '%Colima%'\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Ventas totales en Tepic",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" LIKE '%Tepic%'\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Crecimiento de ingresos en Vallarta",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" LIKE '%Vallarta%'\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Dinero generado por productos en Planta",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" LIKE '%Planta%'\nGROUP BY \"Ciudad\";"
},
{
"pregunta": "Ciudad que más dinero genera",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY total_ingresos DESC\nLIMIT 1;"
},
{
"pregunta": "Ingresos de Guadalajara por ventas",
"query": "SELECT \"Ciudad\", SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\"\nWHERE \"Ciudad\" LIKE '%Guadalajara%'\nGROUP BY \"Ciudad\";"
}
]
},
"CLIENTE_DINERO": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para cliente usar la columna 'Razon Social'",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Para dinero usar SUM(\"Neto\")",
"Agrupar siempre por la dimensión principal (Razon Social) al usar agregaciones",
"Ordenar DESC para 'más/mayor', ASC para 'menos/menor'",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para fechas específicas usar DATE(\"Fecha\") con BETWEEN o <= según el caso",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Si se compara un cliente específico, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "Top clientes por valor de compras",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC\nLIMIT 10;"
},
{
"pregunta": "Clientes que más dinero han gastado",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC\nLIMIT 10;"
},
{
"pregunta": "Clientes con mayor ticket promedio",
"query": "SELECT \"Razon Social\", SUM(\"Neto\")/COUNT(DISTINCT DATE(\"Fecha\")) AS ticket_promedio\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY ticket_promedio DESC\nLIMIT 10;"
},
{
"pregunta": "Total de dinero gastado por cliente",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC;"
},
{
"pregunta": "Clientes con compras de alto valor",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL AND SUM(\"Neto\") > 1000\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC;"
},
{
"pregunta": "Clientes con mayor frecuencia de compra",
"query": "SELECT \"Razon Social\", COUNT(DISTINCT DATE(\"Fecha\")) AS frecuencia\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY frecuencia DESC\nLIMIT 10;"
},
{
"pregunta": "Clientes con mayor potencial de crecimiento",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado, COUNT(DISTINCT DATE(\"Fecha\")) AS frecuencia\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC, frecuencia DESC\nLIMIT 10;"
},
{
"pregunta": "Valor total de compras por cliente",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\";"
},
{
"pregunta": "Clientes que más contribuyen a los ingresos",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC\nLIMIT 10;"
},
{
"pregunta": "Clientes con mayores ingresos acumulados",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC;"
},
{
"pregunta": "Clientes con compras recientes de alto valor",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL AND DATE(\"Fecha\") > DATE('now','-30 day')\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC\nLIMIT 10;"
},
{
"pregunta": "Clientes más valiosos en el último mes",
"query": "SELECT \"Razon Social\", SUM(\"Neto\") AS total_gastado\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL AND strftime('%m', \"Fecha\") = '08'\nGROUP BY \"Razon Social\"\nORDER BY total_gastado DESC\nLIMIT 10;"
}
]
},
"TIEMPO_DINERO": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para dinero usar SUM(\"Neto\")",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Para fechas usar la columna \"Fecha\" con DATE() o strftime() según corresponda",
"Agrupar por la dimensión temporal adecuada (día, semana, mes, año) al usar agregaciones",
"Ordenar DESC para 'más/mayor', ASC para 'menos/menor'",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Para comparativas usar BETWEEN o filtros de rango en DATE(\"Fecha\")",
"Si se filtra por mes usar strftime('%m', \"Fecha\") = 'MM'",
"Si se filtra por año usar strftime('%Y', \"Fecha\") = 'YYYY'"
],
"examples": [
{
"pregunta": "¿Cuánto vendimos este mes?",
"query": "SELECT SUM(\"Neto\") AS total_ventas_mes\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND strftime('%m', \"Fecha\") = '08';"
},
{
"pregunta": "¿Cuál fue el mes con mayores ventas este año?",
"query": "SELECT strftime('%m', \"Fecha\") AS mes, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND strftime('%Y', \"Fecha\") = '2025'\nGROUP BY mes\nORDER BY total_ventas DESC\nLIMIT 1;"
},
{
"pregunta": "¿Cuánto generamos en ingresos en junio?",
"query": "SELECT SUM(\"Neto\") AS total_junio\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND strftime('%m', \"Fecha\") = '06';"
},
{
"pregunta": "¿Cuál es la tendencia de ventas mensuales?",
"query": "SELECT strftime('%m', \"Fecha\") AS mes, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL\nGROUP BY mes\nORDER BY mes ASC;"
},
{
"pregunta": "Ventas por día de la semana",
"query": "SELECT strftime('%w', \"Fecha\") AS dia_semana, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL\nGROUP BY dia_semana\nORDER BY dia_semana ASC;"
},
{
"pregunta": "Promedio de ventas diarias",
"query": "SELECT DATE(\"Fecha\") AS dia, AVG(\"Neto\") AS promedio_diario\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL\nGROUP BY dia\nORDER BY dia ASC;"
},
{
"pregunta": "¿Cuánto se vendió el lunes pasado?",
"query": "SELECT SUM(\"Neto\") AS total_lunes\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND strftime('%w', \"Fecha\") = '1' AND DATE(\"Fecha\") BETWEEN DATE('now','-7 day') AND DATE('now');"
},
{
"pregunta": "¿Cuál fue el día con más ingresos este mes?",
"query": "SELECT DATE(\"Fecha\") AS dia, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND strftime('%m', \"Fecha\") = '08'\nGROUP BY dia\nORDER BY total_ventas DESC\nLIMIT 1;"
},
{
"pregunta": "Total de ventas acumuladas por mes",
"query": "SELECT strftime('%m', \"Fecha\") AS mes, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL\nGROUP BY mes\nORDER BY mes ASC;"
},
{
"pregunta": "¿Cuánto crecieron nuestras ventas comparando mayo y junio?",
"query": "SELECT strftime('%m', \"Fecha\") AS mes, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND strftime('%m', \"Fecha\") IN ('05','06')\nGROUP BY mes\nORDER BY mes ASC;"
},
{
"pregunta": "Ventas semanales del mes actual",
"query": "SELECT strftime('%W', \"Fecha\") AS semana, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND strftime('%m', \"Fecha\") = strftime('%m','now')\nGROUP BY semana\nORDER BY semana ASC;"
},
{
"pregunta": "¿Cuánto facturamos en la última semana?",
"query": "SELECT SUM(\"Neto\") AS total_ventas_semana\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL AND DATE(\"Fecha\") BETWEEN DATE('now','-7 day') AND DATE('now');"
},
{
"pregunta": "Crecimiento interanual de ventas",
"query": "SELECT strftime('%Y', \"Fecha\") AS anio, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL\nGROUP BY anio\nORDER BY anio ASC;"
},
{
"pregunta": "Comparativa de ingresos entre años",
"query": "SELECT strftime('%Y', \"Fecha\") AS anio, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL\nGROUP BY anio\nORDER BY anio ASC;"
},
{
"pregunta": "Ingresos generados por mes",
"query": "SELECT strftime('%m', \"Fecha\") AS mes, SUM(\"Neto\") AS total_ventas\nFROM \"{table_name}\"\nWHERE \"Neto\" IS NOT NULL\nGROUP BY mes\nORDER BY mes ASC;"
}
]
},
"CIUDADES": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para ciudad usar SIEMPRE la columna 'Ciudad'",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Agrupar siempre por 'Ciudad' cuando se requiera contar o listar",
"Si se pide un listado, usar DISTINCT para evitar duplicados"
],
"examples": [
{
"pregunta": "¿Cuántas ciudades diferentes tenemos registradas?",
"query": "SELECT COUNT(DISTINCT \"Ciudad\") AS total_ciudades\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL;"
},
{
"pregunta": "Lista de todas las ciudades registradas",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\" ASC;"
},
{
"pregunta": "¿Cuáles son las ciudades que tenemos en la base?",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\" ASC;"
},
{
"pregunta": "Nombra las ciudades únicas",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\" ASC;"
},
{
"pregunta": "Dame un listado de ciudades",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\" ASC;"
},
{
"pregunta": "¿Cuántas ciudades distintas aparecen en nuestra base?",
"query": "SELECT COUNT(DISTINCT \"Ciudad\") AS total_ciudades\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL;"
},
{
"pregunta": "Muestra las ciudades disponibles",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\" ASC;"
},
{
"pregunta": "Listado de ciudades al azar",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY RANDOM();"
},
{
"pregunta": "¿Cuáles son las ciudades registradas?",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\" ASC;"
},
{
"pregunta": "Ciudades únicas de nuestra base",
"query": "SELECT DISTINCT \"Ciudad\"\nFROM \"{table_name}\"\nWHERE \"Ciudad\" IS NOT NULL\nORDER BY \"Ciudad\" ASC;"
}
]
},
"CLIENTES": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para el nombre del cliente usar SIEMPRE 'Razon Social'",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Agrupar siempre por 'Razon Social' cuando se requiera contar o listar",
"Si se pide un listado, usar DISTINCT para evitar duplicados"
],
"examples": [
{
"pregunta": "¿Cuántos clientes diferentes tenemos registrados?",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS total_clientes\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL;"
},
{
"pregunta": "Lista de todos los clientes registrados",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY \"Razon Social\" ASC;"
},
{
"pregunta": "¿Cuáles son los clientes que tenemos en la base?",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY \"Razon Social\" ASC;"
},
{
"pregunta": "Nombra los clientes únicos",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY \"Razon Social\" ASC;"
},
{
"pregunta": "Dame un listado de clientes",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY \"Razon Social\" ASC;"
},
{
"pregunta": "¿Cuántos clientes distintos aparecen en nuestra base?",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS total_clientes\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL;"
},
{
"pregunta": "Muestra los clientes disponibles",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY \"Razon Social\" ASC;"
},
{
"pregunta": "Listado de clientes al azar",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY RANDOM();"
},
{
"pregunta": "¿Cuáles son los clientes registrados?",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY \"Razon Social\" ASC;"
},
{
"pregunta": "Clientes únicos de nuestra base",
"query": "SELECT DISTINCT \"Razon Social\"\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nORDER BY \"Razon Social\" ASC;"
}
]
},
"VENTAS": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para fechas usar siempre la columna 'Fecha' con DATE o strftime según corresponda",
"Para el cliente usar SIEMPRE 'Razon Social'",
"Para cantidades usar SUM(\"Cantidad\"), para dinero usar SUM(\"Neto\")",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Agrupar siempre por la columna adecuada cuando se use una función de agregación",
"Para promedios usar AVG() según corresponda"
],
"examples": [
{
"pregunta": "¿Desde cuándo tenemos registros de ventas?",
"query": "SELECT MIN(DATE(\"Fecha\")) AS primera_fecha\nFROM \"{table_name}\";"
},
{
"pregunta": "¿Cuál es la primera fecha con ventas registradas?",
"query": "SELECT MIN(DATE(\"Fecha\")) AS primera_fecha\nFROM \"{table_name}\";"
},
{
"pregunta": "¿Cuál es la última fecha con ventas registradas?",
"query": "SELECT MAX(DATE(\"Fecha\")) AS ultima_fecha\nFROM \"{table_name}\";"
},
{
"pregunta": "Rango de fechas de nuestro historial de ventas",
"query": "SELECT MIN(DATE(\"Fecha\")) AS inicio, MAX(DATE(\"Fecha\")) AS fin\nFROM \"{table_name}\";"
},
{
"pregunta": "¿Cuántos días diferentes con ventas tenemos?",
"query": "SELECT COUNT(DISTINCT DATE(\"Fecha\")) AS dias_venta\nFROM \"{table_name}\";"
},
{
"pregunta": "Número total de días con actividad de ventas",
"query": "SELECT COUNT(DISTINCT DATE(\"Fecha\")) AS dias_activos\nFROM \"{table_name}\";"
},
{
"pregunta": "¿Cuántas transacciones totales se han registrado?",
"query": "SELECT COUNT(*) AS total_transacciones\nFROM \"{table_name}\";"
},
{
"pregunta": "Total de ventas realizadas hasta la fecha",
"query": "SELECT SUM(\"Cantidad\") AS total_unidades, SUM(\"Neto\") AS total_ingresos\nFROM \"{table_name}\";"
},
{
"pregunta": "Promedio de ventas por día",
"query": "SELECT AVG(dia_total) AS promedio_diario\nFROM (SELECT DATE(\"Fecha\") AS dia, SUM(\"Neto\") AS dia_total FROM \"{table_name}\" GROUP BY DATE(\"Fecha\"));"
},
{
"pregunta": "Valor promedio de ventas diarias",
"query": "SELECT AVG(dia_total) AS promedio_diario\nFROM (SELECT DATE(\"Fecha\") AS dia, SUM(\"Neto\") AS dia_total FROM \"{table_name}\" GROUP BY DATE(\"Fecha\"));"
},
{
"pregunta": "Día con mayor número de transacciones",
"query": "SELECT DATE(\"Fecha\") AS dia, COUNT(*) AS transacciones\nFROM \"{table_name}\"\nGROUP BY DATE(\"Fecha\")\nORDER BY transacciones DESC\nLIMIT 1;"
},
{
"pregunta": "Día con menor número de transacciones",
"query": "SELECT DATE(\"Fecha\") AS dia, COUNT(*) AS transacciones\nFROM \"{table_name}\"\nGROUP BY DATE(\"Fecha\")\nORDER BY transacciones ASC\nLIMIT 1;"
},
{
"pregunta": "Valor promedio de una venta",
"query": "SELECT AVG(\"Neto\") AS promedio_venta\nFROM \"{table_name}\";"
},
{
"pregunta": "Cantidad promedio de productos por venta",
"query": "SELECT AVG(\"Cantidad\") AS promedio_productos\nFROM \"{table_name}\";"
},
{
"pregunta": "Valor máximo de una venta registrada",
"query": "SELECT MAX(\"Neto\") AS venta_maxima\nFROM \"{table_name}\";"
}
]
},
"PRODUCTOS": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para el nombre del cliente usar SIEMPRE 'Razon Social'",
"Para un mes específico usar: strftime('%m', \"Fecha\") = 'MM'",
"Para cantidades usar SUM(\"Cantidad\"), para dinero usar SUM(\"Neto\")",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Ordenar DESC para 'más/mayor', ASC para 'menos/menor'",
"Usar LIKE para búsquedas de producto",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Agrupar siempre por la columna adecuada cuando se use una función de agregación",
"Si se compara un producto específico, usar comillas simples en el valor del WHERE"
],
"examples": [
{
"pregunta": "Top 10 productos más vendidos",
"query": "SELECT \"Descripcion\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY total_vendido DESC\nLIMIT 10;"
},
{
"pregunta": "Producto con mayor valor neto",
"query": "SELECT \"Descripcion\", SUM(\"Neto\") AS valor_total\nFROM \"{table_name}\"\nWHERE \"Descripcion\" IS NOT NULL\nGROUP BY \"Descripcion\"\nORDER BY valor_total DESC\nLIMIT 1;"
},
{
"pregunta": "¿En qué ciudad es más comprado el producto Queso Gouda Importado Chileno Colun?",
"query": "SELECT \"Descripcion\", \"Ciudad\", SUM(\"Cantidad\") AS total_vendido\nFROM \"{table_name}\"\nWHERE \"Descripcion\" LIKE '%Queso Gouda%' AND \"Cliente\" IS NOT NULL\nGROUP BY \"Ciudad\"\nORDER BY total_vendido DESC\nLIMIT 1;"
}
]
},
"CLIENTES_CERO_TIEMPO": {
"rules": [
"Usar siempre nombres exactos de columnas",
"Usar solo las columnas listadas",
"Prohibido inventar columnas",
"Para el nombre del cliente usar SIEMPRE 'Razon Social'",
"Siempre excluir valores nulos con IS NOT NULL en las columnas usadas",
"Un cliente cero es aquel que NO tiene compras en las últimas 4 semanas",
"Para filtrar por mes usar: strftime('%m', \"Fecha\") = 'MM'",
"Para filtrar por trimestre usar BETWEEN con las fechas correspondientes",
"Contestar siempre en el idioma de la pregunta",
"No usar acentos en la query",
"Agrupar siempre por la columna adecuada cuando se use una función de agregación"
],
"examples": [
{
"pregunta": "¿Cuántos clientes cero tuvimos en enero?",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND strftime('%m', \"Fecha\") = '01'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('2025-01-31', '-27 day')\n);"
},
{
"pregunta": "Dame el total de clientes cero en febrero",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND strftime('%m', \"Fecha\") = '02'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('2025-02-28', '-27 day')\n);"
},
{
"pregunta": "Clientes cero correspondientes a abril",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND strftime('%m', \"Fecha\") = '04'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('2025-04-30', '-27 day')\n);"
},
{
"pregunta": "Clientes cero durante el primer trimestre",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND strftime('%m', \"Fecha\") BETWEEN '01' AND '03'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('2025-03-31', '-27 day')\n);"
},
{
"pregunta": "Dame la cantidad de clientes cero en el segundo trimestre",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND strftime('%m', \"Fecha\") BETWEEN '04' AND '06'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('2025-06-30', '-27 day')\n);"
},
{
"pregunta": "Número de clientes cero del tercer trimestre",
"query": "SELECT COUNT(DISTINCT \"Razon Social\") AS clientes_cero\nFROM \"{table_name}\"\nWHERE \"Razon Social\" IS NOT NULL\nAND strftime('%m', \"Fecha\") BETWEEN '07' AND '09'\nAND \"Razon Social\" NOT IN (\n SELECT DISTINCT \"Razon Social\"\n FROM \"{table_name}\"\n WHERE DATE(\"Fecha\") > DATE('2025-09-30', '-27 day')\n);"
}
]
}
}