🟢 Introducción
En Power BI es muy común encontrarnos con columnas que contienen valores repetidos, ya sea por transacciones, registros históricos o duplicados.
Cuando necesitamos obtener una lista única de valores, ya sea para filtros, relaciones, cálculos o visualizaciones, la función DISTINCT() es la herramienta ideal.
🧠 Qué es / para qué sirve
DISTINCT() devuelve una tabla que contiene únicamente los valores únicos de una columna o de una expresión tabular.
Sirve para:
- Construir listas únicas para segmentadores.
- Crear tablas auxiliares.
- Preparar datos para relaciones “Bridge tables”.
- Encontrar valores únicos sin duplicados.
- Mejorar rendimiento al reducir cardinalidad.
🧩 Sintaxis
DISTINCT(<columna_o_tabla>)
💻 Ejemplos con código
🔹 Ejemplo 1 — Obtener lista única de clientes
ClientesÚnicos =
DISTINCT( Ventas[Cliente] )
🔹 Ejemplo 2 — Crear tabla de productos vendidos
ProductosVendidos =
DISTINCT( Ventas[Producto] )
🔹 Ejemplo 3 — Lista única de fechas
FechasVenta =
DISTINCT( Ventas[Fecha] )
🔹 Ejemplo 4 — Contar valores únicos
TotalClientesÚnicos =
COUNTROWS( DISTINCT( Ventas[Cliente] ) )
🔹 Ejemplo 5 — DISTINCT sobre una tabla
TransaccionesUnicas =
DISTINCT( Ventas )
🧱 Buenas prácticas
✅ Usa DISTINCT para crear tablas puente en modelos con relaciones M:M.
✅ Prefiere usarlo sobre columnas de baja cardinalidad.
❗ Si la columna tiene muchísimos valores distintos, evalúa si es necesario.
✅ Úsalo junto con LOOKUPVALUE, SUMX, CALCULATE según el escenario.
👍 DISTINCT es determinista y NO depende de filtros activos.
⚠️ Errores comunes
🚫 Usar DISTINCT cuando se necesita VALUES() (que respeta contexto).
🚫 Aplicarlo a tablas gigantes sin necesidad → afecta rendimiento.
🚫 Asumir que preserva orden: no lo hace.
🚫 No entender que DISTINCT retorna una tabla, no un valor.
🔄 Variantes o alternativas
- VALUES() → respeta el contexto del filtro.
- ALL() → elimina todos los filtros.
- DISTINCTCOUNT() → cuenta valores únicos directamente.
- SUMMARIZE() → para agrupación más compleja.

Deja un comentario