Introducción A DAX
Introducción A DAX
Introducción A DAX
Introducción a DAX
ÍNDICE
6 6.1 6.2 6.3 6.4 6.5
DAX
significa Expresiones de análisis de datos , y es el
l e n g u a j e d e f ó r m u l a s u t i l i z a d o e n Po w e r B I .
DAX
Por tanto, DAX es 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. DAX nos permite crear nueva información a
partir de datos que ya existen en nuestro modelo.
Funciones DAX
Conjunto de categorías:
Func iones d e agregac ión.
Funciones DAX
De acuerdo con la documentación de Microsoft
Calculan un valor Son similares a las Ayudan a devolver tipos Se usan en fórmulas
(escalar) como count, funciones de fecha y de datos específicos, que realizan cálculos
sum, average, hora de Microsoft buscar valores en tablas financieros, como el
minimum o maximum Excel, si bien las relacionadas y filtrar por valor neto presente y la
para todas las filas de funciones DAX se valores relacionados. Las tasa de devolución.
una columna o tabla, basan en los tipos de funciones de búsqueda
según se define en la datos datetime usados funcionan usando tablas
expresión. por Microsoft SQL y relaciones entre ellas.
Server. Las funciones de filtro
permiten manipular el
contexto de datos para
crear cálculos
dinámicos.
Tipos y funciones
Funciones DAX
De acuerdo con la documentación de Microsoft
Funciones DAX
De acuerdo con la documentación de Microsoft
Funciones DAX
De acuerdo con la documentación de Microsoft
LECTURA
F u n c i o n e s DA X
TIEMPO ESTIMADO
10 min
TIEMPO ESTIMADO DE LECTURA
10 min
https://drive.google.com/file/d/1zd7wMJgyJYPl84b8uqcJtSRxU8cYkVuP/preview
6.2 Columnas
Calculadas
C O M E N Z A R
Columnas Calculadas
CO LU M N A S M E D I DA S
CA LC U L A DA S CA LC U L A DA S
Po r e j e m p l o
Supongamos que tenemos una columna con los datos correspondientes a ciudades y otra columna
con los datos correspondientes a códigos postales, pero deseamos una sola columna que contenga
ambos datos, por ejemplo “28080 Madrid”.
O tenemos el precio de los productos y las unidades vendidas. Con las columnas calculadas
podemos crear una columna que nos ofrezca la facturación total por producto.
Esto precisamente es lo que podemos conseguir con las columnas calculadas. Las columnas
calculadas en Power BI se basan en fórmulas DAX.
Columnas Calculadas
¿Cómo crear
columnas calculadas?
Las columnas calculadas son útiles cuando queremos dividir o filtrar el valor, o si necesitamos un cálculo
para cada fila de nuestra tabla.
¿Cómo crear
columnas calculadas?
Una vez que seleccionado el botón la
2
Barra de fórmulas se llena con un
nombre de columna básico y el
operador = y la nueva columna aparece
en la cuadrícula de datos, como se
muestra a continuación imagen.
Columnas Calculadas
¿Cómo crear
columnas calculadas?
ELEMENTOS NECESARIOS:
Único nombre de columna: Los nombres deben ser únicos
en todos los sets de datos, páginas y en todo el informe.
Al menos una función o expresión.
¿Cómo crear
columnas calculadas?
3 DAX es un eficaz lenguaje de creación de fórmulas, que permite construir
cálculos sólidos de una forma rápida con su asistente.
A medida que escribimos una fórmula, Power BI Desktop propondrá
fórmulas o elementos de datos coincidentes para asistirnos y ayudarnos
en su creación. La barra de fórmulas de Power BI sugerirá funciones DAX
específicas y columnas de datos relacionadas a medida que vamos
creando la expresión de la función.
Columnas Calculadas
Ca ra c t e r í s t i c a s p r i n c i p a l e s d e s u u s o
VENTAJAS INCONVENIENTES
• Pueden ser usadas como • Las columnas calculadas se
slicers o segmentadores y en almacenan en el modelo y se
leyendas. ejecutan durante la
• Permiten su uso para definir actualización de los datos, lo
relaciones entre tablas y que implica que ocupen
agregar a valores. espacio en la memoria y usen
memoria RAM.
• Son rápidas y fáciles de crear.
• Si una columna calculada tiene
una formula compleja, no se
recomienda separar el cálculo
en columnas intermedias
porque cada cálculo intermedio
se almacena en la memoria
RAM y se desperdicia espacio.
Columnas Calculadas
Recuerda…
Crear columnas calculadas es un método sencillo de
enriquecer y mejorar los datos de nuestro modelo, ya
que una columna calculada constituye una nueva
columna, creada definiendo un cálculo que transforma o
combina dos o más elementos de datos existentes, para
crear un nuevo componente en la tabla, que contendrá
datos en un formato que nos va a ayudar a mejorar
nuestro informe y sus objetos visuales.
Las medidas
Son fórmulas de cálculo dinámico en las que los
resultados cambian en función del contexto.
Se usan en informes en los que se pueden combinar
y filtrar datos del modelo mediante varios atributos,
como un informe de Power BI o una tabla dinámica
o un gráfico dinámico de Excel.
Las medidas se crean con la barra de fórmulas DAX
del diseñador de modelos. Al definir una fórmula
para una medida en la barra de fórmulas, se muestra
una vista previa de cuáles serían los resultados para
el contexto actual, pero no se generan los resultados
inmediatamente en ninguna parte. La razón por la
que no se pueden ver los resultados del cálculo
inmediatamente es que el resultado de una medida
no se puede determinar sin el contexto.
Medidas
En Power BI Desktop
Las medidas se crean y muestran en la Vista de informe, la
Vista de datos o la Vista modelo.
Las medidas que se van creando durante la ejecución de
nuestro proyecto de visualización de datos con Power BI
iran apareciendo en la lista Campos, siendo fácilmente
identificadas por un icono de calculadora característico,
situado antes del nombre de la medida creada.
Dicho nombre de la medida lo podremos asignar una vez
creada la medida, que podrá ser agregada a una
visualización nueva o existente como cualquier otro
campo.
Medidas
ELEMENTOS NECESARIOS:
Un nuevo nombre de medida
Al menos una función o una expresión
Medidas
Ca ra c t e r í s t i c a s p r i n c i p a l e s d e s u u s o
VENTAJAS INCONVENIENTES
• Útiles cuando se necesitan agregar a valores. • Consumen CPU
• No tienen peso en el modelo, es decir, podemos crear • La principal diferencia respecto
tanta como deseemos y no tendrá impacto en el archivo a las columnas calculadas es el
resultante del análisis. Es decir, esta función o formula solo contexto de evaluación.
actúa, se empezará a ejecutar y aplicar, en el momento en
que se añade a la tabla, grafico o visualización que la
contiene. o Trabajan en el contexto filtro comúnmente,
aunque no exclusivamente.
• Son calculadas en base a los filtros aplicados en el
informe. Así una medida se va adaptando a los selectores
y filtros del informe y visualización que le afecte.
• Son definidas en una tabla, pero no pertenecen a ella.
Medidas
Recuerda…
Podemos crear una medida
calculada para realizar desde los
cálculos más simples, como calcular
porcentajes o proporciones, hasta
para la realización de agregaciones
mucho más complejas.
6.4 Contexto de
filtros
C O M E N Z A R
Contexto de filtros
Principal diferencia
d e l a s m e d i d a s re s p e c t o a l a s c o l u m n a s c a l c u l a d a s
Contexto de evaluación
“El conjunto de circunstancias que rodean una situación y
sin las cuales no se puede comprender correctamente”.
En Power BI y DAX
Contexto
“El ambiente bajo el cual se ejecuta una función o expresión DAX. En otras palabras,
es la parte de la tabla donde se calcula o va calculando una expresión DAX.”
Por tanto, el resultado obtenido de las columnas calculadas y de las medidas,
elaboradas con formulas DAX, depende del contexto en que se evalúen.
Contexto de fila
Contexto de filtro
Si queremos entender correctamente el comportamiento de una formula de DAX,
debemos de tener en cuenta ambos contextos.
Contexto de filtros
LECTURA
C o ntex to d e f i l a y c o ntex to d e
f i l t ro s
TIEMPO ESTIMADO
10 min
TIEMPO ESTIMADO DE LECTURA
10 min
https://drive.google.com/file/d/1uyKoofXUqOsba_hkMGyC3g4K6KSezuwD/preview
6.5 Variables a
expresiones
DAX
C O M E N Z A R
Va r i a b l e s a ex p re s i o n e s DA X
Por ejemplo, una fórmula DAX simple para una medida podría ser:
To t a l S a l e s = S U M ( S a l e s [ S a l e s A m o u n t ] )
Va r i a b l e s a ex p re s i o n e s DA X
To t a l S a l e s = S U M ( S a l e s [ S a l e s A m o u n t ] )
Recuerda…
Para tratar de comprender una fórmula DAX,
resulta útil descomponer cada uno de los
elementos en un lenguaje común.
Se debe tener en cuenta que una vez calculado el valor de una variable se
mantiene fijo y no cambia.
Podemos definir una variable en cualquier parte en una expresión DAX usando
la sintaxis VARNAME = RETURNEDVALUE.
Las variables pueden ser cualquier tipo de datos, incluidas tablas enteras.
Cada vez que hagamos referencia a una variable incluida en la expresión DAX,
Power BI tendrá que recalcular su valor según la definición, por lo que se
recomienda evitar repetir variables en las funciones.
Va r i a b l e s a ex p re s i o n e s DA X
LECTURA
Funciones de agregación
TIEMPO ESTIMADO
5 min
TIEMPO ESTIMADO DE LECTURA
5 min
https://drive.google.com/file/d/11vDOdyEbIhh85GWeejetBMaJH0p7EnFh/preview
6.7 Función
CALCULATE
C O M E N Z A R
F u n c i ó n C A L C U L AT E
La función
C A L C U L AT E
Es, quizá, la más importante del lenguaje
DAX, ya que evalúa una expresión que es
modificada por los filtros especificados.
La función
C A L C U L AT E
Siempre que realizamos una fórmula en DAX, tenemos que contextualizar la
medida. Por ejemplo si manejamos un dato concreto, por ejemplo “20.080”, y
no tenemos más información que lo sitúe en su contexto, no podremos
entender qué es lo que representa… Podría ser un código postal, la cifra de
ventas de una delegación nueva, el número de referencias del almacén de la
empresa, la cifra de IVA a ingresar en Hacienda en este trimestre, etc.
La función
C A L C U L AT E
Evalúa un contexto que ha sido determinado por filtros
que se le han aplicado como parámetros.
La sintaxis de CALCULATE
EXPRESIONES FUNCIONES DE
D E F I LT R O EXPRESIONES DE MODIFICACIÓN
BOOLEANAS F I LT R O D E TA B L A D E F I LT R O
F u n c i ó n C A L C U L AT E
Operación CALCULATE
1 Hace una copia del actual filter context y lo copia en un nuevo filter context.
Evalúa todos los filtros puestos en las condiciones y calcula la lista de valores
2 específicos para cada columna del filtro.
Usa la condición nueva para reemplazar los filtros de las columnas del
modelo. Si una columna tiene un filtro, el nuevo filtro de la fórmula,
4 reemplaza el filtro existente. Si las columnas no tienen filtro, el filtro de las
condiciones se aplica a la columna.
Claves
d e l f u n c i o n a m i e n t o d e CA LC U L AT E :
Los parámetros de “Filtro” modifican el contexto de la tabla dinámica,
cambiándolo a contexto de filtro:
• Si el argumento de filtro actúa sobre un campo que “Ya” está en la
tabla dinámica, anula ese contexto y activa el contexto de filtro.
• Si el argumento de filtro actúa sobre un campo que “No” está
siendo utilizado en la tabla dinámica, lo agrega al contexto de filtro.
F u n c i ó n C A L C U L AT E
Recuerda…
Es interesante pensar en la función CALCULAR como
dos partes: la agregación y el filtro.
Funciones DAX
De inteligencia de tiempo
DAX incluye varias funciones de inteligencia de tiempo para
simplificar la tarea de modificar el contexto de filtro de fecha.
Muchas de las funciones de inteligencia de tiempo de DAX están
relacionadas con períodos de fechas estándar: días, meses,
trimestres o años. Si en nuestro proyecto manejamos períodos de
tiempo irregulares, por ejemplo, años financieros que empiezan a
mediados del año natural, o necesitamos trabajar con semanas o
por horas, las funciones de inteligencia de tiempo de DAX no
serán útiles. En su lugar, debemos usar la función CALCULATE y
pasar filtros de hora o fecha creados manualmente.
Inteligencia de tiempo
DATESYTD: Devuelve una tabla que contiene una columna con las
fechas del año hasta la fecha, en el contexto actual.
PREVIOUSDAY: Devuelve una tabla que contiene una columna de todas las
fechas que representan el día anterior a la primera fecha de la columna de
fechas, en el contexto actual.
Recuerda…
Las funciones DAX de inteligencia temporal
permiten realizar cálculos y análisis que satisfacen
una necesidad frecuente en business intelligence:
manejar o comparar datos de acuerdo con un
criterio temporal.
Funciones relacionales
DAX ofrece funciones relacionales que nos facilitan
interactuar con tablas que tienen establecidas relaciones.
Puede devolver el valor de una columna, o puede devolver
todas las filas en una relación con las funciones de DAX.
Propagación
de filtros
Es la descripción de cómo se comunican por defecto
las distintas tablas relacionadas entre si en el modelo
de datos. Esta propagación viene soportada a través
de la relaciones que se establecen entre las tablas.
Ca ra c t e r í s t i c a s :
• La propagación ocurre del lado de los unos al
lado de los varios.
• La relación bidireccional habilita la propagación
hacia ambos lados.
Relaciones de tablas y DAX
P R O PAG AC I Ó N D E L P R O PAG AC I Ó N D E L
CO N T E X TO D E F I LT R O CO N T E X TO D E F I L A
Tablas calculadas
DAX permite filtrar las tablas en sus expresiones y,
después, trabajar con el conjunto de valores filtrados.
Con DAX, podemos crear tablas calculadas completamente
nuevas y, después tratarlas como cualquier otra tabla,
incluida la creación de relaciones entre ellas y otras tablas
del modelo de datos.
Las tablas calculadas suponen una funcionalidad de DAX
que permite expresar toda una gama de nuevas
opciones de modelado.
Por ejemplo, si necesitamos ejecutar diferentes tipos de
uniones de combinación o crear nuevas tablas basadas en
los resultados de una fórmula funcional, las tablas
calculadas constituyen un buen modo de hacerlo.
Ta b l a s y f i l t r a d o
Características
de las tablas calculadas:
Las tablas calculadas tienen un comportamiento similar al de las columnas calculadas,
es decir se comportan igual y con las mismas características.
En general son creadas para depurar expresiones complejas y crear tablas calendario.
Objetivo principal
de las tablas calculadas
Resumir información que ya se encuentre alojada dentro
de otra tabla del modelo.
1 Para crear una columna calculada, podemos ir a la vista de Datos en Power BI Desktop, en el área de
Herramienta de tablas, donde resulta más fácil crear la tabla calculada ya que podemos ver
inmediatamente la nueva tabla calculada. Para ello, tan solo debemos seleccionar Nueva tabla.
Ta b l a s y f i l t r a d o
Funciones
para las tablas calculadas
Podemos crear y definir una tabla calculada a partir de cualquier
expresión DAX que devuelva una tabla. También, mediante una simple
referencia a otra tabla.
DISTINCT: Devuelve una tabla de una columna que contiene los valores
distintos de la columna especificada. En otras palabras, los valores
duplicados se quitan y solo se devuelven los valores únicos.
VALUES: Devuelve una tabla de una columna que contiene los valores
distintos de la tabla o columna especificada.
Funciones
para las tablas calculadas
Podemos crear y definir una tabla calculada a partir de cualquier
expresión DAX que devuelva una tabla. También, mediante una simple
referencia a otra tabla.
Recuerda…
Las tablas calculadas permiten agregar nuevas tablas
basadas en los datos que ya se han cargado en el modelo.