Power Query Manual
Power Query Manual
2.3 DAX.................................................................................................................. 23
6
Anexo. ...................................................................................................................... 41
7
Índice de Figura
8
Capítulo 1. Introducción.
Capítulo 1. Introducción.
1.1 Introducción a Power Query.
1 Es el proceso donde se ponen a disposición los datos extraídos de múltiples fuentes, se limpian y/o
transforman en datos útiles, los cuales se cargan en diferentes plataformas.
2 Gran colección de servidores y hardware de red que ejecuta un conjunto complejo de aplicaciones
distribuidas
9
Capítulo 1. Introducción.
1.1.1.2 Transformar: Da forma a los datos para satisfacer sus necesidades, mientras que
el origen permanece inalterado.
Transformar datos significa modificarlos de alguna manera para cumplir con los
requisitos de análisis de datos. Se puede quitar una columna, cambiar un tipo de datos o
filtrar filas. Cada una de estas operaciones es una transformación de datos. Este proceso
de aplicar transformaciones (y combinar) a uno o varios conjuntos de datos también se
denomina modelo de datos3.
PQ utiliza una ventana dedicada denominada Editor de Power Query para facilitar y
mostrar transformaciones de datos. El editor realiza un seguimiento de todo lo que hace
con los datos, registrando y etiquetando cada transformación o paso que aplique a los
datos. Si la transformación es una conexión de datos, una eliminación de columna, una
combinación o un cambio de tipo de datos, se puede ver y modificar cada transformación.
3 Proceso de analizar y definir todos los diferentes datos que se recopilan y producen.
10
Capítulo 1. Introducción.
modificar y escribir sus propios pasos con el idioma Power Query M en el Editor
avanzado.
1.1.1.3 Combinar: Integra datos de varios orígenes para obtener una vista única en los
datos.
Anexar. Una operación de datos anexados crea una nueva consulta que contiene
todas las filas de una primera consulta seguidas de todas las filas de una segunda
consulta. Se pueden realizar dos tipos de operaciones de datos anexados:
11
Capítulo 1. Introducción.
• Datos anexados intermedios: Crea una nueva consulta para cada operación de
datos anexados.
• Datos anexados en línea: Anexa datos a la consulta existente hasta que llega a un
resultado final.
Combinar. Una operación de combinación crea una nueva consulta a partir de dos
consultas existentes. Esta consulta contiene todas las columnas de una tabla
principal, con una columna que actúa como vínculo de navegación a una tabla
relacionada. La tabla relacionada contiene todas las filas que coinciden con cada fila
de un valor de columna común en la tabla principal. Además, puede expandir o
agregar columnas de una tabla relacionada a una tabla principal.
12
Capítulo 1. Introducción.
• En el Editor de Power Query, se puede usar los comandos Cerrar y Cargar del
grupo Cerrar de la pestaña Inicio.
• En el panel Consultas del libro Excel, en Cargar en.
Otra manera es, ajustar las opciones de carga mediante el cuadro de diálogo para
seleccionar cómo se desea ver los datos y dónde se desea cargarlos, ya sea en una hoja
de cálculo o en un modelo de datos.
Power Pivot (PP) permite realizar un análisis de datos eficaz y crear modelos de datos
sofisticados. Con PP se podrá combinar grandes volúmenes de datos de diversos
orígenes, realizar análisis de la información rápidamente y compartir puntos de vista con
facilidad. Se puede usar el modelo de datos y una colección de tablas para crear
relaciones almacenadas como parte del libro. El modelo de datos se integra
profundamente con otras características de Excel, como tablas y tablas dinámicas, para
proporcionar una experiencia de análisis perfecta.
13
Capítulo 1. Introducción.
1. Sintaxis.
La sintaxis incluye varios elementos que conforman una fórmula, dicho en otras
palabras, cómo se escribe. Al tratar de comprender una fórmula DAX, a menudo resulta
útil descomponer cada uno de los elementos en un lenguaje común.
2. Funciones.
Las funciones son fórmulas predefinidas que realizan cálculos por medio de valores
específicos, denominados argumentos, en un orden o estructura determinados. Los
argumentos pueden ser otras funciones, otra fórmula, una expresión, referencias de
columna, números, texto, valores lógicos como TRUE o FALSE, o constantes.
y Otras. Si está familiarizado con las funciones en las fórmulas de Excel, muchas de las
funciones DAX le parecerán semejantes; sin embargo, las funciones DAX son únicas.
3. Contexto.
El contexto es uno de los conceptos de DAX más importantes. Hay dos tipos de
contexto en DAX: contexto de fila y contexto de filtro.
- Contexto de fila: Es más fácil pensar en el contexto de fila como la fila actual. Se
aplica siempre que una fórmula tiene una función use filtros para identificar una
fila individual en una tabla.
16
Capítulo 2. Power Query, Power Pivot y DAX.
El primer paso para poder usar PQ es disponer de él. A partir de la versión 2016 de
Excel ya viene instalado en la ficha Datos, de la barra de opciones, en el grupo Obtener
y transformar datos. Desde allí se puede comenzar un proceso ETL con PQ. Figura 2.1
Imagen 2.1: Power Query 2016 y 365. [Fuente: Elaboración propia, 2022]
17
Capítulo 2. Power Query, Power Pivot y DAX.
18
Capítulo 2. Power Query, Power Pivot y DAX.
2.- En este apartado se ven todas las consultas que tengamos en el documento
que estamos trabajando.
4.- La mayor parte de la ventana es la vista previa, aquí veremos cómo van
quedando los datos con las transformaciones que se van realizando, es una vista de solo
lectura, aquí no podemos hacer doble clic ni intentar modificar uno de los datos de forma
manual. Las transformaciones se realizan con las opciones que se encuentran en el punto
1. Dependiendo de lo que se haga, en la vista previa se verá reflejado el resultado para
ver cómo queda.
5.- Debajo de la cinta de opciones esta la barra la cual es muy similar a la barra
de Excel, de hecho, aquí también tenemos algo que podría considerarse a una formula,
pero no de Excel si no de PW. Es una fórmula que esta creada con algo similar a un
lenguaje de programación llamado M. La mayor parte del trabajo en el editor de consultas
se realiza a través de las opciones que están en el punto 1. Cuando utilicemos alguna
opción el editor de consultas las traducirá al código M correspondiente, es decir, nosotros
no lo tenemos que escribir, el editor lo hace de manera automática.
19
Capítulo 2. Power Query, Power Pivot y DAX.
Como todas las ventanas en su parte posterior se encuentra la cinta de opciones donde
están todas las operaciones.
1.- En la pestaña inicio están las opciones más usadas, donde se podrá añadir datos al
modelo de datos desde una tabla Excel o desde otros orígenes de datos. La opción
actualizar realiza la actualización del modelo o de alguna de sus tablas.
2.- En la pestaña diseñar se puede encontrar la opción crear las relaciones de los
modelos de datos.
3.- En versiones anteriores de Excel 2010 o 2013 se visualiza otra pestaña llamada Tabla
vinculada donde está relacionada a los orígenes de datos que se han ingresado en el
modelo. En las nuevas versiones de Excel ha desaparecido.
5.- Los filtros que se aplican en PP no son los mismo que en PQ, ya que estos solo limitan
la información que se vería y no la que se va a utilizar en una tabla dinámica.
6.- La parte central está dedicada a los datos, es decir las tablas que forman el modelo
de datos. Al contrario de Power Query este apartado no es una vista previa, es el modelo
de datos tal cual.
7.- En la barra inferior se indica cuantas filas de datos tiene cada una de las tablas en
cada hoja.
21
Capítulo 2. Power Query, Power Pivot y DAX.
22
Capítulo 2. Power Query, Power Pivot y DAX.
2.3 DAX.
Cada tabla está dividida en columnas con un nombre y algunas de ellas pueden
contener expresiones escritas en DAX, por ejemplo, para hacer un cálculo usando valores
de otras columnas. Cuando los datos se importan en el modelo, se crean filas en cada
tabla.
Una relación enlaza dos tablas usando una columna de cada tabla. Las expresiones
DAX utilizan las relaciones definidas en el modelo para, por ejemplo, saber cómo filtrar
los datos.
b) Tipos de datos
DAX define varios tipos de datos y una columna sólo puede contener datos de un
mismo tipo.
• Número entero
• Número decimal
• Cadena de texto
• Fecha
• Moneda
23
Capítulo 2. Power Query, Power Pivot y DAX.
• Boolean
c) Columnas calculadas
Las columnas calculadas son un tipo especial de columna que contienen una
expresión DAX que generalmente usa datos de otras columnas para devolver un
resultado, por ejemplo, una columna PrecioTotal que utilice las columnas PrecioUnidad y
Cantidad.
d) Medidas
Las medidas son otro tipo de columna especial que también contienen una
expresión DAX, pero el cálculo sólo se realiza cuando la columna es utilizada en un
reporte, y no se almacena en el modelo. Generalmente agregan datos de varias filas de
la tabla.
Las medidas son globales, aunque se definan para una tabla, por lo que los nombres
tienen que ser únicos en todo el modelo.
e) Relaciones
Para definir una relación entre dos tablas, una de ellas tiene que tener una columna
con valores que no se repitan y que sería la columna llave de la tabla y la otra debe tener
una columna del mismo tipo y conteniendo los mismos valores pero que pueden estar
repetidos. Esto es lo que se llama una relación de uno a muchos, porque por cada fila de
una tabla pueden existir muchas filas de la tabla relacionada.
La relación puede ser en una sola dirección, siempre desde el lado uno hacia el
mucho. O puede ser en ambas direcciones. Las expresiones DAX tienen en cuanta la
dirección de la relación cuando aplican filtros.
24
Capítulo 2. Power Query, Power Pivot y DAX.
f) Funciones
DAX es un lenguaje que utiliza funciones a las que se les pasa parámetros y que
devuelven un valor de un tipo determinado. Los parámetros pueden ser a su vez
llamadas a otras funciones.
El tipo de datos Tabla, puede usarse en las funciones como resultado o como
parámetro, pero no puede usarse en las columnas.
g) Expresiones
Para crear las columnas calculadas y las medidas usamos expresiones DAX, que
pueden contener operadores y llamadas a funciones.
Para referirse a una columna se utiliza el nombre de la tabla seguido del nombre de
la columna entre corchetes, por ejemplo, Producto[Precio].
• Fecha y hora
• Inteligencia de tiempo
• Filtros
• Información
• Lógicas
• Matemáticas
• Estadísticas
• Textos
25
Capítulo 2. Power Query, Power Pivot y DAX.
SUM(columna)
Es una función de agregación que suma todos los valores de una columna en una tabla.
Hay otras funciones de agregación: AVERAGE, MIN, MAX, STDEV, VAR.
SUMX(tabla, expresión)
Itera sobre cada fila de una tabla, calculando la expresión y sumando el resultado.
COUNT(columna)
COUNTROWS(tabla)
FILTER(tabla, condición)
Devuelve una tabla con las filas de la tabla original que cumplan con la condición
expresada en el segundo parámetro.
DATESYTD(columna)
Devuelve una tabla con los del año en curso hasta la fecha actual, presentes en la
columna pasada como parámetro. La columna tiene que ser de tipo Fecha.
Esta expresión crea una columna calculada a partir de otras dos columnas de la misma
tabla.
26
Capítulo 2. Power Query, Power Pivot y DAX.
Esta expresión crea una medida que calcula el precio total para los productos
seleccionados. En ella hemos usado la función SUM y la columna calculada del ejemplo
anterior.
Producto,
Esta expresión crea la misma medida del ejemplo anterior, pero utilizando la función
SUMX y sin utilizar la columna calculada Producto[Sub Total].
FILTER(
Producto,
Producto[Color] = "Verde"
),
Esta expresión crea una medida que calcula el precio total para los productos de color
verde. Hemos usado la función FILTER como primer parámetro de la función SUMX.
27
Capítulo 3. Implementación.
Capítulo 3. Implementación.
Antes que todo, se debe realizar la instalación de Microsoft Office para poder optar
a las herramientas que trae consigo. Para realizarlo es necesario comprar la licencia
la cual se puede obtener desde su página web oficial. Se recomienda descargar la
versión más reciente, debido a que estas son las que tienen disponibles las
herramientas que se van a utilizar. Cabe destacar que solo están disponibles para
Windows, no hay versión de estas herramientas en Excel para Mac.
28
Capítulo 3. Implementación.
Imagen 3.2: Documento sin proceso ETL. [Fuente: Elaboración propia, 2022]
Imagen 3.3: Documento con proceso ETL. [Fuente: Elaboración propia, 2022]
Las otras tablas que deben pasar por el proceso ETL son: Centros, Productos,
Categorías y Ventas. Estos documentos externos se van a utilizar en el Modelo de
Datos.
Lo siguiente es entrar a Power Pivot y desde ahí escoger la opción que permite
cargar documentos de Excel, le damos nombre a la conexión y se da búsqueda al
documento. Se cargarán las 4 talas creadas en el Modelo de Datos como muestra en
la Imagen 3.4.
29
Capítulo 3. Implementación.
Imagen 3.4: Tablas cargadas al Modelo de Datos. [Fuente: Elaboración propia, 2022]
Lo primero es la expresión que se quiere calcular, el cálculo que se debe realizar para
obtener los resultados. En este caso como se quiere seguir obteniendo el total de las
ventas se utiliza la isma expresión que la medida anterior, es decir usa la función SUM
para volver a obtener el Importe total de la tabla Operaciones, pero como ese dato ya
se ha calculado en una medida se puede aprovechar esa medida, “$ Ventas” y así ya
se ha indicado cual es la expresión, cual es el cálculo que se debe realizar.
Se dice que es un filtro simple porque afecta a una sola columna. Esta es la opción
más sencilla para modificar el contexto de filtro a través de CALCULATE. Aplicar filtros
a columnas individuales.
32
Capítulo 3. Implementación.
Así se consigue que en cada uno de los resultados que se obtendrán en el contexto
de filtro, también se tengan en cuenta la condición que se está añadiendo. Con esto
se está consiguiendo que el contexto que se tiene por la configuración de la tabla
dinámica que se ha creado, se le añada este nuevo filtro. En otras palabras, esto
quiere decir que en la formula se van a usar las filas de datos que corresponden a
cada una de las Subcategorías, pero solo los datos de los hombres.
Se añade un nuevo filtro modificando el contexto, para que en esa fórmula se usen
solo los datos que cumplen las dos cosas, que sean de la subcategoría que toca y que
sean solo los datos de hombres.
Para la medida del cálculo de ventas de mujeres se utiliza la misma medida del cálculo
de ventas de hombres solamente modificado la letra “H” por la letra “M”.
Imagen 3.7: Medida Ventas Hombres y Mujeres. [Fuente: Elaboración propia, 2022]
33
Capítulo 3. Implementación.
En este caso la única diferencia con las fórmulas anteriores es que se usa un operador
de comparación diferente, el menor o igual para indicar que se use los datos de las
personas que tienen hasta 30 años. Como en este caso se trata de un dato numérico,
lo que se utiliza para comparar no se ha puesto en comillas dobles. Se estable el tipo
de dato y se añade la medida.
El siguiente rango de edades es el que va de los 31 años a los 45 años. En este caso
tenemos que pensar en algo diferente porque los típicos operadores de mayor o
menor, por sí solos no valen y, además, no hay un operador “entre”. En estos casos
se puede optar por simularlo, controlando dos condiciones: que sea mayor o igual a
31 y que también sea menor o igual a 45 años. Es otra manera de aplicar un operador
“entre”.
La función AND de DAX es similar a la de Excel en su interior hay que controlar las
condiciones que se requieren que se cumplan. En este caso las dos que se han
indicado, que la edad sea mayor o igual a 31 años y que la edad sea menor o igual a
45 años, cada condición se indica en un argumento de la función AND y se deben
cumplir las dos para que se considere en su conjunto verdadera. Las filas de datos
que cumplan las dos cosas son las que se usarán en el cálculo.
34
Capítulo 3. Implementación.
Sobre la función AND, existe un problema y este es que está limitado en cuanto al
número de condiciones que se pueden controlar, sólo se pueden poner dos. En el
AND de Excel no es así, se pueden poner más.
Vamos a crear una nueva medida llamada “$ Ventas entre 46 y 60 años” la cual tendrá
la siguiente formula: “=CALCULATE([$ Ventas]; Operaciones[EdadCliente] >=46 &&
Operaciones[EdadCliente] <=60)”.
Para utilizar el AND también se pueden utilizar estos caracteres “&&” que
representarían al operador AND, colocándolos entre dos condiciones se deben
cumplir ambas para que la condición sea considerada como verdadera.
La ventaja que tiene hacerlo así es que de esta manera sí se pueden indicar más
condiciones. Si por ejemplo habría una tercera condición a controlar simplemente
tendríamos que poner al final de la formula los caracteres && y a continuación escribir
la nueva condición que también se quiere que se cumpla.
Finalmente se crea la medida con los datos de los clientes mayores de 60 años.
35
Capítulo 3. Implementación.
Imagen 3.8: Creación de medidas por rango de edades. [Fuente: Elaboración propia, 2022]
En la tabla Operaciones no hay sólo datos de ventas, sino que también hay datos de
devoluciones, ya que los datos están mezclados.
La única diferencia es que las devoluciones están en negativo y las ventas en positivo.
Esto significa que los cálculos que se han realizado hasta el momento, están mal.
Porque los datos de las devoluciones también se están usando y al estar en negativo
se están restando, entonces lo que se obtuvo fue una especie de resultado neto.
Para que solo se usen los importes de ventas y que no se tengan en cuenta esas filas
de datos de devoluciones se debe añadir otra condición al contexto de filtro.
En concreto lo que se debe hacer, es decirle que en el cálculo solo se debe usar las
filas de datos que el importe lo tengan en positivo, es decir mayor que cero y así de
esa manera ya no se usarán las filas de datos con importes negativos los de las
devoluciones.
Pero nos encontramos que en los filtros simples no se permite crear condiciones
complejas en el sentido de usar varias columnas diferentes por ejemplo en las edades
no hubo problema porque para ambas condiciones se usaba la columna de la edad,
se controlaba si era mayor o igual a 31 años y menor o igual a 45 años, pero se hacía
con la misma columna en ambos casos la edad.
36
Capítulo 3. Implementación.
Pero en este caso se estaría utilizando dos columnas, la del sexo cliente y la del
importe. Esto no se permite son columnas diferentes. Imagen 3.9
Lo que se ha creado hasta el momento son filtros simples. Se les llama así porque
nos referimos a columnas para crear las condiciones. Sólo se puede utilizar una
columna en cada expresión que debe ser evaluada para filtrar, es decir en el segundo
argumento calculado en la función “$ Ventas Hombres” no se puede referir a dos
columnas diferentes para crear un filtro.
Por lo tanto, añadiendo la condición que permite controlar los importes mayor que 0,
la formula quedara de la siguiente manera: “=CALCULATE([$ Ventas];
Operaciones[SexoCliente] = "H"; Operaciones[ImporteOperacion] > 0)
No se podía crear en una función, una condición que controlar a dos columnas, pero
sí se puede crear diferentes argumentos de filtros que en conjunto funcionan como un
&&. En el segundo argumento que es el primero de tipo filtro se ha indicado la primera
condición y en el otro argumento el importe de la operación.
Los resultados varían ya que ahora solo se está utilizando datos de filas de ventas.
Los datos de devoluciones se han dejado de utilizar.
Por tanto, las demás medidas estarían erróneas ya que todas fueron calculadas con
el valor neto. De restar a las ventas las devoluciones se tendría que ir cambiando
37
Capítulo 3. Implementación.
todos los cálculos para obtener los totales reales de las ventas y no los que tienen en
cuenta las devoluciones. Es decir, se debería ir añadiendo en todos los cálculos en
todas las medidas ese segundo filtro que se ha añadido en el caso de los hombres.
Pero recordemos que las medidas se pueden reutilizar y que de hecho todas las
medidas que se han realizado hasta aquí de resultados condicionales, han reutilizado
la primera medida “$ Ventas”.
En la primera medida debemos generar un cambio ya que ahora sabemos que la tabla
de las Operaciones hay datos mezclados, cambiaremos la fórmula para que con una
función CALCULATE se usen solo las filas de ventas, es decir que tengan el Importe
mayor que 0. Lo cual la formula queda de la siguiente manera:
“=CALCULATE(SUM(Operaciones[ImporteOperacion]); Operaciones[ImporteOperacion]
>0)”.
Indicando el filtro en color rojo en la medida, ya se está condicionando los datos que
se usaran en las otras medidas.
Como punto final podemos agregar una segmentación de datos el cual nos facilita
enormemente al momento de realizar los análisis. Este puede ser de año, mes, país,
etc.
38
Capítulo 4. Conclusiones.
Capítulo 4. Conclusiones.
Las conclusiones forman una parte importante del documento, en el cual se reflexiona
sobre todo lo aprendido durante el transcurso del proyecto.
Estas herramientas son impresionantes, sobre todo por el tema de ver hasta qué punto
con las condiciones o filtros se pueden superar dificultades y obtener cálculos que antes
eran imposibles y por supuesto, por ver cómo la reutilización de medidas nos ha permitido
realizar un cambio en la medida de la que partían todas las demás y así ahorrar trabajo.
Finalmente, y como opinión personal, considero que esta experiencia fue totalmente
enriquecedora, ya que me permitió traspasar todo lo aprendido en los años que llevo en
mi puesto de trabajo.
39
Capítulo 5. Referencia bibliográfica.
40
Anexo.
Anexo.
Charla 1
41
Anexo.
42
Anexo.
43
Anexo.
Une dos tablas con la misma estructura en una sola, obteniendo una
nueva tabla con las mismas columnas y con el total de filas de
ambas tablas
44
Anexo.
Implica unir columnas de dos tablas que tienen valores en com n por
otra columna.
45
Anexo.
Charla 2
46
Anexo.
47
Anexo.
48
Anexo.
Afortunadamente para
nosotros, o er ívot te
permite importar data desde
distintas fuentes de data
directamente a Excel sin
tener que encontrarse con los
problemas como crear
m ltiples hojas de trabajo
para distintas fuentes de data
49
Anexo.
Charla 3
50
Anexo.
51
Anexo.
52
Anexo.
53
Anexo.
54
Anexo.
55