> ## Documentation Index
> Fetch the complete documentation index at: https://woku.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Constructor de reportes

> Arma reportes ad hoc eligiendo fuente de datos, dimensiones y métricas, sin escribir código

El **constructor de reportes** permite armar un reporte sin código: se
elige una fuente de datos, se agregan dimensiones (cómo agrupar) y
métricas (qué medir), y el servidor traduce todo a una consulta de
agregación de MongoDB.

## Fuentes de datos

* **Respuestas de formularios** (`form-responses`).
* **NPS** (`nps`).
* **Envíos de formularios** (`form-submissions`).
* **Planes de acción** (`action-plans`).

## Dimensiones

Una dimensión es un campo por el que agrupar. Para campos de fecha se
puede elegir una **granularidad**: día, semana o mes. Por ejemplo,
`createdAt` agrupado por semana.

## Métricas

Una métrica es un valor agregado. Las agregaciones disponibles son:

* **count**: cantidad de documentos.
* **sum**, **avg**, **min**, **max**: sobre un campo numérico (por
  ejemplo, `avg` de `score`).

## Visualización

El reporte se puede mostrar como tabla, barra, línea, torta, mapa de
calor o tarjeta de indicador. En V1 la vista previa se renderiza como
**tabla**; las visualizaciones gráficas por tipo están planificadas como
mejora posterior.

## Vista previa y guardado

1. Define nombre, fuente, dimensiones y métricas.
2. Guarda la definición.
3. Pulsa **Ejecutar** para ver el resultado en una tabla.
4. Exporta a CSV, Excel o PDF, o agéndalo.

## Cómo se construye la consulta

El servidor genera el pipeline en este orden:

1. `$match` con el `companyId` (garantía multi-tenant) y los filtros.
2. `$group` por las dimensiones (con `$dateTrunc` cuando hay
   granularidad) calculando las métricas.
3. `$project` para aplanar el resultado.
4. `$sort` por la primera dimensión.
