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

# Columnas de fórmula

> Crea columnas calculadas con fórmulas, funciones e IA para calcular márgenes, ingresos y otras métricas de precios.

Las columnas de fórmula te permiten **calcular valores dinámicamente** a partir de otras columnas. Son esenciales para los flujos de trabajo de precios, analítica y toma de decisiones.

![Columna de fórmula mostrada en un Grid con valores de margen calculados](https://mintcdn.com/retailgrid/yby33A9XHZVL6uVo/images/grids/formula-column-result.png?fit=max\&auto=format\&n=yby33A9XHZVL6uVo\&q=85\&s=cc83a8ea3a233802e66898b67799a69f)

## 1. ¿Qué es una columna de fórmula?

Una **columna de fórmula** calcula valores automáticamente usando:

* Otras columnas (por ejemplo, `{Price}`, `{Unit Cost}`)
* Funciones (por ejemplo, `SUM`, `IF`, `ROUND`)
* Operadores (`+`, `-`, `*`, `/`)

A diferencia de las columnas estándar, los valores no se introducen manualmente: siempre se calculan.

![Cuadro de diálogo para añadir una columna de fórmula](https://mintcdn.com/retailgrid/yby33A9XHZVL6uVo/images/grids/formula-column-add.png?fit=max\&auto=format\&n=yby33A9XHZVL6uVo\&q=85\&s=ca4b44cb204e1a30431bcad937c0389c)

## 2. Cómo crear una columna de fórmula

### Paso 1: Añadir columna

* Haz clic en **Columns → Add Column**

### Paso 2: Seleccionar el tipo

* Selecciona **Formula**

### Paso 3: Configurar la columna

#### 1. Nombre

Dale un nombre de negocio claro:

* `Margin %`
* `Revenue`
* `Price Index`

#### 2. Formato de visualización

Selecciona cómo se muestran los resultados:

| Formato | Ejemplo |
| :- | :- |
| Number | 123 |
| Currency | €123.45 |
| Percentage | 25% |
| Text | "High" |

#### 3. Construir la fórmula

Tienes tres formas:

## 3. Construir fórmulas

### 3.1 Entrada manual

Escribe directamente:

```text theme={null}
({Price} - {Unit Cost}) / {Price}
```

### 3.2 Insertar referencias a columnas

* Haz clic en **Insert column reference** (insertar referencia a columna)
* Selecciona los campos de la lista

![Selector para insertar referencias a columnas](https://mintcdn.com/retailgrid/yby33A9XHZVL6uVo/images/grids/formula-insert-column-reference.png?fit=max\&auto=format\&n=yby33A9XHZVL6uVo\&q=85\&s=9cc6d75cc5ecf7d94cbf8274d3e344ee)

Ejemplo:

```text theme={null}
{Price} * {Quantity}
```

### 3.3 Insertar funciones

* Haz clic en **Insert function** (insertar función)
* Selecciona una de la lista

Ejemplo:

```text theme={null}
ROUND({Price}, 2)
```

## Funciones matemáticas y numéricas

![Lista de funciones en el editor de fórmulas](https://mintcdn.com/retailgrid/yby33A9XHZVL6uVo/images/grids/formula-functions-list.png?fit=max\&auto=format\&n=yby33A9XHZVL6uVo\&q=85\&s=3e885b867b0fa0623fcd4e0b289d9614)

### `ROUND(value, digits)`

Redondea un número a un número determinado de decimales.

**Ejemplo:**

```text theme={null}
ROUND({Price}, 2)
```

### `TRUNC(value, digits)`

Trunca un número sin redondear.

**Ejemplo:**

```text theme={null}
TRUNC({Price}, 0)
```

### `PRODUCT(value1, value2, ...)`

Multiplica valores.

**Ejemplo:**

```text theme={null}
PRODUCT({Price}, {Quantity})
```

### `POWER(base, exponent)`

Eleva un número a una potencia.

**Ejemplo:**

```text theme={null}
POWER({Price}, 2)
```

### `RAND()`

Genera un número aleatorio entre 0 y 1.

**Ejemplo:**

```text theme={null}
RAND()
```

## Funciones de agregación

### `SUM(range)`

Devuelve la suma de los valores.

```text theme={null}
SUM({Price})
```

### `SUMIF(range, condition)`

Suma condicional.

```text theme={null}
SUMIF({Sales}, {Category} = "Electronics")
```

### `MIN(range)`

Devuelve el valor más pequeño.

```text theme={null}
MIN({Price})
```

### `MAX(range)`

Devuelve el valor más grande.

```text theme={null}
MAX({Price})
```

### `AVERAGE(range)`

Devuelve el promedio.

```text theme={null}
AVERAGE({Price})
```

### `MEDIAN(range)`

Devuelve la mediana.

```text theme={null}
MEDIAN({Price})
```

## Funciones de conteo

### `COUNT(range)`

Cuenta los valores numéricos.

```text theme={null}
COUNT({Price})
```

### `COUNTA(range)`

Cuenta los valores no vacíos.

```text theme={null}
COUNTA({Product Name})
```

### `COUNTBLANK(range)`

Cuenta las celdas vacías.

```text theme={null}
COUNTBLANK({Price})
```

### `COUNTIF(range, condition)`

Cuenta los valores que cumplen una condición.

```text theme={null}
COUNTIF({Category}, "Electronics")
```

## Funciones lógicas

### `IF(condition, value_if_true, value_if_false)`

Lógica condicional.

```text theme={null}
IF({Price} > 100, "High", "Low")
```

> [!TIP]
>
> Las salidas de texto de `IF()` combinan bien con el [resaltado condicional por color](https://docs.retailgrid.io/es/grids/manage-columns.md). Clasifica una fila en una columna de fórmula y luego asigna un color a cada clasificación en el menú del encabezado de la columna.

## Funciones de texto

### `CONCAT(value1, value2, ...)`

Une valores de texto.

```text theme={null}
CONCAT({Brand}, " ", {Product Name})
```

## Funciones de fecha y hora

### `NOW()`

Devuelve la fecha y hora actuales.

```text theme={null}
NOW()
```

### `TODAY()`

Devuelve la fecha actual.

```text theme={null}
TODAY()
```

## Operadores (sintaxis básica)

### Aritméticos

```text theme={null}
+   addition
-   subtraction
*   multiplication
/   division
```

### De comparación

```text theme={null}
=   equal
!=  not equal
>   greater than
<   less than
>=  greater or equal
<=  less or equal
```

## 4. Usar IA para generar fórmulas

### Paso 1: Activar la IA

* Activa el interruptor **AI ON**

![Interruptor de IA en el editor de fórmulas](https://mintcdn.com/retailgrid/yby33A9XHZVL6uVo/images/grids/formula-column-ai-toggle.png?fit=max\&auto=format\&n=yby33A9XHZVL6uVo\&q=85\&s=a6fb80c52f5735fae0ce1f16b292044c)

### Paso 2: Describir la lógica

Ejemplos de entradas:

* "Margin"
* "Revenue = price times quantity"
* "Discount percent"

### Paso 3: Generar

* Haz clic en **Generate by AI**

El sistema:

* Creará la fórmula
* Validará la sintaxis

## 5. Validación y comentarios

Después de escribir una fórmula:

* **Formula is valid** (la fórmula es válida) - lista para usar.
* **Errors** (errores) - corrige la sintaxis o las referencias.

Problemas habituales:

* Faltan las `{}` alrededor de las columnas
* Uso no válido de una función
* División por cero (problema de lógica)

## 6. Conceptos clave

### 6.1 Cálculo por fila

Las fórmulas funcionan **por fila**.

Ejemplo:

```text theme={null}
{Price} * {Quantity}
```

Calcula los ingresos por producto.

### 6.2 Referencias a columnas

Usa siempre `{}`.

Correcto:

```text theme={null}
{Price}
```

Incorrecto:

```text theme={null}
Price
```

### 6.3 Funciones

Se usan para:

* Agregación
* Lógica
* Transformación

Ejemplo:

```text theme={null}
IF({Price} > 100, "High", "Low")
```

## 7. Casos de uso habituales

### Precios

**Margin %**

```text theme={null}
({Price} - {Unit Cost}) / {Price}
```

**Price Gap vs Competitor**

```text theme={null}
({Price} - {Competitor Price}) / {Competitor Price}
```

### Ingresos

**Revenue**

```text theme={null}
{Price} * {Quantity}
```

### Clasificación

**Price Tier**

```text theme={null}
IF({Price} > 100, "Premium", "Standard")
```

### Promociones

**Discount %**

```text theme={null}
({Original Price} - {Price}) / {Original Price}
```

## 8. Buenas prácticas

### Nombres

* Usa términos de negocio, no técnicos
* Prefiere:
  * `Gross Margin %`
  * `Net Revenue`

### Simplicidad

* Evita fórmulas demasiado complejas
* Divídelas en varias columnas si hace falta

### Reutilización

* Construye columnas intermedias:
  * `Margin`
  * `Revenue`
* Luego reutilízalas en otras fórmulas

### Rendimiento

* Evita fórmulas anidadas pesadas en conjuntos de datos grandes
* Prefiere expresiones más simples

## 9. Limitaciones

* Algunos tipos de columna no admiten agregación
* Los campos de texto no se pueden usar en cálculos numéricos
* No hay funciones multi-fila ni de ventana (por ahora)

## 10. Flujo de trabajo recomendado

1. Asegúrate de que existen los datos base (Price, Cost, etc.)
2. Crea las métricas principales:
   * Revenue
   * Margin
3. Añade información derivada:
   * Clasificación
   * Indicadores
4. Refina con IA o con ajustes manuales

## 11. Solución de problemas

| Problema | Solución |
| :- | :- |
| Error en la fórmula | Revisa la sintaxis |
| Resultados vacíos | Revisa los valores nulos |
| Números incorrectos | Valida las columnas de entrada |
| No se actualiza | Revisa las referencias a columnas |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.