
🔗 Linaje en DAX: el concepto que Power BI usa en silencio#
¿Sabías que Power BI usa el concepto de linaje cada vez que aplica un filtro desde un informe? 🤔
¿Qué es el linaje en DAX?#
El linaje es la asociación que tiene una tabla o columna de valores con una columna concreta del modelo de datos. Cuando una variable tiene linaje, DAX puede usarla directamente como filtro. Sin linaje, necesitás especificar explícitamente qué columna estás filtrando.
🛠️ Cómo se establece el linaje: TREATAS()#
La función TREATAS() asigna linaje a un conjunto de valores:
VAR YearMonthFilter = TREATAS({ 202604 }, 'Date'[MonthKey])Ahora YearMonthFilter puede pasarse directamente como filtro a CALCULATETABLE() o SUMMARIZECOLUMNS().
❌ Cómo se elimina el linaje: VALUE()#
Si usás VALUE() sobre una variable con linaje, el linaje desaparece y el motor DAX ya no puede usarla como filtro sin una comparación explícita.
💡 Explicación en pocas palabras#
Imaginá que tenés una etiqueta con el nombre de una calle. Esa etiqueta sabe a qué calle pertenece (tiene “linaje”). Si despegás la etiqueta y la ponés en un papel en blanco, ya nadie sabe a qué calle corresponde (sin linaje). En DAX, TREATAS() es como poner la etiqueta correcta, y VALUE() es como despegarla.
Más información en el link 👇

