Reportes y BI
Cómo alimentar un tablero o un almacén de datos con la operación de un negocio en R2.
Para construir tableros propios o cargar un almacén de datos, la ruta es leer las órdenes y los pagos en bloques por fecha y guardarlos de tu lado. Con read:orders, read:payments y read:items tienes lo necesario para calcular casi cualquier indicador.
Indicadores que puedes derivar#
| Indicador | Cómo se arma |
|---|---|
| Ingreso por periodo | Suma de total de las órdenes no canceladas, agrupadas por fecha. |
| Tarifa promedio | Ingreso de hospedaje entre el número de noches vendidas, tomado de los renglones. |
| Mezcla por canal | Órdenes agrupadas por channel. |
| Mezcla de formas de pago | Pagos cobrados agrupados por method. |
| Artículos más vendidos | Renglones de órdenes agregados por item_name. |
| Clientes que regresan | Directorio de clientes filtrado por visit_count. |
Carga por bloques#
Para la carga inicial del histórico, ve mes por mes en vez de pedir todo de golpe: entra holgado en los límites y te deja reintentar un mes suelto si algo falla.
// Carga inicial: un mes a la vez
for (const [desde, hasta] of mesesEntre("2025-01-01", "2026-07-31")) {
const ordenes = await leerTodo("orders", {
created_from: desde,
created_to: hasta,
});
await guardarEnAlmacén(ordenes);
console.log(desde, "→", ordenes.length, "órdenes");
}¿Ya existe un reporte que resuelva esto?
Antes de construir tableros desde cero, revisa que el negocio no tenga ya resuelto lo que necesita dentro de R2: la plataforma incluye un generador de reportes con conectores a las herramientas de inteligencia de negocio más comunes. Esta API tiene sentido cuando necesitas los datos crudos dentro de tu propio producto.