| Función | Qué hace / Sintaxis | Ejemplo |
|---|---|---|
SUM |
Suma una columna. | SUM(Ventas[Total]) |
AVERAGE |
Promedio de una columna. | AVERAGE(Ventas[Monto]) |
MIN / MAX |
Valor mínimo o máximo. | MAX(Clientes[Edad]) |
COUNT |
Cuenta celdas con números. | COUNT(Ventas[ID]) |
COUNTA |
Cuenta celdas no vacías (cualquier tipo). | COUNTA(Clientes[Nombre]) |
DISTINCTCOUNT |
Cuenta valores únicos. | DISTINCTCOUNT(Ventas[ID_Cliente]) |
DIVIDE |
División segura (evita error entre 0). | DIVIDE([Ganancia], [Ventas], 0) |
SUMX |
Suma fila por fila (iterador). | SUMX(Ventas, [Cantidad] * [Precio]) |
AVERAGEX |
Promedio fila por fila (iterador). | AVERAGEX(Ventas, [Costo] * 1.1) |
| Función | Qué hace / Sintaxis | Ejemplo |
|---|---|---|
CALCULATE |
Modifica el contexto de filtro. La más importante. | CALCULATE([Ventas], Clientes[País]="ES") |
FILTER |
Devuelve una tabla filtrada (para condiciones complejas). | FILTER(Productos, [Precio] > 100) |
ALL |
Borra todos los filtros de una tabla/columna. | CALCULATE([Ventas], ALL(Productos)) |
ALLEXCEPT |
Borra filtros excepto los de las columnas indicadas. | CALCULATE([Ventas], ALLEXCEPT(Prod, Prod[Cat])) |
VALUES |
Devuelve una lista de valores únicos del contexto actual. | VALUES(Clientes[Ciudad]) |
RELATED |
Trae un valor de una tabla relacionada (lado 1 a lado varios). | RELATED(Categorias[NombreCat]) |
USERELATIONSHIP |
Activa una relación inactiva temporalmente. | CALCULATE([Ventas], USERELATIONSHIP(F[F_Envio], C[Fecha])) |
(Requiere tabla de Calendario obligatoria)
| Función | Qué hace / Sintaxis | Ejemplo |
|---|---|---|
TOTALYTD |
Acumulado anual (Año corrido). | TOTALYTD([Ventas], 'Calendario'[Fecha]) |
TOTALMTD |
Acumulado mensual (Mes corrido). | TOTALMTD([Ventas], 'Calendario'[Fecha]) |
SAMEPERIODLASTYEAR |
Mismo periodo del año anterior. | CALCULATE([Ventas], SAMEPERIODLASTYEAR('Cal'[Fecha])) |
DATEADD |
Desplaza fechas (días, meses, años) atrás/adelante. | CALCULATE([Ventas], DATEADD('Cal'[Fecha], -1, MONTH)) |
DATESBETWEEN |
Devuelve fechas entre dos límites. | DATESBETWEEN('Cal'[Fecha], [Inicio], [Fin]) |
YEAR / MONTH |
Extrae el año o el número de mes. | YEAR('Calendario'[Fecha]) |
FORMAT |
Convierte fecha a texto formateado. | FORMAT('Calendario'[Fecha], "MMMM YYYY") |
| Función | Qué hace / Sintaxis | Ejemplo |
|---|---|---|
IF |
Condicional simple: IF(condición, si_si, si_no) |
IF([Ventas] > 100, "Alto", "Bajo") |
SWITCH |
Evalúa múltiples condiciones (reemplaza a IFs anidados). | SWITCH([MesNum], 1, "Ene", 2, "Feb", "Otro") |
AND / && |
Devuelve VERDADERO si ambas condiciones se cumplen. | IF([Edad]>18 && [País]="ES", 1, 0) |
OR / || |
Devuelve VERDADERO si al menos una condición se cumple. | IF([Cat]="A" || [Cat]="B", "Top", "Regular") |
COALESCE |
Devuelve el primer valor que no sea BLANK (Vacío). | COALESCE([Ventas], 0) |
| Función | Qué hace / Sintaxis | Ejemplo |
|---|---|---|
CONCATENATE |
Une dos cadenas de texto. | CONCATENATE(Clientes[Nombre], Clientes[Apellido]) |
CONCATENATEX |
Une los textos de una columna separados por un delimitador. | CONCATENATEX(Productos, [Nombre], ", ") |
UPPER / LOWER |
Convierte texto a mayúsculas o minúsculas. | UPPER(Clientes[País]) |
ISBLANK |
Verifica si un valor está vacío (devuelve TRUE/FALSE). | IF(ISBLANK([Ventas]), "Sin ventas", "Activo") |
- Medidas vs. Columnas Calculadas:
- Crea una Columna Calculada si necesitas usar el resultado como un filtro o en las filas/columnas de una matriz (ocupa espacio en memoria).
- Crea una Medida para cálculos que dependan de lo que el usuario filtre en el reporte (se calculan en tiempo real y no pesan).
- Usa siempre la sintaxis estándar:
- Para Columnas, incluye el nombre de la tabla:
'Tabla'[Columna] - Para Medidas, usa solo los corchetes (así las distingues al instante):
[NombreMedida]
- Formatea tu código: No lo escribas todo en una sola línea. Usa
Shift + Enterpara saltar de línea y espaciar el código, tu "yo" del futuro te lo agradecerá.