Cómo funciona la base de datos analítica, qué información ya tenemos y qué falta para que quede completa.
Marzo 2026¿Qué es BigQuery y para qué lo usamos? BigQuery es la base de datos analítica de Sky Flowers en la nube de Google. A diferencia de los sistemas del día a día (AppSheets, World Office, SQL Server), BigQuery no es para registrar lo que pasa — es para analizar lo que ya pasó y proyectar lo que va a pasar.
Piénsalo así: los AppSheets son la caja registradora de cada finca. BigQuery es el contador que revisa todas las cajas al final del día, las compara, y te dice dónde ganar más dinero.
Lo que ya responde hoy: ¿Cuántas personas necesito la próxima semana en SKY3? ¿Qué camas están activas en SKY1? ¿Cuántos tallos se cortaron en febrero? ¿Qué labores quedaron mal ejecutadas?
🟡 El eslabón pendiente: conectar los AppSheets para que BigQuery se actualice automáticamente cada día.
Las dimensiones son las tablas que describen el mundo de Sky Flowers: las fincas, las camas, las variedades, los empleados. No cambian con frecuencia — son el mapa del terreno.
Las tablas de hechos registran los eventos: siembras, cosechas, labores ejecutadas. Crecen todos los días — son la historia viva de las fincas. Hoy tienen datos históricos cargados desde los Excel viejos; el reto es que se actualicen solos con los AppSheets.
Las vistas son consultas pre-armadas que combinan las tablas para responder preguntas específicas. No hay que programar nada nuevo — solo conectar el front-end.
Hoy los AppSheets escriben en Google Sheets. El plan es que cada vez que alguien registra algo en un AppSheet, esa información llegue automáticamente a BigQuery también. No hay que cambiar cómo trabaja la gente — solo agregar un destino más.
Hay tres formas de hacerlo. La más simple es la opción 1 — no requiere tocar los AppSheets ni cambiar cómo trabaja nadie.
Un script corre todos los días a las 11pm, lee el Google Sheet de cada AppSheet vía API de Google Sheets, y sube las filas nuevas a BigQuery. No toca los AppSheets, no cambia nada para los usuarios. El dashboard se actualiza con datos del día anterior.
python sync_appsheets_bigquery.py --fecha hoy
Se configura en AppSheet un "Bot" que dispara un webhook cada vez que alguien guarda un registro. El webhook llega al bot Flask que lo sube a BigQuery. Más complejo de configurar pero actualización inmediata.
AppSheet Bot → POST /webhook/siembras → BigQuery
Google tiene un conector nativo que lee un Google Sheet y lo copia a BigQuery automáticamente cada hora. La más fácil de activar si el Sheet está bien estructurado, pero menos flexible.
BigQuery Console → Data Transfers → Google Sheets
Hoy los datos son históricos. Sin la conexión, BigQuery se va quedando viejo. La sincronización nocturna es la opción más rápida de implementar.
Juan Fernando tiene esta tabla en SQL Server. Exportarla desbloquea la proyección de cosecha a 3+ meses con confianza alta.
Riego, Fertilización, Desmalezar, Subida de mallas y Deshijar aparecen en el plan con "— personas" porque no tienen rendimiento definido.
Un AppSheet simple donde el supervisor aprueba o ajusta el plan proyectado. Una vez que haya plan cargado, se activa la comparación Plan vs Real.
Conectar las salidas de insumos con centros de costo a BigQuery. Habilita el costo por labor y el P&L por sede.
Las 7 fincas no tienen hectáreas totales ni coordenadas GPS. Necesario para calcular densidades y visualizar en mapa.
Task Scheduler en el servidor que ejecute el envío de planes a supervisores todos los domingos a las 6pm automáticamente.
La base de los ~40 proveedores de Ramiro digitalizada. Necesaria para el módulo de compras y costos de insumos.
Cuando Luisa registra un ingreso o retiro, que dim_empleados se actualice sola. Hoy hay que actualizarla manualmente.