[go: up one dir, main page]

0% encontró este documento útil (0 votos)
71 vistas76 páginas

PBI - Semana 3

Este documento explica el lenguaje DAX, que se utiliza para crear objetos y consultar modelos tabulares en Power BI, Power Pivot y SQL Server Analysis Services. Introduce DAX y sus similitudes y diferencias con Excel. Luego explica operadores, funciones y tipos de cálculos en DAX.

Cargado por

Alejandro Pacora
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
71 vistas76 páginas

PBI - Semana 3

Este documento explica el lenguaje DAX, que se utiliza para crear objetos y consultar modelos tabulares en Power BI, Power Pivot y SQL Server Analysis Services. Introduce DAX y sus similitudes y diferencias con Excel. Luego explica operadores, funciones y tipos de cálculos en DAX.

Cargado por

Alejandro Pacora
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 76

POWER BI

3ra semana
skill
01
INTRODUCCIÓN AL
LENGUAJE DAX
¿Qué es DAX?
Su nombre proviene de Data Analysis
Expressions y es el lenguaje diseñado para
crear objetos y consultar modelos tabulares.
Estos modelos se encuentran en:

• Power Pivot integrado en excel

• SQL Server Analysis Services Tabular

• Power BI
DAX no es
Se ejecutan sensible a
desde dentro mayúsculas ni
DAX es un hacia afuera minúsculas
lenguaje En DAX todo es
funcional cuya una única
ejecución fluye instrucción que se
como llamadas a escribe en una
funciones línea

El lenguaje DAX se creó a partir del lenguaje Excel y para usuarios de excel
por lo que inculye todas sus funciones.
02
SEMEJANZAS CON
LENGUAJE EXCEL
DIFERENCIAS CON
LENGUAJE EXCEL

01 02 03

En DAX no existe el DAX trabaja sobre DAX aporta un valioso


concepto de celda de tablas, las funciones conjunto de funciones
excel esperan tablas o que permiten ir más
columnas allá de Excel

DAX tiene una sintaxis muy simple. Es un lenguaje funcional con


llamadas a funciones que se pueden anidar. DAX utiliza parámetros
variables y sus expresiones actúan sobre columnas y tablas.
DAX PARA USUARIOS DE
BASE DE DATOS

El dominio de modelos de bases de datos relacionales, como MS SQL Server o MS Acces,


facilita la comprensión de los modelos tabulares

Los modelos Las relaciones se crean Las funciones DAX


tabulares se basan entre columnas del tienen en cuenta las
en tablas y sus mismo tipo de datos relaciones entre tablas
relaciones

En DAX existen distintos tipos de datos (números, monedas, cadenas, fechas, BLANK)..
DAX es un lenguaje que no puede mezclar valores de tipos diferentes
en la misma columna.

Por otro lado, los operadores mandan sobre el tipo de datos, por
ejemplo, el operador suma intentará sumar siempre aunque queramos
sumar cadenas numéricas que tengan un formato de texto

1. DAX intenta convertir datos según necesidad

2. Si la columna tiene tipo texto, se puede convertir a fecha sin que


sea necesaria otra acción

3. Esto se conoce como conversión implícita

4. Si no se puede realizar la conversión automática, DAX cuenta con


funciones para realizar la conversión explícita

Las funciones DAX tiene sus nombres en inglés y no se espera que se traduzcan a otros idiomas
03
OPERADORES DAX
Provenientes de Excel

Matemáticos, lógicos y de cadenas


Conjunto: IN
Negación: NOT

Operadores lógicos disponibles como


funciones

AND
OR

El lenguaje de expresión DAX fue creado a semejanza de Excel e incluye funciones Excel que otras muchas que
permiten consultar y crear columnas calculadas, medidas y tablas calculadas para enriquecer los modelos
tabulares.
Power Bi funciona con una DAX es el lenguaje de
estructura de modelo tabular expresión de modelos
tabulares

Al tratar de comprender una fórmula DAX, a menudo resulta útil descomponer cada uno de los elementos
en un lenguaje común. Veamos entonces las sintaxis del lenguaje de expresión de DAX
Estructura de fórmula DAX

Los paréntesis ( ) que rodean una expresión que


La función DAX SUM que suma
contiene uno o varios argumentos. La mayoría de
todos los números en la
las funciones requieren al menos un argumento.
columna Sales[SalesAmount].
Un argumento pasa un valor a una función.

Nombre de
la medida

La columna de
El operador signo igual ( = ) referencia [SalesAmount] en la
que indica el principio de la tabla Sales. Con este argumento,
fórmula. Al calcular, La tabla de la función SUM detecta en qué
devolverá un resultado. referencia Sales. columna se agrega una suma.
Trabajaremos sobre el Excel 1 Ventas Adventure Works que vimos en la semana anterior. El
archivo se encuentra en el enlace (En la carpeta Archivos Power BI)
https://docs.google.com/spreadsheets/d/1mLQDoPa65fhUq9eJngHcRD5Myc8cyTo6/edit?usp
=share_link&ouid=117711758519218748082&rtpof=true&sd=true
Una vez podamos observar todas las tablas cargadas al modelo, procedemos a relacionarlas en las columnas que tengan
coincidencias (Para esto debemos ingresar a la visualización de Panel, para luego seleccionar y arrastrar)

Tabla Columna Cardinalidad Tabla Columna Cardinalidad


Productos IdProducto 1 Ventas CodProducto Varios (*)
Productos CodSubcategoría Varios (*) Subcategorías Idsubcategoría 1
Subcategoría CodCategoría Varios (*) Categoría IdCategoría 1
Ventas CodCliente Varios (*) Clientes Idcliente 1
Ventas FechaOrden Varios (*) Fecha Fecha 1
Clientes CodGeorafía Varios (*) Geografía IdGeografía 1
Una vez regresemos a la visualización de informe, seleccionaremos la tabla Ventas y una vez la hayamos
seleccionado, en el panel superior, buscaremos en la pestaña Modelado, la herramienta de Nueva Medida
Conforme vayamos escribiendo la fórmula, Muestra una lista con toda las tablas y
DAX nos irá informar los parámetros admite columnas del modelo.
cada función

Columnas entre [ ]

Inician con
Tablas
Si no colocamos el paréntesis al final, Power BI Por otro lado, si colocamos un cierre de
agrega automáticamente el cierre de paréntesis de más, Power BI indicará si hay
paréntesis que haga falta un error en la sintaxis

Paréntesis adicional

Color rojo indica


partes de sintaxis que
tienen algún error
04
FÓRMULAS
LENGUAJE DAX
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Filter IF Format Round
Distinctcount Weeknum Lookupvalue Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
FÓRMULAS DAX

Mensaje predeterminado por Power BI


TIPOS DE CÁLCULOS EN MODELADO

Permite escribir una expresión DAX que


Permite realizar una Permite escribir una expresión
calcula un valor a partir de datos. Las
selección en una lista de DAX que crea una columna en
medidas no existen dentro de tablas y
cálculos comunes y la tabla seleccionada y calcula
es necesario especificar el cálculo
agregar los resultados a los valores de cada fila.
deseado. En la tabla no habrá una
la tabla seleccionada
nueva columna y medida solo aparecerá
cuando se arrastre al gráfico.
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Filter IF Format Round
Distinctcount Weeknum Lookupvalue Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
FÓRMULAS DE AGREGACIÓN

Devuelve el promedio (media aritmética) de todos los números de una columna.


En este caso lo creamos con “nueva medida”

Fuente: https://learn.microsoft.com/es-es/dax/average-function-dax
FÓRMULAS DE AGREGACIÓN

Cuenta el número de filas de la columna especificada que contienen valores que no están
en blanco. En este caso lo creamos con “nueva medida”

https://learn.microsoft.com/es-es/dax/count-function-dax
FÓRMULAS DE AGREGACIÓN

Cuenta el número de valores distintos de una columna. En este caso lo


creamos con “nueva medida”

https://learn.microsoft.com/es-es/dax/distinctcount-function-dax
FÓRMULAS DE AGREGACIÓN

Devuelve el valor mayor de una columna, o entre dos expresiones


escalares. En este caso lo creamos con “nueva medida”

https://learn.microsoft.com/es-es/dax/max-function-dax
FÓRMULAS DE AGREGACIÓN

Devuelve el valor inferior de una columna, o entre dos expresiones


escalares. En este caso lo creamos con “nueva medida”

https://learn.microsoft.com/es-es/dax/min-function-dax
FÓRMULAS DE AGREGACIÓN

Devuelve la suma de una expresión evaluada para cada fila de una tabla.
En este caso lo creamos con “nueva medida”

https://learn.microsoft.com/es-es/dax/sumx-function-dax
FÓRMULAS DE AGREGACIÓN

Venta Total =
SUMX (TablaVenta,
TablaVenta[Precio Unidad] * TablaVenta[Cantidad] )

Venta Cantidad Precio Total


Unidad
14 9 13 117
15 75 3.5 262.5
16 32 6 192
17 32 1 32

605.3
Se aplica operación a cada fila y después se suma el resultado de todas las filas

https://learn.microsoft.com/es-es/dax/sumx-function-dax
FÓRMULAS DE AGREGACIÓN

https://learn.microsoft.com/es-es/dax/sumx-function-dax
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Lookupvalue IF Format Round
Distinctcount Weeknum Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
FÓRMULAS FECHA Y HORA
DATE

Devuelve la fecha especificada en formato


datetime.

https://learn.microsoft.com/es-es/dax/date-function-dax
CÓMO CREAR UNA TABLA
FÓRMULAS FECHA Y HORA
DATEDIFF

Devuelve el número de límites de intervalos entre dos fechas.

https://learn.microsoft.com/es-es/dax/datediff-function-dax
FÓRMULAS FECHA Y HORA

WEEKNUM

Devuelve el número de semana de la fecha especificada según el valor de return_type (el tipo de valor
devuelto). El número de semana indica la posición numérica de la semana dentro de un año.

Hay dos sistemas usados para esta función:

Sistema 1: La semana empieza el día Domingo y termina el día Lunes.


Sistema 2: La semana empieza el día Lunes y termina el día Domingo.

return_type (Opcional) Número que determina el día en que comienza la semana. El valor predeterminado es 1.

https://learn.microsoft.com/es-es/dax/weeknum-function-dax
FÓRMULAS FECHA Y HORA
WEEKNUM

https://learn.microsoft.com/es-es/dax/weeknum-function-dax
FÓRMULAS FECHA Y HORA
WEEKDAY

Devuelve un número del 1 al 7 que identifica el día de la semana de una fecha.

De forma predeterminada, el día está comprendido entre 1 (domingo) y 7 (sábado).

return_type Número que determina el valor devuelto:

Tipo de valor devuelto: 1, la semana comienza el domingo (1) y termina el sábado (7), numerado del 1 al 7.
Tipo de valor devuelto: 2, la semana comienza el lunes (1) y termina el domingo (7).
Tipo de valor devuelto: 3, la semana comienza el lunes (0) y termina el domingo (6), numerado del 1 al 7.

https://learn.microsoft.com/es-es/dax/weekday-function-dax
FÓRMULAS FECHA Y HORA
WEEKDAY

https://learn.microsoft.com/es-es/dax/weekday-function-dax
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Lookupvalue IF Format Round
Distinctcount Weeknum Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
FÓRMULAS FILTRO
CALCULATE
Evalúa una expresión en un contexto de filtro modificado.

FILTRO TOTAL

Fuente: https://learn.microsoft.com/es-es/dax/calculate-function-dax
FÓRMULAS FILTRO
CALCULATE
FÓRMULAS FILTRO
CALCULATE
FÓRMULAS FILTRO
CALCULATE
FÓRMULAS FILTRO
ALL
Devuelve todas las filas de una tabla, o todos los valores de una columna, omitiendo los filtros que se puedan haber aplicado.
Esta función es útil para borrar filtros y crear cálculos en todas las filas de una tabla..

Fuente: https://learn.microsoft.com/es-es/dax/all-function-dax
FÓRMULAS FILTRO
ALLSELECTED
Quita los filtros de contexto de las columnas y las filas de la consulta actual, a la vez que conserva todos los demás filtros de
contexto o filtros explícitos.
La función ALLSELECTED obtiene el contexto que representa todas las filas y columnas de la consulta, a la vez que mantiene los
filtros y contextos explícitos distintos de los filtros de fila y columna. Esta función se puede usar para obtener totales visuales en
las consultas.

https://learn.microsoft.com/es-es/dax/allselected-function-dax
FÓRMULAS FILTRO
LOOKUPVALUE
Devuelve el valor para la fila que cumple todos los criterios que especifica al menos una de las condiciones de búsqueda.

ID que permitirá cruzar tablas

Producto + IdProducto + CodProducto

Tabla de donde se tomarán Tabla donde se colocará


datos nueva columna

Fuente: https://learn.microsoft.com/es-es/dax/lookupvalue-function-dax
FÓRMULAS FILTRO
LOOKUPVALUE
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Lookupvalue IF Format Round
Distinctcount Weeknum Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
FÓRMULAS LÓGICAS
IF
Comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve un segundo valor.

https://learn.microsoft.com/es-es/dax/if-function-dax
FÓRMULAS LÓGICAS
IF

Resultado si se Resultado si no se
Condicional
cumple condición cumple condición

https://learn.microsoft.com/es-es/dax/if-function-dax
Otros ejemplos de IF
FÓRMULAS LÓGICAS
BLANK
Devuelve un espacio en blanco.
Notas: Los espacios en blanco no son equivalentes a los valores NULL. DAX usa espacios
en blanco para los valores NULL de base de datos y para las celdas en blanco de Excel.

https://learn.microsoft.com/es-es/dax/blank-function-dax
Otros ejemplos de IF & Blank

Es importante recordar que cuando la fórmula se hace larga es una buena práctica colocar cada criterio en una
línea distinta, con la finalidad de que tanto el que redactó dicha sintaxis u otras personas que lo observen puedan
comprender cuál es la finalidad de dicha columna (que como también verán ahora aparecen en campos)
FÓRMULAS LÓGICAS
And

Comprueba si los dos argumentos son TRUE y devuelve


TRUE si todos lo son. De lo contrario, devuelve false.

NOTA: La función AND de DAX acepta solo dos (2)


argumentos. Si necesita realizar una operación AND
en varias expresiones, puede crear una serie de
cálculos o, mejor aún, usar el operador AND ( && )
para combinarlas en una expresión más sencilla.

Fuente: https://learn.microsoft.com/es-es/dax/and-function-dax
FÓRMULAS LÓGICAS
OR

Comprueba si uno de los argumentos es TRUE para devolver TRUE.


La función devuelve FALSE si ambos argumentos son FALSE.

Nota: La función OR de DAX acepta solo dos (2) argumentos. Si


necesita realizar una operación OR en varias expresiones,
puede crear una serie de cálculos o, mejor, usar el operador OR
( || ) para combinarlas en una expresión más sencilla.

https://learn.microsoft.com/es-es/dax/or-function-dax
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Lookupvalue IF Format Round
Distinctcount Weeknum Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
FÓRMULAS DE TEXTO
CONCATENATE

Combina dos cadenas de texto en una sola. Notas:

• La función CONCATENATE combina dos cadenas de texto


en una sola. Los elementos combinados pueden ser texto,
números, valores booleanos representados como texto o
una combinación de esos elementos. También puede usar
una referencia de columna si la columna contiene los
valores adecuados.

• La función CONCATENATE de DAX acepta solo dos


argumentos, mientras que la función CONCATENATE de
Excel acepta hasta 255 argumentos. Si necesita
concatenar varias columnas, puede crear una serie de
cálculos o usar el operador de concatenación (&) para
combinarlas en una expresión más sencilla.

Fuente: https://learn.microsoft.com/es-es/dax/concatenate-function-dax
FÓRMULAS DE TEXTO
CONCATENATE

Fuente: https://learn.microsoft.com/es-es/dax/concatenate-function-dax
FÓRMULAS DE TEXTO
FORMAT
Convierte un valor en texto según el formato especificado.

Devuelve:

12345,67 "Número general" muestra el número sin formato.

$12.345,67 "Moneda" muestra el número con el formato de configuración regional de


moneda. En este ejemplo se muestra el formato de moneda predeterminado de Estados
Unidos.

12345,67 "Fijo" muestra al menos un dígito a la izquierda y dos a la derecha del separador
decimal.

12.345,67 "Estándar" muestra al menos un dígito a la izquierda y dos a la derecha del


separador decimal, e incluye separadores de miles. En este ejemplo se muestra el
formato de número predeterminado de Estados Unidos.

1.234.567,00 % "Porcentaje" muestra el número como porcentaje (multiplicado por 100)


con formato y el signo de porcentaje a la derecha del número separado por un solo
espacio.

1,23E+04 "Científica" muestra el número en notación científica con dos dígitos decimales.

Fuente: https://learn.microsoft.com/es-es/dax/format-function-dax

https://learn.microsoft.com/es-es/dax/concatenate-function-dax
FÓRMULAS DE TEXTO
FORMAT
Convierte un valor en texto según el formato especificado.

Fuente: https://learn.microsoft.com/es-es/dax/format-function-dax

https://learn.microsoft.com/es-es/dax/concatenate-function-dax
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Lookupvalue IF Format Round
Distinctcount Weeknum Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
FÓRMULAS DE INFORMACIÓN
CONSTAINSSTRING
Devuelve TRUE o FALSE para indicar si una cadena contiene otra cadena.

Fuente: https://learn.microsoft.com/es-es/dax/containsstring-function-dax
Función CONSTAINSSTRING: Devuelve VERDADERO o FALSO indicando si una cadena contiene
otra cadena.
Función IF + CONSTAINSSTRING: Permite colocar una etiqueta a las filas que cumplan la condición
establecida con la función de buscar texto (constainsstring)
FÓRMULAS DAX

Agregación Fecha y hora Filtro Lógicas De texto De información Matemáticas


Average Date Calculate And Concatenate Constainsstring Divide
Count Datediff Filter IF Format Round
Distinctcount Weeknum Lookupvalue Or Rounddown
max Weekday Blank Roundup
min
sumx

En la clase trabajaremos en ejemplos donde podremos experimentar el uso de las


siguientes funciones

Fuente: https://learn.microsoft.com/es-es/dax/dax-function-reference
Función DIVIDE (Medida): Cuando utilice la función DIVIDIR, debe pasar expresiones de numerador y
denominador. Opcionalmente, puede pasar un valor que represente un resultado alternativo .

Función DIVIDE (Nueva columna): Cuando utilice la función DIVIDIR, debe pasar expresiones de
numerador y denominador. Opcionalmente, puede pasar un valor que represente un resultado
alternativo .
FÓRMULAS MATEMÁTICAS
ROUND
Redondea un número al número especificado de dígitos.

https://learn.microsoft.com/es-es/dax/round-function-dax
FÓRMULAS MATEMÁTICAS
ROUNDDOWN
Redondea un número a la baja, hacia el cero.

https://learn.microsoft.com/es-es/dax/rounddown-function-dax
FÓRMULAS MATEMÁTICAS
ROUNDUP
Redondea un número al alza, alejándose de 0 (cero).

https://learn.microsoft.com/es-es/dax/roundup-function-dax
FÓRMULAS MATEMÁTICAS

ROUND ROUNDDOWN ROUNDUP


TIPOS DE OPERADORES
Existen 4 tipos distintos de operadores de cálculo: aritméticos, de comparación, de concatenación de
texto y lógicos
TIPOS DE OPERADORES
Existen 4 tipos distintos de operadores de cálculo: aritméticos, de comparación, de concatenación de
texto y lógicos
TIPOS DE OPERADORES
Existen 4 tipos distintos de operadores de cálculo: aritméticos, de comparación, de concatenación de
texto y lógicos
TIPOS DE OPERADORES
Existen 4 tipos distintos de operadores de cálculo: aritméticos, de comparación, de concatenación de
texto y lógicos
DUDAS
/alejandroarturogómezsánchezvergaray/

agomezsanchez@metrica23.com

https://metrica23.com

También podría gustarte