Microsoft Power BI
Ing. Clidford Cueva Luyo
[Link]@[Link]
V. Funciones DAX
Básicas
Objetivo de la sesión
Mostrar los aspectos básicos y los
01 fundamentos teóricos del lenguaje DAX.
Entender el lenguaje DAX para construir
02 nuevas medidas en el modelo.
Revisar las principales funciones del
03 lenguaje DAX y su uso en un informe de
Power BI.
Cursos de Extensión Profesional INFOPUC
Estructura de la sesión
01 Definición del Lenguaje DAX.
02 Manipular expresiones DAX para crear
medidas.
03
Revisar las funciones DAX básicas y las
relaciones con tablas.
Cursos de Extensión Profesional INFOPUC
Funciones DAX
Data Cálculos:
Analysis -Medidas
Funciones
eXpression -Columnas
-Tablas
-Power BI
-Power Pivot
-Analysis
Fórmulas
Services
Cursos de Extensión Profesional INFOPUC
Funciones DAX
C D
Ganancia = TablaVentas[VentaTotal] – [CostoTotal] Venta Total = SUM (TablaVentas [Importe] )
A B C D E A B E F
A. El nombre de la columna calculada.
A. El nombre de la métrica calculada.
B. El símbolo igual, indica el inicio de un cálculo.
B. El símbolo igual, indica el inicio de la fórmula.
C. El nombre de la primera columna que se desea
C. Función de agregación.
operar.
D. Parámetros de la función de agregación.
D. El operador matemático.
E. La tabla referenciada.
E. El nombre de la segunda columna que se
F. La columna referenciada, ubicada en la tabla.
desea operar.
Cursos de Extensión Profesional INFOPUC
Funciones DAX de Agregación
SUM(<column>) Suma todos los números de una columna.
AVERAGE(<column>) Calcula el promedio de todos los números de una columna.
MIN(<column>) Devuelve el menor valor de una columna.
MAX(<column>) Devuelve el mayor valor de una columna.
SUMX(<table>,<expression>) Calcula la suma de una expresión evaluada para cada fila de una tabla.
Calcula el promedio de un conjunto de expresiones evaluadas sobre una
AVERAGEX(<table>,<expression>)
tabla.
Evalúa una expresión para cada fila de una tabla y devuelve el menor
MINX(<table>,<expression>)
valor.
Evalúa una expresión para cada fila de una tabla y devuelve el mayor
MAXX(<table>,<expression>)
valor.
Cursos de Extensión Profesional INFOPUC
Funciones DAX de Recuento
Cuenta el número de celdas en una columna que contienen valores que
COUNT(<column>)
no están en blanco y que sean numéricos.
Cuenta el número de celdas en una columna que contienen valores que
COUNTA(<column>)
no están en blanco y que sean alfanuméricos.
COUNTBLANK(<column>) Cuenta el número de celdas en blanco en una columna.
DISTINCTCOUNT(<column>) Cuenta el número de valores distintos en una columna.
Cursos de Extensión Profesional INFOPUC
Funciones DAX Lógicas
IF(<logical_test>, <value_if_true>[, Comprueba una condición y devuelve un valor cuando es VERDADERO;
<value_if_false>]) de lo contrario, devuelve un segundo valor.
Evalúa dos argumentos y devuelve VERDADERO si ambos argumentos
AND(<logical1>,<logical2>)
son VERDADERO. De lo contrario, devuelve FALSO.
Evalúa dos argumentos y devuelve VERDADERO si alguno de ellos es
OR(<logical1>,<logical2>)
VERDADERO. De lo contrario, devuelve FALSO.
Cambia el valor de una expresión de VERDADERO a FALSO y
NOT(<logical>)
viceversa.
Cursos de Extensión Profesional INFOPUC
Funciones DAX de Texto
CONCATENATE(<text1>, <text2>) Unifica dos cadenas de textos en una sola cadena.
REPLACE(<old_text>, <start_num>, Reemplaza parte de una cadena de texto, según el número de caracteres
<num_chars>, <new_text>) que especifique, con una cadena de texto diferente.
UPPER(<text>) Convierte todas las letras de una cadena de texto a mayúsculas.
LOWER(<text>) Convierte todas las letras de una cadena de texto a minúsculas.
TRIM(<text>) Elimina todos los espacios del texto excepto los espacios entre palabras.
Devuelve una cadena de caracteres de una cadena inicial, dada una
MID(<text>, <start_num>, <num_chars>)
posición inicial y una longitud.
Devuelve el número especificado de caracteres desde el principio de una
LEFT(<text>, <num_chars>)
cadena de texto.
Devuelve el número especificado de caracteres desde el final de una
RIGHT(<text>, <num_chars>)
cadena de texto.
LEN(<text>) Devuelve el número de caracteres de una cadena de texto.
Cursos de Extensión Profesional INFOPUC
Funciones DAX de Relaciones - Filtros
RELATED(<column>) Devuelve un valor relacionado de otra tabla.
CALCULATE(<expression>[, Evalúa una expresión en un contexto de filtro modificado.
<filter1> [, <filter2> [, …]]])
Cursos de Extensión Profesional INFOPUC
Funciones DAX de Fechas
Devuelve una tabla con una sola columna denominada "Fecha" que
CALENDAR(<start_date>,
contiene un conjunto contiguo de fechas desde la fecha de inicio hasta
<end_date>)
la fecha de finalización especificada, incluidas esas dos fechas.
DATEDIFF(<start_date>, Devuelve el recuento de límites de intervalo cruzados entre dos fechas.
<end_date>, <interval>)
DAY(<date>) Devuelve el día del mes, un número del 1 al 31.
MONTH(<date>) Devuelve el mes como un número del 1 (enero) al 12 (diciembre).
Devuelve el año de una fecha como un número entero de cuatro dígitos
YEAR(<date>)
en el rango 1900-9999.
Cursos de Extensión Profesional INFOPUC
Funciones DAX de Inteligencia de Tiempo
Devuelve una tabla que contiene una columna de fechas desplazada hacia
DATEADD(<dates>,<number_of_intervals>,
adelante o hacia atrás en el tiempo por el número especificado de intervalos de las
<interval>)
fechas en el contexto actual.
Devuelve una tabla que contiene una columna de fechas desplazadas un año atrás
SAMEPERIODLASTYEAR(<dates>)
en el tiempo, desde las fechas especificadas.
PARALLELPERIOD(<dates>,<number_of_i Devuelve una tabla que contiene una columna de fechas que representa un
ntervals>,<interval>) período paralelo a las fechas especificadas.
Devuelve la primera fecha del mes en el contexto actual para la columna de fechas
STARTOFMONTH(<dates>)
especificada.
Devuelve la última fecha del mes en el contexto actual para la columna de fechas
ENDOFMONTH(<dates>)
especificada.
Devuelve la primera fecha en el contexto actual para la columna de fechas
FIRSTDATE(<dates>)
especificada.
LASTDATE(<dates>) Devuelve la última fecha en el contexto actual para la columna de fechas
especificada.
Cursos de Extensión Profesional INFOPUC
Marca de Tabla de Fechas
Necesario para
utilizar las
propiedades de
inteligencia de
tiempo
Se debe
asociar una
columna de tipo
fecha de la
tabla marcada
Cursos de Extensión Profesional INFOPUC
INFOPUC
Qué
aprendimos
hoy ?
✓ Revisamos la diferencia de
columnas y medidas.
✓ Construimos medidas mediante
funciones básicas del lenguaje
DAX.
✓ Elaboremos informes utilizando
medidas creadas en DAX