Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 31

Modelar los

Datos:
Expresiones DAX
Por: Carlos Piscoya Tenorio

Power BI
Agenda de Hoy
• Motivación • Funciones DAX
• Introducción • Operadores
• Lógicas
• Funciones DAX • De texto
• Contexto de Fila y de Filtro • De Fecha
• Tipos de Cálculos • De Agregación
• Columnas Calculadas • De Conteo
• Medidas • De Información
• Tablas Calculadas • Caso Práctico 02: Entrega de
• Caso Práctico 01 : Casos Pedidos
Positivo Covid 19 [MINSA]
Motivación
Motivación
Introducción
• Todos hemos oído hablar de Excel, e incluso puede que lo
hayamos usado. Y entre las miles de cosas que podemos hacer
con él, y de hecho una parte neurálgica es el uso de funciones
para el cálculo de nuevos datos.
• Como podemos observar en el siguiente ejemplo, mientras que
en Excel las referencias siempre utilizan celdas o rangos de
celdas, en DAX estas siempre apuntan a tablas o columnas.
Funciones DAX
• 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.
• Microsoft define DAX como una colección de
funciones, operadores y constantes que se
pueden usar en una fórmula o expresión, para
calcular y devolver uno o más valores. O lo que
es lo mismo: DAX te ayuda a crear información
nueva a partir de datos ya incluidos en un
modelo.
• Siglas en Ingles (Data Analysis Expressions, lo
que quiere decir, Expresiones de análisis de
datos)
Contextos en DAX
• En DAX, uno de los conceptos más importantes para comprender es el contexto en el que se
evalúa cada expresión DAX.
• Por ahora, es suficiente tener en cuenta que cada fórmula se puede evaluar en el contexto de
un conjunto específico de fila de datos de la tabla (un «contexto de fila») y / o en el contexto
de un conjunto específico de filtros (un «contexto de filtro»).

• Por ejemplo, la fórmula para una columna


calculada se evaluará para cada fila de una
tabla, utilizando el «contexto de fila».
• Del mismo modo, una medida que se coloca
en una tabla dinámica se evaluará para
cada celda en el área de valores, y cada una
de esas celdas tiene su propio «contexto de
filtro», que es la combinación de las
etiquetas de fila, etiquetas de columna,
filtros de informe y segmentadores.
Contexto de Evaluación, Filtro y Fila

El contexto de • 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

evaluación
modo son el entorno en el que se va a evaluar las medidas o calcular lo que
necesitamos.

Contexto de • Es el entorno en el que la función DAX se evalúa.

Filtro
• Los filtros se pueden aplicar por intermedio de Funciones, filtros, segmentadores

Contexto de • Es un contexto que contiene una única fila.


• Pueden ser creadas por el motor Automáticamente cuando se crean las COLUMNAS
CALCULADAS.

Fila • También puedes ser creadas por ITERADORES de Agregación (SUMX,AVERAGEX,etc) o


iteradores de filtro (FILTER, ADDCOLMNS, etc)
Tipos de Cálculos: 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.
Tipos de Cálculos: 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.
Tipos de Cálculos: 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.
Resumiendo
Caso Práctico 01
• Casos positivos por COVID-19 - [Ministerio de
Salud - MINSA]
Modelar de Datos | Nueva Columna
Modelar de Datos | Nueva Medida
Modelar de Datos | Nueva Tabla
Operadores en Funciones DAX
• «+» (más)
• «–» (Menos)
• «*» (Multiplicación)
• «/» (Dividir)
Funciones DAX básicas

Funciones Lógicas Funciones de Texto Funciones de Fecha

• IF, SWITCH, AND, OR, • CONCATENTATE • DATE


• AND(A,B) =A&&B, • REPLACE • YEAR
OR(A,B)=A| |B • EXACT • HOUR
• Cuando se necesita • UPPER • NOW,
más de dos • LOWER • MONTH
condiciones en la
• LEFT • WEEKDAY
fórmula, puede
utilizar por ejemplo, • RIGTH • TODAY
para AND se puede • MID
cambiar por && .
Funciones de Agregación
Funciones Simples Funciones con X al final Funciones con A al final

• SUM, AVERAGE, MIN, • SUMX, AVERAGEX, • COUNTA, AVERAGEA,


MAX, COUNT MINX, MAXX, COUNTX MINA, MAXA, COUNTA
• Sirve para crear • Estas funciones • Útiles sólo para
agregaciones o recorren la tabla y columnas con valores
resúmenes evalúan la expresión entre VERDADERO (1)
agrupados. fila a fila. vs FALSO (0)
• Sólo operan sobre • Agregan varias • Ojo: DAX nunca
columnas numéricas. columnas considera las celdas
• Agregan sólo una vacías para
columna. agregarlas.
Más Funciones DAX
Funciones de Conteo Funciones de Información

• COUNT – Sólo cuenta columnas • ISBLANK, ISNUMBER, ISTEXT,


numéricas. ISNONTEXT, ISERROR, LOOKUPVALUE
• COUNTA – para cualquier tipo de • Aunque estas funciones pueden ser
columna. útiles en determinadas situaciones, se
• COUNTBLANK – Cuenta celdas vacías en recomienda conocer previamente los
la columna. datos de la query y no depender de estas
• COUNTROWS – Cuenta el numero de filas formulas.
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)
Caso Práctico 02
• Entrega de Pedidos
Funciones DAX | Operadores básicos
Funciones DAX | Operadores básicos
Funciones DAX | Expresiones Lógicas
Funciones DAX | Expresiones Lógicas
Funciones DAX | Expresiones de Texto
Funciones DAX | Expresiones de Fecha
Funciones DAX | Expresiones de Fecha
Funciones DAX | Expresiones de Agregación
Funciones DAX | Expresiones de Información
¿Alguna
duda?

También podría gustarte