Las medidas que trae FlujosChat cubren lo habitual, y el explorador te deja componer otras con un campo y una agregación. Cuando ni eso llega —porque necesitas dividir, comparar o clasificar— escribes una fórmula.
Dos tipos, y no se pueden confundir
Métrica calculada: da un número
Resume muchas filas en un valor. Dentro de una métrica, los campos van siempre dentro de una función de resumen: no se escribe «importe», se escribe SUMA(importe).
Dimensión calculada: da una etiqueta
Clasifica cada fila en un grupo. Aquí es al revés: no puede llevar funciones de resumen, porque cada fila tiene que poder etiquetarse por sí sola. Sirve para agrupar como tú quieras: «ticket alto / medio / bajo», «cita urgente o normal».
El tipo se elige al crearla y no se puede cambiar
Cómo se escribe una fórmula
Las fórmulas se escriben en el editor de un widget. El tipo lo decide dónde la escribes: una métrica va en Qué se mide → Añadir medida, pestaña Calculada; una dimensión, en Agrupar por → Añadir agrupación, también en Calculada.
Se escriben con los nombres de los campos, en entidad.campo, y las funciones habituales de una hoja de cálculo. El editor comprueba la fórmula mientras escribes: debajo dice si es válida y cómo se va a mostrar, o por qué no vale. Así un error se ve al momento y no cuando alguien abre el informe. El desplegable Funciones disponibles tiene la lista en español con cómo se escribe cada una y para qué sirve.
Las funciones disponibles
- Resumen — SUMA, PROMEDIO, CUENTA, CUENTA_DISTINTOS, MINIMO, MAXIMO.
- Números — ABS, REDONDEA, MAYOR, MENOR.
- Valores vacíos — SI_NULO, NULO_SI, ES_NULO.
- Condiciones — SI y CASO, más los operadores Y, O y NO.
- Fechas — ANIO, MES, DIA, HORA, DIA_SEMANA, TRUNCAR_FECHA y DIAS_ENTRE.
- Texto — TEXTO, CONCATENAR, MAYUSCULAS, MINUSCULAS.
Muchas aceptan también su nombre en inglés: SUM, AVG, COUNT, COUNT_DISTINCT, MIN, MAX, ROUND, GREATEST, LEAST, COALESCE, NULLIF, IF, CASE, YEAR, MONTH, DAY, HOUR y DATE_TRUNC. Las otras siete solo existen en español —ES_NULO, DIA_SEMANA, DIAS_ENTRE, TEXTO, CONCATENAR, MAYUSCULAS y MINUSCULAS—, así que escribirDAYS_BETWEEN da error de función desconocida.
Fórmulas que usarás
Qué porcentaje de las conversaciones confirma compra
SUMA(SI(conversations.has_purchase_confirmation, 1, 0)) * 100
/ CUENTA(conversations.id)Métrica sobre conversaciones. Cuenta las que pulsaron un botón de compra en un flujo —intención, no cobro— sobre el total del periodo.
Ticket medio, pero solo de lo cobrado
SUMA(sales.amount_cents) / SUMA(SI(sales.amount_cents > 0, 1, 0))Deja fuera del divisor los registros a cero, que suelen ser altas de prueba o ventas anuladas y tiran la media hacia abajo. El divisor es una SUMA de unos y ceros, no una CUENTA: CUENTA contaría también los ceros (ver las reglas más abajo).
Cuántos días se espera para una cita
PROMEDIO(DIAS_ENTRE(appointments.created_at, appointments.scheduled_at))Si sube mes a mes, tu agenda se está llenando más rápido de lo que puedes atender: es la métrica que anticipa que empiecen las quejas.
Mide la espera, no la atención
Coste de IA por conversación atendida
SUMA(ai_usage.cost_micros) / CUENTA_DISTINTOS(ai_usage.conversation_id)El número que dice si la IA te sale a cuenta. Míralo junto a las ventas de las conversaciones que atendió.
Clasificar el importe en tramos (dimensión)
CASO(
sales.amount_cents >= 50000, 'Alto',
sales.amount_cents >= 15000, 'Medio',
'Bajo'
)Una dimensión calculada: no lleva ninguna función de resumen y devuelve una etiqueta por fila. Con ella puedes hacer «ventas por tramo de importe». Dos detalles: el texto va entre comillas simples, y los importes están en céntimos, así que 50000 son 500 unidades de la moneda de esa venta.
La moneda va por venta, no por empresa
Agrupar las citas por mes de la cita (dimensión)
MES(appointments.scheduled_at)Reglas que conviene saber
- Las divisiones están protegidas. Dividir entre cero no rompe nada: el resultado sale vacío. No hace falta escribir la protección a mano.
- Los decimales se respetan. Dividir dos cuentas no trunca a números enteros, así que un ticket medio de 1,5 sale 1,5 y no 1.
- Las fechas se leen en la hora de tu negocio. MES o DIA_SEMANA sobre una fecha dan el mes y el día que ves tú, no los de un servidor en otro huso.
- CUENTA cuenta valores, no condiciones. Cuenta las filas que tienen algún valor, y un 0 es un valor: CUENTA(SI(condición, 1, 0)) cuenta todas las filas. Para contar las que cumplen algo, suma: SUMA(SI(condición, 1, 0)).
- Una fórmula no puede llamar a otra. Si dos comparten un trozo, se repite el trozo.
- Cuidado al mezclar entidades. Dentro de una fórmula valen las mismas reglas de combinar datos: sumar un campo que viene de un cruce infla el número, y el editor lo rechaza.
Una excepción útil de esa última regla
Guardar y reutilizar
Debajo de la fórmula hay dos salidas. Usar solo aquí la pone en este widget sin guardarla en ningún sitio. Guardar métrica, después de escribir un nombre, la deja en el catálogo de tu empresa. Una dimensión calculada solo tiene la segunda: para agrupar por ella hay que guardarla (Guardar dimensión).
Una métrica guardada queda disponible para todos los informes de tu empresa, en la lista Guardadas de la pestaña Calculada. Ojo: aparece solo en los widgets cuyos Datos son los mismos con los que se creó —una métrica de Ventas no sale en un widget de Citas—. Es lo que evita que «tasa de conversión» signifique una cosa en el informe de dirección y otra en el de marketing.
Hoy una métrica guardada no se puede editar ni borrar desde el panel: si necesitas otra versión, guárdala con otro nombre. Y como está compartida, si su fórmula cambia, todos los informes que la usan pasan a enseñar el valor nuevo la próxima vez que se abren.