Skip to content

Instantly share code, notes, and snippets.

@Heipry
Last active June 16, 2026 18:28
Show Gist options
  • Select an option

  • Save Heipry/be8c22750696bc26d06307b35d96f67f to your computer and use it in GitHub Desktop.

Select an option

Save Heipry/be8c22750696bc26d06307b35d96f67f to your computer and use it in GitHub Desktop.
Chuleta dividida por secciones y en formato tabla con 32 de las funciones más usadas en DAX (PowerBI) .

32 de las funciones más usadas en DAX (PowerBI) .


📊 1. Agregación e Iteración

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)

🎛️ 2. Filtros y Contexto

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]))

⏳ 3. Inteligencia de Tiempo

(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")

🧠 4. Lógicas y Condicionales

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)

📝 5. Texto e Información

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")

📝 3 Reglas de Oro para Principiantes en DAX

  1. 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).
  1. 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]
  1. Formatea tu código: No lo escribas todo en una sola línea. Usa Shift + Enter para saltar de línea y espaciar el código, tu "yo" del futuro te lo agradecerá.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment