¿Que son las funciones DAX de Power BI? Rta: DAX es un lenguaje de funciones introducido por Microsoft en Power BI, Power Pivot y Analysis Services Tabular para definir cálculos y consultas con el fin de obtener un valor o un conjunto de valores de una o varias TABLAS de DATOS.
Siglas en Ingles (Data AnalysisExpressions, lo que quiere decir, Expresiones de análisis de datos)
Consejos a la hora de nombrar Tablas y Columnas o Campos en DAX
Contenido
Contexto de Filtro
- Es el entorno en el que la función DAX se evalúa.
- Los filtros se pueden aplicar por intermedio de Funciones, filtros, segmentadores
Contexto de Fila
- Es un contexto que contiene una única fila.
- Pueden ser creadas por el motor Automáticamente cuando se crean las COLUMNAS CALCULADAS.
- También puedes ser creadas por ITERADORES de Agregación (SUMX,AVERAGEX,etc) o iteradores de filtro (FILTER, ADDCOLMNS, etc)
Tipos de Cálculos en DAX
#1 Columnas Calculadas
- No es más que una nueva columna o campo que se agrega a la tabla.
- Tiene la particularidad de ejecutar una función línea a línea o iterar para cada registro de la tabla. (Maneja el Contexto de FILA)
- Estas columnas, pueden SER usadas para definir relaciones.
- Como toda tabla se muestra en la sección de reportes.
- Consume Memoria RAM porque se almacena en la memoria. Se recalcula con la actualización del reporte.
#2 Medidas
- Se usan para calcular ratios, porcentajes por intermedios de funciones.
- Resume los datos mediante funciones en un subconjunto de la tabla. (funciona en el Contexto de FILTRO)
- Consume PROCESADOR en vez de RAM.
- Sólo se calcula cuando se utiliza el objeto visual.
#3 Tablas Calculadas
- Permite añadir Nuevas tablas al modelo de datos utilizando expresiones DAX.
- Maneja el Contexto de FILTRO.
- Como toda tabla se muestra en la sección de reportes.
- Consume memoria RAM puesto que se almacena en ella. Se recalcula en la actualización de Datos.
Operadores de funciones DAX en Power Bi
- «+» (más)
- «–» (Menos)
- «*» (Multiplicación)
- «/» (Dividir)
Funciones DAX Básicas
Funciones lógicas
- IF, SWITCH, AND, OR,
- AND(A,B) =A&&B, OR(A,B)=A| |B
- Cuando se necesita más de dos condiciones en la fórmula, puede utilizar por ejemplo, para AND se puede cambiar por && .
Funciones de texto
- CONCATENTATE
- REPLACE
- EXACT
- UPPER
- LOWER
Funciones de fecha
- DATE
- YEAR
- HOUR
- NOW,
- MONTH
- WEEKDAY
- TODAY
Funciones de agregación
- SUM, AVERAGE, MIN, MAX
- Sirve para crear agregaciones o resúmenes agrupados.
- Sólo operan sobre columnas numéricas.
- Agregan sólo una columna.
Con “X” al final
- SUMX, AVERAGEX, MINX, MAXX
- Estas funciones recorren la tabla y evalúan la expresión fila a fila.
- Agregan varias columnas.
Con “A” al final
- COUNTA, AVERAGEA, MINA, MAXA
- Útiles sólo para columnas con valores entre VERDADERO (1) vs FALSO (0)
- Ojo: DAX nunca considera las celdas vacías para agregarlas.
Funciones de CONTEO
- COUNT – Sólo cuenta columnas numéricas.
- COUNTA – para cualquier tipo de columna.
- COUNTBLANK – Cuenta celdas vacías en la columna.
- COUNTROWS – Cuenta el numero de filas de una tabla. (Requiere tabla como parámetro, NO COLUMNA)
- DISTINCTCOUNT – Número de valores diferentes de una columna. (ojo: Valores en blanco cuentan como un solo valor)
Funciones de información
- ISBLANK, ISNUMBER, ISTEXT, ISNONTEXT, ISERROR, LOOKUPVALUE
- Aunque estas funciones pueden ser útiles en determinadas situaciones, se recomienda conocer previamente los datos de la query y no depender de estas formulas.
Iteradores en Power Bi:
Permiten recorrer la tabla y evaluar expresiones fila a fila, así como agregar el resultado de cada fila.
Contexto de Evaluación en Power Bi
El contexto de evaluación es el que nos permite manejar las expresiones DAX, a tal punto que OBLIGAMOS que el resultado sea DIFERENTE, sin importar que las formulas sean IGUALES. Dicho de otro modo son el entorno en el que se va a evaluar las medidas o calcular lo que necesitamos.
Contexto de Filtro
- Es el entorno en el que la función DAX se evalúa.
- Los filtros se pueden aplicar por intermedio de Funciones, filtros, segmentadores
Contexto de Fila
- Es un contexto que contiene una única fila.
- Pueden ser creadas por el motor Automáticamente cuando se crean las COLUMNAS CALCULADAS.
- También puedes ser creadas por ITERADORES de Agregación (SUMX,AVERAGEX,etc) o iteradores de filtro (FILTER, ADDCOLMNS, etc)
Por ultimo te dejo un link microsoft donde puedes ampliar el tema de Contexto de las fórmulas DAX (aquí)