SlideShare una empresa de Scribd logo
Funciones DAX - Laboratorio
(Medidas rápidas)
Las funciones DAX permiten construir entidades de datos para utilizarlas en las consultas y reportes
en Power BI. Existen más de 250 funciones que pueden ser empleadas en las consultas y reportes.
Este documento está dirigido a quienes desean analizar el funcionamiento y lógica de cada una de
las funciones DAX de Power BI.
Para el desarrollo del laboratorio debemos implementar el modelo de datos que utilizaremos con la
ayuda de la DB Adventureworks de PowerBI.
I Parte:
1. A partir de la DB de AdventureWorks importe a Power BI Desktop las siguientes tablas:
2. En Power Query (transformación de datos) elimine los errores de la tabla Sales.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
3. Verifique su modelo de datos en el panel “vista modelo” de modo que la tabla Date y la tabla
Sales estén vinculadas por el campo DateKey y DueDateKey.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Medidas Simples
Una medida en Power BI es una entidad temporal que toma un valor solo en el momento en
que esta es utilizada a través de una consulta, por lo que no ocupa espacio en el modelo de
datos. Una medida es simple cuando para su definición se emplean las dimensiones e
indicadores de base del modelo de datos.
4. En el panel de diseño de informes, menú “modelado” seleccione y cree una nueva medida
(simple) de acuerdo a la siguiente imagen. Asigne la medida creada a la tabla “Sales”
5. Repite el proceso y crea una nueva medida “profit_X”
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
6. Ahora construya una media simple que calcule la cantidad de clientes individuales que
generan ventas en nuestra empresa de acuerdo a la imagen:
7. Diseña el siguiente reporte de ventas por categoría de productos
Observa las medidas “profit” y “profit_X”.
Medidas Compuestas
Una medida es compuesta cuando su definición incluye el uso de otras medidas simples.
8. Elaborar una nueva medida (compuesta) como descrita en la imagen y colocarla en la matriz
de resultados
Aquí puede observar la utilidad del Sumx que resuelve el problema de una medida
compuesta que no puede realizar operaciones directamente con un indicador del modelo y
otra medida simple.
Cambie el nombre de la página por “MedidasSimples&Comp”
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Medidas rápidas
Una medida rápida es un ente temporal de datos que no ocupa espacio y que viene ya pre
configurada, lista para ser usada ingresando algunos pocos parámetros.
Las medidas rápidas pueden ser accedidas en el menú Modelado, en el ícono “Medida
rápida” y están agrupadas en las siguientes 6 categorías:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
9. En una nueva página crear una medida rápida del grupo “Agregado por categoría” con el
nombre G1_AvgxCountry
10. Repita el proceso para las otras funciones dentro del grupo “Agregados por categoría” y
asigne los siguientes nombres:
G1_VarxCountry
G1_MaxbyCountry
G1_MinxCountry
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
11. Finalmente implementa una nueva medida “G1_PonderbyCustomer” con la función “Media
Ponderada por Categoría” del grupo de medidas rápidas “Agregados por Categoría”
como se muestra en la imagen:
12. Incorporar todas las medidas en una tabla por “Group” como en figura:
13. Cambie el nombre de la página con: “AgregxCategoria”
14. Del área de datos seleccione la medida “G1_AvgxCountry” y en la barra superior en la
opción “Tabla Inicial” seleccionar “Date” para mover la medida a dicha tabla. Repetir el paso
con todas las variables G1, para moverlas a la tabla Date.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
15. Si desea verificar sus datos puede arrastrar la dimensión “Country” en la sección filas debajo
de la dimensión “Group” como en figura:
16. En el panel de informe muestre en una tabla las ventas anuales por categoría de producto de
acuerdo a la imagen:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
17. En el menú superior ir al módulo “Modelado” y seleccionar el icono de “Medida rápida”.
Luego del grupo “Filtros” seleccionar la función “Valor filtrado”. Crear la medida
“G2_VentasUS” según imagen. Incluir la medida en el reporte.
18. Repetir el paso 2 y ahora seleccionar la función “Diferencia respecto al valor filtrado” del
grupo “Filtros” y crear una medida rápida G2_Dif_SalesVsUS (Diferencia de las ventas del
periodo menos las ventas de USA) según imagen. Incluir la medida en el reporte
19. Repetir el paso 2 y ahora seleccionar la función “Diferencia porcentual respecto al valor
filtrado” del grupo “Filtros” y crear una medida rápida G2_Dif%_SalesVsUS (Diferencia
porcentual de las ventas del periodo menos las ventas de USA) según imagen. Incluir la
medida en el reporte
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
20. Observar el reporte:
21. Cambiar el nombre de la página por “Filtros”. Trasladar todas las medidas con prefijo “G2” a
la tabla Date
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones de agregación
1. Implementar el siguiente reporte en el panel de informe:
2. En el menú “Modelado” seleccionar “Nueva Medida”, y a continuación crear el campo “Profit”
según imagen:
3. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
AVGX (Promedio de las utilidades)
Compare las diferencias
4. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
MAXX y MINX: Valor máximos y mínimos de las utilidades
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
5. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
PRODUCTX: Cálculo de la utilidad general de las ventas
Analize la fórmula G1_Util
6. Incluya todas las medidas calculadas en el reporte como en imagen:
7. Envíe todas las medidas generadas a la tabla “Date” y cambie el nombre de la página por
“Agregados”
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones de Filtro
1. Implementar un reporte de ventas anuales y por categorías como en imagen:
2. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
ALL: Ventas / Ventas generales
ALL: Ventas / Ventas (quitando filtros del campo año):
ALL: Ventas / Ventas (quitando filtros del campo Category):
3. Replicar 3 veces el reporte del punto 1 en el panel de informe. Sustituir cada una de estas
medidas creadas en el área de valores de cada uno de los reportes como en imagen:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
4. Trasladar las medidas creadas a la tabla Date y cambiar el nombre de la página por “Filtro1”.
5. Crear una nueva página. Implementar un reporte de ventas por categorías y año como en
imagen:
6. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
ALLCROSSFILTERED: Ventas generales (eliminando todos los filtros)
ALL: Ventas eliminando el filtro Product
ALL: Ventas eliminando el filtro Date
ALLEXCEPT: Ventas eliminado todos los filtros excepto Año
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
7. Llevar todas las medidas creadas al reporte. Trasladar las medidas creadas a la tabla Date y
cambiar el nombre de la página por “Filtro2”
8. En la barra superior de herramientas de Power Query, seleccionar “Especificar Datos” y crear
2 tablas según imagen. La primera tabla YYYY_MOV es de movimientos por año (donde
existe un registro en blando) y la segunda es de año. Ambas deben estar relacionadas por el
campo YY.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
9. Mostrar en el panel de informes la tabla de movimientos y la tabla de años. Construir las
siguientes medidas de acuerdo a imagen:
10. Colocar en objetos de indicador las medidas creadas, según imagen:
11. Llevar todas las medidas creadas al reporte. Trasladar las medidas creadas a la tabla Date y
cambiar el nombre de la página por “Filtro3”.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
12. Crear una nueva página. Implementar un reporte de ventas por categorías como en imagen:
13. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
CALCULATE: Ventas solo para USA
CALCULATE: Ventas eliminado los filtros contextuales por Producto
CALCULATETABLE: Ventas a partir de una tabla que contiene las ventas del territorio USA
FILTER Ventas a partir de una tabla filtrada que contiene las ventas del territorio USA
KEEPFILTERS (Ventas de US quitando todos los filtros y solo manteniendo el país=USA)
14. Llevar todas las medidas creadas al reporte (ver imagen). Trasladar las medidas creadas a la
tabla Date y cambiar el nombre de la página por “Filtro4”.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
15. En el menú “Modelado” seleccionar “Nueva Tabla”, a continuación crear la tabla
“Tabla_Keepf” usando el código siguiente:
USO DE LA FUNCION KEEPFILTER CON AYUDA DE LA FUNCION ROW
USO DE LA FUNCION LOOKVALUE PARA EL BUDGET DE NORTHWEST
16. Crear un reporte con los datos de la nueva tabla creada como en imagen:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones de Fecha y Hora
1. En la barra superior de iconos seleccionar “Transformar Datos” e ir a la interfaz “Power
Query”. Asegurarse que todos los campos de fecha tengan el formato “fecha-hora”.
Regresar al panel de informes.
2. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear la siguiente
medida:
DATEDIFF
Seleccionar del área de visualizaciones el icono “Tarjeta” y asignarle la medida apenas
creada. Colocar como título al icono: “Días promedio de entrega”.
3. En el panel de informes preparar un reporte de Presupuestos a partir de la tabla
“SalesTerritory” como en imágen:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
4. En el área de datos, en el menú contextual de la tabla “SalesTerritory” seleccionar nuevas
columnas con los siguiente código DAX y su nombres:
EDATE (Próxima presentación de presupuestos)
NETWORKDAYS (Días laborables entre la presentación y ejecución)
5. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear la siguiente
medida:
NOW() (Número de días pasados desde la última presentación del presupuesto.)
YEARFRAC (fracción de días entre las fechas de ejecución y presentación de presupuestos)
6. Mostrar las columnas creadas en el reporte.
7. Del área de visualizaciones arrastrar 2 objetos “Tarjetas” al panel. Crear 2 nuevas medidas
como en imagen:
UTCNOW() (Hora actual del meridiano de Greenwich)
UTCTODAY
Incluir estas 2 medidas en las tarjetas del panel de informes
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
8. Enviar todas las medidas creadas a la tabla Date. Cambiar el nombre de la página por
“Fechas”
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones de Inteligencia de Tiempo
1. Implementar un informe por fechas como figura.Incluir un objeto de filtro por país y
seleccionar Australia.
2. En el menú “Modelado” seleccionar “Nueva Medida”, y a continuación crear los campos:
G4_ClosSalesMonth = Ventas de cierre de mes
G4_CloseSalesTri = Ventas de cierre de trimestre
G4_CloseSalesYear: Ventas de cierre del año
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G4_SalesMonthBefore: Ventas del mes anterior
3. Incluya todas las medidas calculadas en el reporte como en imagen, enviar todas las
medidas creadas a la tabla Date y cambiar el nombre de la página por Int_Fechas1:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
4. Crear una nueva página e implementar el siguiente reporte considerando el filtro del año
2019::
5. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
G4_Sales2019: Ventas del año 2019
G4_SalesDic2019: Ventas diciembre 2019
G4_SalesYtoDate: Ventas acumuladas al año
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G4_LastDayMonth: Ventas del último día de cada mes
G4_SalesLastDayQuarter: Ventas del último día del trimestre
G4_SalesLastDayPeriod: Ventas del último día del periódo
G4_SalesNextDay: Ventas del dia siguiente (Para ver el efecto en el reporte, abra el reporte
al nivel de días)
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G4_SalesNextMonth: Ventas del mes siguiente
6. Incluya todas las medidas calculadas en el reporte como en imagen, enviar todas las
medidas creadas a la tabla Date y cambiar el nombre de la página por Int_Fechas2:
7. Crear una nueva página e implementar el siguiente reporte
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
8. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes
medidas:
G4_SalesYYBefore: Ventas del año anterior
G4_SalesPrevDay: Ventas del día anterior (para ver el resultado debe abrir el reporte a nivel
de días)
G4_SalesSamePerLastYY: Ventas del mismo periodo del año anterior
G4_SalesStartMonth: Ventas de inicio de mes (verifique los resultados en el reporte)
G4_SalesStartQuarter: Ventas de inicio de trimestre (verifique los resultados en el reporte)
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G4_SalesAcumMonthto Date: Ventas acumuladas del mes
G4_SalesAcumQuattoDate: Ventas acumuladas del trimestre a la fecha
9. Incluya todas las medidas calculadas en el reporte como en imagen, enviar todas las
medidas creadas a la tabla Date y cambiar el nombre de la página por Int_Fechas3:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones de Manipulación de Tablas
1. En el menú “Modelado” seleccionar “Nueva Tabla”, y a continuación crear las siguientes
tablas:
G4_TabTerritorio: Tabla de territorios con la columna de Ventas usando la función
ADDCOLUMNS
Verificar la tabla y compararla con la tabla de territorios
G4_Tab_CustxCountry: Ventas de Clientes por países
Verificar la tabla creada
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G4_Tab_ResellxCountry: Ventas de revendedores por países
Verificar la tabla creada:
G4_TabCrossJoin: Cruce de las tablas anteriores ResellxCountry y CustxCountry
Verificar la tabla cruzada:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
2. Incluya las 4 tablas precedentes generadas en el panel de informe como en imagen. Cambiar
el nombre de la página por ManiTab1
3. Crear una nueva página. En el menú “Modelado” seleccionar “Nueva Tabla”, y a continuación
crear las siguientes tablas:
G5_SalesSummarize: Resumen de ventas, costos y utilidades por país y categoría de
producto.
Verificar los registros de la tabla como en imagen:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G5_SalesSummColum: Tabla cruzada de países y categorías de ventas, costos y utilidades,
empleando función “SummarizeColumn”. Verificar resultados como en imagen:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G5_SalesSummColum2: Tabla resumida de año y territorios de ventas, costos y utilidades,
empleando función “SummarizeColumn”. Verificar resultados como en imagen:
4. Incluya las 3 tablas precedentes generadas en el panel de informe. Cambiar el nombre de la
página por ManiTab2
5. Cree una nueva página. En el menú “Modelado” seleccionar “Nueva medida”, y a
continuación crear la siguiente medida:
G5_SalesDistinctxTerr: Ventas x territorio usando la función Distinct
Vaya a la tabla SalesTerritory e implemente el siguiente reporte en el panel de informes:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
6. En el menú “Modelado” seleccionar “Nueva medida”, y a continuación crear la siguiente
medida:
G5_NumFilters: Número de filtros a nivel país en el contexto del reporte donde se
encuentra
En el panel de informes prepare un reporte de ventas por Fecha y país e incluya la medida
G5_NumFilters y observe.
7. En el menú “Modelado” seleccionar “Nueva tabla”, y a continuación crear la siguiente
G5_Tab_Reseller: Tabla de ventas por Reseller y categoría de productos.
Implementar el reporte en el panel de informes siguiente:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
8. Disponga las tablas precedentes generadas en el panel de informe. Cambiar el nombre de la
página por ManiTab3.
9. Cree una nueva página. En el menú “Modelado” seleccionar “Nueva Tabla”, y a continuación
crear las siguientes tablas:
G5_TABCLIE3: Los 3 principales clientes en función de las ventas
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G5_TABRESEL3: Los 3 resellers en función de las ventas
En el panel de informes diseñar la información de ambas tablas de acuerdo a imágen:
10. Eliminar los campos: City, Country-Region, Postal Code y State-Province de las tablas
G5_TABRESEL3 y G5_TABCLIE3.
11. Generar la siguiente tabla:
G5_TABCROS: Tabla cruzada que es el producto cartesiano de las 2 tablas anteriores
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Mostrar el contenido de esta tabla en el panel de informes:
12. Disponga las tablas precedentes generadas en el panel de informe. Cambiar el nombre de la
página por ManiTab4.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Dax Studio
Descargar “Dax Studio” e instalarlo en su PC (https://daxstudio.org/).
En ocasiones es necesario probar el rendimiento de nuestras consultas sin afectar nuestros
informes o modelos de datos en Power BI Desktop/Services, para esto se puede emplear
DAX Studio.
DAX Studio es una herramienta gratuita de código abierto que permite ejecutar y analizar
expresiones DAX con el objetivo de depurar y mejorar los tiempos de ejecución de estas
funciones.
DAX Studio puede emplearse también para crear modelos de datos que pueden ser
exportados a SQL o sistemas CSV.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones de Información
1. En el área de menús en alto, dirigirse al menú “Herramientas Externas” y seleccionar el icono
“Dax Studio”. Al ingresar a la interfaz de Dax Studio, digitar el comando “Evaluate
ColumnStatistics” en el área de consultas como en imagen. Observe en la parte inferior el
resultado y verifique que cada tabla del modelo (incluso algunas tablas ocultas) muestran
información de los campos como: El nombre del campo, el mínimo, el máximo, la
cardinalidad y la longitud máxima.
(La función “ColumnStatistics” devuelve una tabla de estadísticas referente a cada columna
de cada tabla del modelo).
2. Implementar un informe de ventas por Grupo / Categorías y Subcategorías de productos,
como en imagen. En el menú “Modelado” seleccione “Nueva Medida” y cree la siguiente
medida:
G6_Contains: Verifica que registros corresponden a ventas de bicicletas de tipo Road Bikes.
(Verifica si los valores de un conjunto de campos coinciden con las especificaciones y retorna
un valor de verdadero o falso). Incluya la medida en el reporte.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
3. En el menú “Modelado” seleccione “Nueva Tabla” y cree la siguiente Tabla:
G6_TAB1: Tabla que filtra los clientes de apellido “Kovár” de la tabla “Customer” y cuya
“Región” corresponde a todas aquellas que están después de la región de Canadá.
4. En el “Panel Vista de Modelo” establecer la relación entre la tabla “G6_TAB1” y la tabla
“Sales”. Mostrar la tabla creada a la derecha en el panel de informes como en imágen.
Seleccione los clientes de la tabla para consultar sus ventas por Región / Categoría y
SubCategoría, en la tabla de la izquierda.
5. En el menú “Modelado” seleccione “Nueva medida” y cree la siguiente medida:
G6_HOFilter: Muestra el valor del elemento en el caso que el nivel de filtro sea uno, caso
contrario lo deja en blanco.(HASONEFILTER: da el valor de True si el número de filtros
aplicados al elemento es 1 sino da False). Incluir la nueva medida en el informe.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
6. En el menú “Modelado” seleccione “Nueva medida” y cree la siguiente medida:
G6_Filtro: Muestra si el filtro de un campo especificado es directo o no.(ISFILTERED: esta
función da el valor de True si el campo especificado está afectado por filtros cruzados, caso
contrario da el valor False). Incluir la nueva medida en el informe.
7. En el menú “Modelado” seleccione “Nueva tabla” y cree la siguiente tabla:
G6_TPostCode: Tabla que filtra los clientes con código postal numérico, cuyas regiones son
antecesoras alfabéticamente con Canadá y cuyos clientes alfabéticamente anteceden a “Ab”.
Verifique los resultados del filtro en la nueva tabla como en imágen:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
8. En el menú “Modelado” seleccione “Nueva tabla” y cree la siguiente tabla:
G6_TAB2: Resumen de ventas por Colores de Producto. Se emplea las funciones:
- ROLLUP: Subtotaliza los campos especificados basados en los cambios de los
valores de una columna (en este caso “Color”).
- IsSubtotal: Crea otra columna en una expresión SUMMARIZE que devuelve "true" si
la fila contiene valores de subtotal de la columna especificada como argumento; de lo
contrario, devuelve "false".
9. Cambie el nombre de la página por “Inf” y traslade las medidas creadas a la tabla Date.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones de Relaciones
1. En el panel informes crear un reporte de ventas anuales e incluir el campo
“Customer/Customer ID” de la tabla de clientes con la función de agregación “Distinct Count”,
como en imágen:
Como se observa la columna “Recuento de Customer ID” no hace las agregaciones correctas
porque la dirección de filtro es únicamente en la dirección de clientes a ventas, como se ve a
continuación:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
2. En el menú “Modelado” seleccionar la opción “Nueva Medida” y crear las siguientes medidas:
G7_Num_Cli: Calcula la cantidad de clientes por año activando la dirección de filtro cruzado
en ambas direcciones.
G7_Sales_ShipDate: Muestra las ventas basadas en las fechas de embarque. La función
USERELATIONSHIP cambia el campo de filtro entre la tabla de Ventas y la de fechas de
“DueDateKey” a “ShipDateKey”, solo para esta sentencia.
Incluir las medidas en el reporte de ventas por año y verificar resultados.
Observe las diferencias entre las ventas basadas en las fechas de embarque y las fechas de
entrega.
3. Observe la relación y la dirección de filtros entre la tabla de territorios y la tabla de ventas:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
4. Prepare un reporte que muestre las ventas por “Región”, excluyendo a las que pertenecen a
“United States”.
Al preparar el reporte tenemos el reporte de la izquierda. Si en cambio creamos la medida:
En el menú “Modelado” seleccionar la opción “Nueva medida” y crear la siguiente:
G7_Sales_NoUS: Ventas no incluidas las que corresponden a las regiones de USA. El uso
de la función RELATED permite consultar (“de muchos a uno”) los registros de la tabla
Territorio que no se podría hacer por la dirección de filtro establecida como se muestra en el
punto 3.
Arrastrar la medida al reporte.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
5. Cambiar el nombre de la página por el nombre “Rel_Log” y trasladar las medidas creadas a
la tabla de fecha.
Funciones Lógicas
6. Ir al menú “Modelado” y crear una nueva medida:
G8_True_False: Muestra en el reportes con True las ventas superiores a 10,000,000 y con
False a las inferiores.
Incorporar esta medida al reporte de ventas por Región.
7. Ir al menú “Modelado” y crear la siguiente tabla:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
G7_TAB1: Crea una tabla basada en la tabla cliente agregando un campo “Post_Code”
donde se encuentran los Códigos Postales numéricos o en su defecto el código “9999” en el
caso que el código postal sea alfanumérico.
Mostrar la tabla como en imágen:
Funciones de Texto
1. En DAX Studio digite la siguiente consulta:
En esta consulta se usa la función “COMBINEVALUES” que combina 2 o más cadenas (en el
ejemplo son 3 cadenas) en una sola.
También se usa la función CONCATENATE que es similar a la anterior pero que sólo trabaja
con 2 cadenas. Cuando se tiene esta restricción se podría emplear funciones
CONCATENATE anidadas como en el ejemplo.
Verifique el resultado:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
2. En DAX Studio digite la siguiente consulta:
En esta consulta la medida “mm” va a concatenar el resultado de la función
“COMBINEVALUES” que se calcula en cada registro. La concatenación se hará para todas
las filas de la tabla con el separador “,” y el ordenamiento basado en el campo [Country] de
manera Ascendente.
Verifica el resultado:
3. En DAX Studio digite la siguiente consulta:
DEFINE
TABLE t1= FILTER(Customer, EXACT(Customer[City],Customer[State-Province]))
EVALUATE t1
Verifique los resultados
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
4. En DAX Studio digite la siguiente consulta:
DEFINE
TABLE t1=ADDCOLUMNS(
TOPN(10,
SUMMARIZE(Sales,
Customer[Customer],
"Sales", SUMx(sales,Sales[Sales Amount])
),
[Sales]),
"Sales GNumber",FORMAT([Sales],"General Number"),
"Sales Currency",FORMAT([Sales],"Currency"),
"Sales Fixed",FORMAT([Sales],"Fixed"),
"Sales Standard",FORMAT([Sales],"Standard"),
"Sales Percent",FORMAT([Sales],"Percent"),
"Sales Scientific",FORMAT([Sales],"Scientific")
)
EVALUATE t1
5. En DAX Studio digite la siguiente consulta:
DEFINE
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
TABLE t1=ADDCOLUMNS(
TOPN(10,
SUMMARIZE(Sales,
Customer[Customer],
"Sales", SUMx(sales,Sales[Sales Amount])
),
[Sales]),
"Cust_COD", LEFT(LOWER([Customer]), MINX(Customer, LEN([Customer]))
)
)
EVALUATE t1
6. En DAX Studio digite la siguiente consulta:
DEFINE
TABLE t1 = FILTER(Customer, SEARCH("HU*",Customer[Customer],1, BLANK())>0)
EVALUATE t1
Observe la función “SEARCH” que es similar a la función “FIND”. Las diferencias residen en
qué “SEARCH” no reconoce entre caracteres mayúsculos y minúsculos y que adicionalmente
acepta caracteres comodín.
En el ejercicio se busca a todos los clientes que tengan la sílaba “HU” dentro de sus nombres
y apellidos. Vea los resultados.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
7. En DAX Studio digite la siguiente consulta:
DEFINE
TABLE t1 = SELECTCOLUMNS(FILTER(Customer,Customer[Country-Region]="United
Kingdom"),
"Customer", Customer[Customer],
"Country", Customer[Country-Region],
"Sp_Country", SUBSTITUTE(Customer[Country-Region],"United Kingdom",
"Reino Unido")
)
Evaluate t1
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Funciones Financieras
Importe la tabla Bonos.xlsx a Power BI Desktop (El file lo puede encontrar en su carpeta
OneDrive).
1. En Power Query (transformación de datos) elimine los errores de la tabla Sales.
2. En el área de consultas de DAX Studio digitar la siguiente consulta:
DEFINE
COLUMN Foglio1[IACCRINT]=ACCRINT(Foglio1[Emision],
Foglio1[1er pago],
Foglio1[Liquidacion],
Foglio1[Cupon (%)],
Foglio1[Valor],
Foglio1[Tipo Pago])
EVALUATE Foglio1
Esta consulta calcula los intereses a pagar desde la emisión del bono a la fecha de
liquidación.
Vea los resultados:
3. En el área de consultas de DAX Studio digitar la siguiente consulta:
DEFINE
COLUMN Foglio1[IACCRINTM]=ACCRINTM(Foglio1[Emision],
Foglio1[Vencimiento],
Foglio1[Cupon (%)],
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Foglio1[Valor]
)
EVALUATE Foglio1
Está consulta calcula los intereses acumulados que se pagan al vencimiento del bono.
Observe los resultados
4. En el área de consultas de DAX Studio digitar las siguientes consultas y mostrar los
resultados como en imágen:
DEFINE
COLUMN Foglio1[ICOUPDAYBS]=COUPDAYBS(Foglio1[Liquidacion],
Foglio1[Vencimiento],
Foglio1[Tipo Pago])
COLUMN Foglio1[ICOUPDAYS]=COUPDAYS(Foglio1[Liquidacion],
Foglio1[Vencimiento],
Foglio1[Tipo Pago])
COLUMN Foglio1[ICOUPDAYSNC]=COUPDAYSNC(Foglio1[Liquidacion],
Foglio1[Vencimiento],
Foglio1[Tipo Pago])
COLUMN Foglio1[ICOUPNCD]=COUPNCD(Foglio1[Liquidacion],
Foglio1[Vencimiento],
Foglio1[Tipo Pago])
COLUMN Foglio1[ICOUPNUM]=COUPNUM(Foglio1[Liquidacion],
Foglio1[Vencimiento],
Foglio1[Tipo Pago])
EVALUATE Foglio1
En la columna “COUPDAYBS” puede notar los días desde el inicio de un período de interés
hasta su fecha de liquidación. En la columna “ICOUPDAYS” puede ver el número de días que
comprende un periodo de interés (cupón). En la columna “ICOUPDAYSNC” vemos la
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
diferencia entre las 2 últimas columnas o el número de días desde la fecha de liquidación
hasta la fecha del siguiente cupón. La columna ICOUPNCD muestra la fecha proxima del
pago del Bono y la última columna muestra la cantidad de cuotas que aún quedan por pagar..
5. En el área de consultas de DAX Studio digitar las siguientes consultas y mostrar los
resultados:
DEFINE
COLUMN Foglio1[XCUMIPMT]= CUMIPMT(
Foglio1[Cupon (%)]/12,
DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento], MONTH),
Foglio1[Valor],
7,12,1)
COLUMN Foglio1[XCUMPRINC]= CUMPRINC(
Foglio1[Cupon (%)]/12,
DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento], MONTH),
Foglio1[Valor],
7,12,1)
EVALUATE Foglio1
La función CUMIPMT devuelve los intereses acumulados pagados de un préstamo entre el
periódo 7 y 12. En tanto la función CUMPRINC devuelve el capital acumulado pagado en los
mismos periodos. Dicho de otra manera es el interés a pagar menos lo ya pagado en el
periodo especificado.
6. En el área de consultas de DAX Studio digitar las siguientes consultas y mostrar los
resultados:
DEFINE
COLUMN Foglio1[XDB] = DB(
Foglio1[Valor],
Foglio1[Valor]*0.8,
DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH),
4,1)
COLUMN Foglio1[XDDB] = DDB(
Foglio1[Valor],
Foglio1[Valor]*0.8,
DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH),
4)
EVALUATE Foglio1
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
La Función DB está calculando la amortización del bono en el 4 mes con el método de
amortización por disminución fija de saldo (este método al aplicarse al saldo calcula importes
más altos al inicio y menores conforme se avanza en el tiempo).
La Función DDB devuelve la amortización del bono en el 4 mes con el método de
amortización por doble disminución de saldo u otro método que se especifique. Igualmente al
anterior este método de amortización se caracteriza por que el importe amortizado es
mayor durante el primer periodo y va disminuyendo en períodos sucesivos.
7. En el área de consultas de DAX Studio digitar la siguiente consulta y mostrar los resultados
como en la imágen:
DEFINE
COLUMN Foglio1[XPeriodo] = DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH)
COLUMN Foglio1[XFV] = FV(Foglio1[Cupon (%)]/Foglio1[Tipo Pago],
Foglio1[Tipo Pago],
Foglio1[Valor]*(1+Foglio1[Cupon (%)])/Foglio1[Tipo Pago]
)
COLUMN Foglio1[XIntrate] =
INTRATE(
Foglio1[Liquidacion],
Foglio1[Vencimiento],
Foglio1[Valor],
Foglio1[Valor]*(1+Foglio1[Cupon (%)]/12)*DATEDIFF(Foglio1[Liquidacion],Foglio1[Vencimiento],MONTH)
)
EVALUATE Foglio1
Muestre los resultados:
La Función FV calcula los valores futuros de las cuotas anuales del bono
La Función INTRATE calcula el tipo de interés del bono pagado en su totalidad en el
momento de la liquidación.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
8. En el área de consultas de DAX Studio digitar la siguiente consulta y mostrar los resultados
como en la imágen:
DEFINE
COLUMN Foglio1[XIPMT]= IPMT(
Foglio1[Cupon (%)]/12,
1,
Foglio1[Tipo Pago],
Foglio1[Valor]
)
COLUMN Foglio1[XISPMT]= ISPMT(
Foglio1[Cupon (%)]/12,
9,
DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH),
Foglio1[Valor]
)
EVALUATE Foglio1
La función IPMT calcula el interés pagado en un periodo con tasa de interés fija (Cupón(%))
La función ISPMT calcula el interés pagado en el periodo 9 con tasa de interés variable,
aplicada sobre la disminución del saldo (ver punto 6).
9. En el área de consultas de DAX Studio digitar la siguiente consulta y mostrar los resultados
como en la imágen:
DEFINE
COLUMN Foglio1[XNominal]=NOMINAL(Foglio1[Cupon (%)],12)
COLUMN Foglio1[XPduration]=PDURATION(Foglio1[Cupon (%)],Foglio1[Valor],Foglio1[Valor]*2)
COLUMN Foglio1[XPV]=PV(
Foglio1[Cupon (%)]/12,
DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH),
(Foglio1[Valor]/(DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH))*(1+Foglio1[Cupon (%)]/12))
)
EVALUATE Foglio1
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
En esta consulta la función “XNOMINAL” nos da el interés nominal a partir de una tasa
efectiva anualizada y un número de periodos de capitalización anual.
La función “XPDuration” nos da el número de meses que necesitamos para que a una tasa
definida (Cupon(%)) podamos duplicar el valor de nuestro bono.
La función XPV nos da el valor actual de nuestro Bono traída a una tasa de interés
constante.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Instrucciones DAX
Las instrucciones DAX son comandos que permiten construir consultas en DAX. Estas
instrucciones son:
8. En el Menú superior de Power Bi Desktop, elija “Herramientas externas” y luego seleccione
DAX Studio (previamente en el trabajo 7 se le ha pedido instalar DAX Studio en su PC).
Observe sus áreas de trabajo:
En ocasiones es necesario probar el rendimiento de nuestras consultas sin afectar nuestros
informes o modelos de datos en Power BI Desktop/Services, para esto se puede emplear
DAX Studio.
DAX Studio es una herramienta Open Source que permite realizar consultas directas a
tablas con el propósito de evaluar la performance de las instrucciones. También puede
emplearse para crear Modelos de Datos que pueden ser exportados a sistemas SQL o CSV.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
9. En el área de consultas digite la siguiente instrucción:
DEFINE
MEASURE 'Sales'[NuevaMedida]=sum('Sales'[Sales Amount])
Al ejecutarla observa un “error”
Este error se debe a que la consulta está incompleta ya que no contiene la sentencia
EVALUATE. “Toda consulta tiene que tener como mínimo una sentencia EVALUATE”
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
10. En el área de consultas agregue la siguiente instrucción:
Ejecute la consulta y vea los resultados.
MEASURE es una medida tal y como es definida en Power BI y debe estar asociada a una
tabla.
11. En el área de consultas agregue la siguiente instrucción:
Ejecute la consulta y observe el resultado.
Tenga en cuenta que una “Columna” definida en una consulta como en el ejemplo se
comporta como una columna calculada pero solo para el ámbito de la consulta es decir “NO
SE ALMACENA EN EL MODELO”
También debe considerar que no puede crear una columna en una tabla que ha sido
creada dentro de la consulta o basada en una columna creada dentro de la misma
consulta.
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
Consultas DAX
Una consulta DAX dentro de Power Bi Desktop / Services, es la unidad básica de procesos
de los informes. Sea cuando creamos un gráfico o realizamos un filtro, en ese momento
estamos llevando a cabo consultas.
12. En el Menú superior de Power Bi Desktop, elija “Herramientas externas” y luego seleccione
DAX Studio (previamente en el trabajo 7 se le ha pedido instalar DAX Studio en su PC).
Observe sus áreas de trabajo:
13. Una consulta DAX es un conjunto de instrucciones y eventualmente definiciones que se
realizan sobre una tabla. Una consulta DAX como mínimo puede estar conformada por una
instrucción EVALUATE.
14. En una consulta existen 2 tipos de instrucciones principales:
- DEFINE: Este comando es opcional e inicializa entidades de datos, como: Tablas,
Columnas, Medidas, etc.
- EVALUATE: Es obligatoria en una consulta. Ejecuta uno o más comandos sobre una
tabla.
15. En el área de consultas de DAX Studio digite: “EVALUATE Sales”. Observe los resultados en
la parte inferior. Usted verá el resultado de las sentencia EVALUATE en el área “Log”, los
resultados de la consulta EVALUATE en el área de “Results” a través de una tabla, y el
registro del evento de la consulta en el área “History”.
Tenga presente que una consulta solo necesita un comando EVALUATE como mínimo, como
en este ejemplo.
16. En el área de consultas de DAX Studio digite:
EVALUATE Sales
ORDER BY Sales[SalesTerritoryKey], Sales[Sales Amount] DESC
La sentencia ORDER BY ordena la tabla referenciada por la instrucción EVALUATE en base
a los campos especificados por la instrucción ORDER BY.
Observe los resultados en el área inferior.
“Toda consulta DAX debe incluir como mínimo una sentencia EVALUATE”
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
17. En el área de consultas de DAX Studio digite:
EVALUATE Sales
ORDER BY Sales[SalesTerritoryKey], Sales[Sales Amount]
START AT 9, 5000
La sentencia START AT indica a partir de qué valor del campo de ordenamiento la sentencia
ORDER BY comenzará el proceso de orden. Vea los resultados:
Considere que el número de argumentos de la START AT debe ser el mismo (o inferior) que
el de la cláusula ORDER BY
18. Teniendo en cuenta que DEFINE permite en una consulta definir diversas entidades de
datos como: Tablas, medidas, variables o columnas, digite la siguiente instrucción:
Esta instrucción define la medida ‘Sales Amount1’ como el producto de los precios unitarios x
las cantidades vendidas.
DEFINE
MEASURE 'Sales'[Sales Amount1]=SUMX(Sales,Sales[Order Quantity]*Sales[Unit Price])
19. A continuación escriba la siguiente consulta:
En este consulta se está creando una tabla producto de la agrupación del archivo producto
basado en el campo “Categoría” adicionando 2 columnas: la primera basada en la suma de
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
las ventas y la segunda basada en la suma de la medida definida en el punto 8 (Precio
Unitario x cantidad vendida).
DEFINE
MEASURE 'Sales'[Sales Amount1]=SUMX(Sales,Sales[Order Quantity]*Sales[Unit Price])
EVALUATE
SUMMARIZECOLUMNS(
'Product'[Category],
TREATAS (
{
"Bikes",
"Components"
},
'Product'[Category]
),
"Sales", SUM(Sales[Sales Amount]),
"Sales1", [Sales Amount1]
)
ORDER BY 'Product'[Category]
Observe los resultados
DEFINE es un comando opcional en una consulta pero debe ser colocado antes de la
sentencia EVALUATE
20. A continuación defina las siguientes entidades:
DEFINE
MEASURE 'Sales'[Sales Amount] = SUMX(Sales,Sales[Order Quantity]*Sales[Unit Price])
TABLE 'TABREG' = TREATAS({"Southwest","Southeast"},'SalesTerritory'[Region])
Observe cada entidad definida.
21. Elabore la siguiente consulta:
EVALUATE
SUMMARIZECOLUMNS (
'SalesTerritory'[Region],
'TABREG',
"Total Sales", [Sales Amount],
"Combined Years Total Sales",
CALCULATE (
[Sales Amount],
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”
ALLSELECTED ( SalesTerritory[Region] )
)
)
ORDER BY [Region]
Observe los resultados y analize porque no ha filtrado los registros de la Tabla TABREG
22. Elabore la siguiente consulta:
EVALUATE
SUMMARIZECOLUMNS (
'SalesTerritory'[Region],
FILTER('SalesTerritory',OR('SalesTerritory'[Region]="Southwest",
'SalesTerritory'[Region]="Southeast")),
"Total Sales", [Sales Amount],
"Combined Years Total Sales",
CALCULATE (
[Sales Amount],
ALLSELECTED ( SalesTerritory[Region] )
)
)
ORDER BY [Region]
Observe los resultados:
Especialización en MS Power BI - Certificación como Data Analyst Associate
Funciones DAX - Laboratorio
Prohibida reproducción sin mencionar los autores
Limitless Power of Information
“El conocimiento no se crea ni se destruye, solo se transfiere”

Más contenido relacionado

La actualidad más candente

Ejercicios de excel
Ejercicios de excelEjercicios de excel
Ejercicios de excel
covapretic
 
2016 Power BI Training
2016   Power BI Training2016   Power BI Training
2016 Power BI Training
Gaston Cruz
 
[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf
[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf
[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf
JPVsquezHidalgo
 
Data Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria KoumandrakiData Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Outreach Digital
 
Power Pivot.pptx
Power Pivot.pptxPower Pivot.pptx
Power Pivot.pptx
RichardINEICLASES
 
Introduction to Microsoft Power BI
Introduction to Microsoft Power BIIntroduction to Microsoft Power BI
Introduction to Microsoft Power BI
Exilesoft
 
Excel to Power BI
Excel to Power BIExcel to Power BI
Excel to Power BI
Zubair Ahmed Khan, FCA
 
35 power bi presentations
35 power bi presentations35 power bi presentations
35 power bi presentations
Sean Brady
 
How to Improve Data Analysis Through Visualization in Tableau
How to Improve Data Analysis Through Visualization in TableauHow to Improve Data Analysis Through Visualization in Tableau
How to Improve Data Analysis Through Visualization in Tableau
Edureka!
 
50 claves para conocer PowerBI
50 claves para conocer PowerBI50 claves para conocer PowerBI
50 claves para conocer PowerBI
Stratebi
 
Temario de excel avanzado
Temario de excel avanzadoTemario de excel avanzado
Temario de excel avanzado
Aleyda Esperanza Miranda Zapata
 
Test de Base de datos Access 1 resuelto.docx
Test de Base de datos Access 1 resuelto.docxTest de Base de datos Access 1 resuelto.docx
Test de Base de datos Access 1 resuelto.docx
jpalencia
 
Power BI - Row Level Security
Power BI - Row Level SecurityPower BI - Row Level Security
Power BI - Row Level Security
JAZ Rathor
 
Power BI measure and visualize project success
Power BI measure and visualize project successPower BI measure and visualize project success
Power BI measure and visualize project success
Fisnik Doko
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
Cesar Martinez
 
empleo de los controles de las herramientas de visual basic
empleo de los controles de las herramientas de visual basicempleo de los controles de las herramientas de visual basic
empleo de los controles de las herramientas de visual basic
Diana Peragallo
 
DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3
Will Harvey
 
Power bi
Power biPower bi
TABLAS DINAMICAS PPT
TABLAS DINAMICAS PPTTABLAS DINAMICAS PPT
TABLAS DINAMICAS PPT
benitezvictoria
 
Crystal report
Crystal reportCrystal report
Crystal report
Everywhere
 

La actualidad más candente (20)

Ejercicios de excel
Ejercicios de excelEjercicios de excel
Ejercicios de excel
 
2016 Power BI Training
2016   Power BI Training2016   Power BI Training
2016 Power BI Training
 
[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf
[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf
[Summa Center-Power BI] Tema 1 - Introducción a DAX [Avanzado].pdf
 
Data Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria KoumandrakiData Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
 
Power Pivot.pptx
Power Pivot.pptxPower Pivot.pptx
Power Pivot.pptx
 
Introduction to Microsoft Power BI
Introduction to Microsoft Power BIIntroduction to Microsoft Power BI
Introduction to Microsoft Power BI
 
Excel to Power BI
Excel to Power BIExcel to Power BI
Excel to Power BI
 
35 power bi presentations
35 power bi presentations35 power bi presentations
35 power bi presentations
 
How to Improve Data Analysis Through Visualization in Tableau
How to Improve Data Analysis Through Visualization in TableauHow to Improve Data Analysis Through Visualization in Tableau
How to Improve Data Analysis Through Visualization in Tableau
 
50 claves para conocer PowerBI
50 claves para conocer PowerBI50 claves para conocer PowerBI
50 claves para conocer PowerBI
 
Temario de excel avanzado
Temario de excel avanzadoTemario de excel avanzado
Temario de excel avanzado
 
Test de Base de datos Access 1 resuelto.docx
Test de Base de datos Access 1 resuelto.docxTest de Base de datos Access 1 resuelto.docx
Test de Base de datos Access 1 resuelto.docx
 
Power BI - Row Level Security
Power BI - Row Level SecurityPower BI - Row Level Security
Power BI - Row Level Security
 
Power BI measure and visualize project success
Power BI measure and visualize project successPower BI measure and visualize project success
Power BI measure and visualize project success
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
 
empleo de los controles de las herramientas de visual basic
empleo de los controles de las herramientas de visual basicempleo de los controles de las herramientas de visual basic
empleo de los controles de las herramientas de visual basic
 
DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3
 
Power bi
Power biPower bi
Power bi
 
TABLAS DINAMICAS PPT
TABLAS DINAMICAS PPTTABLAS DINAMICAS PPT
TABLAS DINAMICAS PPT
 
Crystal report
Crystal reportCrystal report
Crystal report
 

Similar a Laboratorio Funciones DAX

Manual de POWER BI
Manual de POWER BI Manual de POWER BI
Manual de POWER BI
Luis Perez Anampa
 
Power BI for excel brochure
Power BI for excel brochurePower BI for excel brochure
Power BI for excel brochure
Rosario Padilla
 
Curso_Power_BI_Nivel Intermedio power bi
Curso_Power_BI_Nivel Intermedio power biCurso_Power_BI_Nivel Intermedio power bi
Curso_Power_BI_Nivel Intermedio power bi
biktormirpar
 
Trucos en access
Trucos en accessTrucos en access
Trucos en access
marcoespino76
 
Unidad 6: Opciones avanzadas con hojas de cálculo.
Unidad 6: Opciones avanzadas con hojas de cálculo.Unidad 6: Opciones avanzadas con hojas de cálculo.
Unidad 6: Opciones avanzadas con hojas de cálculo.
carmenrico14
 
Project 2010
Project 2010Project 2010
Project 2010
Elixhg
 
Tutorial reporting services 2008 r2 - Basico
Tutorial reporting services 2008  r2   - Basico Tutorial reporting services 2008  r2   - Basico
Tutorial reporting services 2008 r2 - Basico
Jhon Cruzado Paredes
 
Tutorial Reporting Services 2008 r2
Tutorial Reporting Services 2008  r2 Tutorial Reporting Services 2008  r2
Tutorial Reporting Services 2008 r2
Naim Jhon Cruzado Paredes
 
Dce2 ejercicios asp.net
Dce2 ejercicios asp.netDce2 ejercicios asp.net
Laboratorio #10 y #11
Laboratorio #10 y #11Laboratorio #10 y #11
Laboratorio #10 y #11
MaraGabrielaAtonaida
 
MANUAL DE ACCESS
MANUAL DE ACCESSMANUAL DE ACCESS
MANUAL DE ACCESS
UCE
 
PBI - Semana 1.pptx
PBI - Semana 1.pptxPBI - Semana 1.pptx
PBI - Semana 1.pptx
edgarvelasquezoptica
 
Tablero de control
Tablero de controlTablero de control
Tablero de control
Karvira
 
Tablero de control
Tablero de controlTablero de control
Tablero de control
vanny07
 
Tablero de control
Tablero de controlTablero de control
Tablero de control
vanny07
 
Manual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware ideaManual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware idea
AngieSheyla
 
Manual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware ideaManual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware idea
AngieSheyla
 
Google data studio tutorial
Google data studio tutorialGoogle data studio tutorial
Google data studio tutorial
BorjaPlanellsGolo
 
Autodesk Insight 360
Autodesk Insight 360Autodesk Insight 360
Autodesk Insight 360
rparedese
 
Autodesk Insight 360
Autodesk Insight 360Autodesk Insight 360
Autodesk Insight 360
rparedese
 

Similar a Laboratorio Funciones DAX (20)

Manual de POWER BI
Manual de POWER BI Manual de POWER BI
Manual de POWER BI
 
Power BI for excel brochure
Power BI for excel brochurePower BI for excel brochure
Power BI for excel brochure
 
Curso_Power_BI_Nivel Intermedio power bi
Curso_Power_BI_Nivel Intermedio power biCurso_Power_BI_Nivel Intermedio power bi
Curso_Power_BI_Nivel Intermedio power bi
 
Trucos en access
Trucos en accessTrucos en access
Trucos en access
 
Unidad 6: Opciones avanzadas con hojas de cálculo.
Unidad 6: Opciones avanzadas con hojas de cálculo.Unidad 6: Opciones avanzadas con hojas de cálculo.
Unidad 6: Opciones avanzadas con hojas de cálculo.
 
Project 2010
Project 2010Project 2010
Project 2010
 
Tutorial reporting services 2008 r2 - Basico
Tutorial reporting services 2008  r2   - Basico Tutorial reporting services 2008  r2   - Basico
Tutorial reporting services 2008 r2 - Basico
 
Tutorial Reporting Services 2008 r2
Tutorial Reporting Services 2008  r2 Tutorial Reporting Services 2008  r2
Tutorial Reporting Services 2008 r2
 
Dce2 ejercicios asp.net
Dce2 ejercicios asp.netDce2 ejercicios asp.net
Dce2 ejercicios asp.net
 
Laboratorio #10 y #11
Laboratorio #10 y #11Laboratorio #10 y #11
Laboratorio #10 y #11
 
MANUAL DE ACCESS
MANUAL DE ACCESSMANUAL DE ACCESS
MANUAL DE ACCESS
 
PBI - Semana 1.pptx
PBI - Semana 1.pptxPBI - Semana 1.pptx
PBI - Semana 1.pptx
 
Tablero de control
Tablero de controlTablero de control
Tablero de control
 
Tablero de control
Tablero de controlTablero de control
Tablero de control
 
Tablero de control
Tablero de controlTablero de control
Tablero de control
 
Manual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware ideaManual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware idea
 
Manual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware ideaManual para importar formato pdf a caseware idea
Manual para importar formato pdf a caseware idea
 
Google data studio tutorial
Google data studio tutorialGoogle data studio tutorial
Google data studio tutorial
 
Autodesk Insight 360
Autodesk Insight 360Autodesk Insight 360
Autodesk Insight 360
 
Autodesk Insight 360
Autodesk Insight 360Autodesk Insight 360
Autodesk Insight 360
 

Más de LPI ONG

Dashboards y paneles - CP Home - Area de Operaciones
Dashboards y paneles - CP Home - Area de OperacionesDashboards y paneles - CP Home - Area de Operaciones
Dashboards y paneles - CP Home - Area de Operaciones
LPI ONG
 
Modelo de Datos CP Home - Area de Operaciones
Modelo de Datos CP Home - Area de OperacionesModelo de Datos CP Home - Area de Operaciones
Modelo de Datos CP Home - Area de Operaciones
LPI ONG
 
Documento de Proyecto CP Home - Area Operaciones
Documento de Proyecto CP Home - Area OperacionesDocumento de Proyecto CP Home - Area Operaciones
Documento de Proyecto CP Home - Area Operaciones
LPI ONG
 
Inversiones Costa Palma Homes Modelo de análisis basado en PowerBI
Inversiones Costa Palma Homes Modelo de análisis basado en PowerBIInversiones Costa Palma Homes Modelo de análisis basado en PowerBI
Inversiones Costa Palma Homes Modelo de análisis basado en PowerBI
LPI ONG
 
Manual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de HistoriasManual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de Historias
LPI ONG
 
Diagnostico del Area de Cobros de Ron Santa Teresa
Diagnostico del Area de Cobros de  Ron Santa TeresaDiagnostico del Area de Cobros de  Ron Santa Teresa
Diagnostico del Area de Cobros de Ron Santa Teresa
LPI ONG
 
Convenio en investigación y formación ONG LPI - Convenio generico
Convenio en investigación y formación ONG LPI - Convenio genericoConvenio en investigación y formación ONG LPI - Convenio generico
Convenio en investigación y formación ONG LPI - Convenio generico
LPI ONG
 
Modelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica PredictivaModelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica Predictiva
LPI ONG
 
Análisis Estadístico en la Analítica Predictiva
Análisis Estadístico en la Analítica PredictivaAnálisis Estadístico en la Analítica Predictiva
Análisis Estadístico en la Analítica Predictiva
LPI ONG
 
La Minería de Datos en la Analítica Predictiva
La Minería de Datos en la Analítica PredictivaLa Minería de Datos en la Analítica Predictiva
La Minería de Datos en la Analítica Predictiva
LPI ONG
 
El Análisis de Datos en la Analítica Predictiva
El Análisis de Datos en la Analítica PredictivaEl Análisis de Datos en la Analítica Predictiva
El Análisis de Datos en la Analítica Predictiva
LPI ONG
 
Procesos de Analítica Predictiva
Procesos de Analítica PredictivaProcesos de Analítica Predictiva
Procesos de Analítica Predictiva
LPI ONG
 
Modelos Predictivos basados en Arboles de Decisiones
Modelos Predictivos basados en Arboles de DecisionesModelos Predictivos basados en Arboles de Decisiones
Modelos Predictivos basados en Arboles de Decisiones
LPI ONG
 
Implementación de CMI en SCC
Implementación de CMI en SCCImplementación de CMI en SCC
Implementación de CMI en SCC
LPI ONG
 
Cloud Analytics - Perspectivas
Cloud Analytics - PerspectivasCloud Analytics - Perspectivas
Cloud Analytics - Perspectivas
LPI ONG
 
Convenio de cooperacion en investigación y formación ONG LPI - Convenio generico
Convenio de cooperacion en investigación y formación ONG LPI - Convenio genericoConvenio de cooperacion en investigación y formación ONG LPI - Convenio generico
Convenio de cooperacion en investigación y formación ONG LPI - Convenio generico
LPI ONG
 
Especialista en SAP Lumira 2.0
Especialista en SAP Lumira 2.0Especialista en SAP Lumira 2.0
Especialista en SAP Lumira 2.0
LPI ONG
 
Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016
Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016
Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016
LPI ONG
 
Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016
Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016
Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016
LPI ONG
 
SAP Cloud Analytics - Processess
SAP Cloud Analytics - ProcessessSAP Cloud Analytics - Processess
SAP Cloud Analytics - Processess
LPI ONG
 

Más de LPI ONG (20)

Dashboards y paneles - CP Home - Area de Operaciones
Dashboards y paneles - CP Home - Area de OperacionesDashboards y paneles - CP Home - Area de Operaciones
Dashboards y paneles - CP Home - Area de Operaciones
 
Modelo de Datos CP Home - Area de Operaciones
Modelo de Datos CP Home - Area de OperacionesModelo de Datos CP Home - Area de Operaciones
Modelo de Datos CP Home - Area de Operaciones
 
Documento de Proyecto CP Home - Area Operaciones
Documento de Proyecto CP Home - Area OperacionesDocumento de Proyecto CP Home - Area Operaciones
Documento de Proyecto CP Home - Area Operaciones
 
Inversiones Costa Palma Homes Modelo de análisis basado en PowerBI
Inversiones Costa Palma Homes Modelo de análisis basado en PowerBIInversiones Costa Palma Homes Modelo de análisis basado en PowerBI
Inversiones Costa Palma Homes Modelo de análisis basado en PowerBI
 
Manual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de HistoriasManual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de Historias
 
Diagnostico del Area de Cobros de Ron Santa Teresa
Diagnostico del Area de Cobros de  Ron Santa TeresaDiagnostico del Area de Cobros de  Ron Santa Teresa
Diagnostico del Area de Cobros de Ron Santa Teresa
 
Convenio en investigación y formación ONG LPI - Convenio generico
Convenio en investigación y formación ONG LPI - Convenio genericoConvenio en investigación y formación ONG LPI - Convenio generico
Convenio en investigación y formación ONG LPI - Convenio generico
 
Modelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica PredictivaModelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica Predictiva
 
Análisis Estadístico en la Analítica Predictiva
Análisis Estadístico en la Analítica PredictivaAnálisis Estadístico en la Analítica Predictiva
Análisis Estadístico en la Analítica Predictiva
 
La Minería de Datos en la Analítica Predictiva
La Minería de Datos en la Analítica PredictivaLa Minería de Datos en la Analítica Predictiva
La Minería de Datos en la Analítica Predictiva
 
El Análisis de Datos en la Analítica Predictiva
El Análisis de Datos en la Analítica PredictivaEl Análisis de Datos en la Analítica Predictiva
El Análisis de Datos en la Analítica Predictiva
 
Procesos de Analítica Predictiva
Procesos de Analítica PredictivaProcesos de Analítica Predictiva
Procesos de Analítica Predictiva
 
Modelos Predictivos basados en Arboles de Decisiones
Modelos Predictivos basados en Arboles de DecisionesModelos Predictivos basados en Arboles de Decisiones
Modelos Predictivos basados en Arboles de Decisiones
 
Implementación de CMI en SCC
Implementación de CMI en SCCImplementación de CMI en SCC
Implementación de CMI en SCC
 
Cloud Analytics - Perspectivas
Cloud Analytics - PerspectivasCloud Analytics - Perspectivas
Cloud Analytics - Perspectivas
 
Convenio de cooperacion en investigación y formación ONG LPI - Convenio generico
Convenio de cooperacion en investigación y formación ONG LPI - Convenio genericoConvenio de cooperacion en investigación y formación ONG LPI - Convenio generico
Convenio de cooperacion en investigación y formación ONG LPI - Convenio generico
 
Especialista en SAP Lumira 2.0
Especialista en SAP Lumira 2.0Especialista en SAP Lumira 2.0
Especialista en SAP Lumira 2.0
 
Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016
Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016
Especialista en Implementacion de Cuadros de Mando con SAP Dashboard 2016
 
Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016
Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016
Programa de Especialización en Analisis de Negocios con SAP Crystal Reports 2016
 
SAP Cloud Analytics - Processess
SAP Cloud Analytics - ProcessessSAP Cloud Analytics - Processess
SAP Cloud Analytics - Processess
 

Último

REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
IrapuatoCmovamos
 
introducción análisis de información sena
introducción análisis de información senaintroducción análisis de información sena
introducción análisis de información sena
AndresZambranoDiaz1
 
Resumen----_------Ejecutivo. universidad
Resumen----_------Ejecutivo. universidadResumen----_------Ejecutivo. universidad
Resumen----_------Ejecutivo. universidad
lilyv195
 
resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
riveroarlett5b
 
AVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICO
AVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICOAVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICO
AVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICO
ronaldomarca1999
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
darkskills2011
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
GustavoTello19
 
analisis de datos sistemas de informacion
analisis de datos sistemas de informacionanalisis de datos sistemas de informacion
analisis de datos sistemas de informacion
AndresZambranoDiaz1
 
utadeigraduandos2020documentopubñico0.pptx
utadeigraduandos2020documentopubñico0.pptxutadeigraduandos2020documentopubñico0.pptx
utadeigraduandos2020documentopubñico0.pptx
AndrsMartinez54
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
YulEz1
 
Libro - Teoria Historia de la Arquitectura
Libro - Teoria Historia de la ArquitecturaLibro - Teoria Historia de la Arquitectura
Libro - Teoria Historia de la Arquitectura
baceg35604
 
La importancia de las tecnologías de la comunicación en el hogar, en la educ...
La importancia de las tecnologías de la comunicación  en el hogar, en la educ...La importancia de las tecnologías de la comunicación  en el hogar, en la educ...
La importancia de las tecnologías de la comunicación en el hogar, en la educ...
241557574
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
eleandroth
 
presentacion del scop osinergmin ppt para informacion
presentacion del scop osinergmin ppt para informacionpresentacion del scop osinergmin ppt para informacion
presentacion del scop osinergmin ppt para informacion
supervisionelcentena
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
Mayra798665
 
Informe 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docx
Informe 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docxInforme 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docx
Informe 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docx
francescasansonikoga
 
Extracción automática de texto estructurado en PDFs
Extracción automática de texto estructurado en PDFsExtracción automática de texto estructurado en PDFs
Extracción automática de texto estructurado en PDFs
oscar104275
 

Último (17)

REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
 
introducción análisis de información sena
introducción análisis de información senaintroducción análisis de información sena
introducción análisis de información sena
 
Resumen----_------Ejecutivo. universidad
Resumen----_------Ejecutivo. universidadResumen----_------Ejecutivo. universidad
Resumen----_------Ejecutivo. universidad
 
resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
 
AVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICO
AVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICOAVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICO
AVANCE TECNOLOGICO AREAS DE IMPACTO DEL AVANCE TECNOLOGICO
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
 
analisis de datos sistemas de informacion
analisis de datos sistemas de informacionanalisis de datos sistemas de informacion
analisis de datos sistemas de informacion
 
utadeigraduandos2020documentopubñico0.pptx
utadeigraduandos2020documentopubñico0.pptxutadeigraduandos2020documentopubñico0.pptx
utadeigraduandos2020documentopubñico0.pptx
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
 
Libro - Teoria Historia de la Arquitectura
Libro - Teoria Historia de la ArquitecturaLibro - Teoria Historia de la Arquitectura
Libro - Teoria Historia de la Arquitectura
 
La importancia de las tecnologías de la comunicación en el hogar, en la educ...
La importancia de las tecnologías de la comunicación  en el hogar, en la educ...La importancia de las tecnologías de la comunicación  en el hogar, en la educ...
La importancia de las tecnologías de la comunicación en el hogar, en la educ...
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
 
presentacion del scop osinergmin ppt para informacion
presentacion del scop osinergmin ppt para informacionpresentacion del scop osinergmin ppt para informacion
presentacion del scop osinergmin ppt para informacion
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
 
Informe 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docx
Informe 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docxInforme 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docx
Informe 13 _ _Software OnLine_ Ofimática, edición y descargas entre otros_.docx
 
Extracción automática de texto estructurado en PDFs
Extracción automática de texto estructurado en PDFsExtracción automática de texto estructurado en PDFs
Extracción automática de texto estructurado en PDFs
 

Laboratorio Funciones DAX

  • 1. Funciones DAX - Laboratorio (Medidas rápidas) Las funciones DAX permiten construir entidades de datos para utilizarlas en las consultas y reportes en Power BI. Existen más de 250 funciones que pueden ser empleadas en las consultas y reportes. Este documento está dirigido a quienes desean analizar el funcionamiento y lógica de cada una de las funciones DAX de Power BI. Para el desarrollo del laboratorio debemos implementar el modelo de datos que utilizaremos con la ayuda de la DB Adventureworks de PowerBI. I Parte: 1. A partir de la DB de AdventureWorks importe a Power BI Desktop las siguientes tablas: 2. En Power Query (transformación de datos) elimine los errores de la tabla Sales. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 2. 3. Verifique su modelo de datos en el panel “vista modelo” de modo que la tabla Date y la tabla Sales estén vinculadas por el campo DateKey y DueDateKey. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 3. Medidas Simples Una medida en Power BI es una entidad temporal que toma un valor solo en el momento en que esta es utilizada a través de una consulta, por lo que no ocupa espacio en el modelo de datos. Una medida es simple cuando para su definición se emplean las dimensiones e indicadores de base del modelo de datos. 4. En el panel de diseño de informes, menú “modelado” seleccione y cree una nueva medida (simple) de acuerdo a la siguiente imagen. Asigne la medida creada a la tabla “Sales” 5. Repite el proceso y crea una nueva medida “profit_X” Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 4. 6. Ahora construya una media simple que calcule la cantidad de clientes individuales que generan ventas en nuestra empresa de acuerdo a la imagen: 7. Diseña el siguiente reporte de ventas por categoría de productos Observa las medidas “profit” y “profit_X”. Medidas Compuestas Una medida es compuesta cuando su definición incluye el uso de otras medidas simples. 8. Elaborar una nueva medida (compuesta) como descrita en la imagen y colocarla en la matriz de resultados Aquí puede observar la utilidad del Sumx que resuelve el problema de una medida compuesta que no puede realizar operaciones directamente con un indicador del modelo y otra medida simple. Cambie el nombre de la página por “MedidasSimples&Comp” Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 5. Medidas rápidas Una medida rápida es un ente temporal de datos que no ocupa espacio y que viene ya pre configurada, lista para ser usada ingresando algunos pocos parámetros. Las medidas rápidas pueden ser accedidas en el menú Modelado, en el ícono “Medida rápida” y están agrupadas en las siguientes 6 categorías: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 6. 9. En una nueva página crear una medida rápida del grupo “Agregado por categoría” con el nombre G1_AvgxCountry 10. Repita el proceso para las otras funciones dentro del grupo “Agregados por categoría” y asigne los siguientes nombres: G1_VarxCountry G1_MaxbyCountry G1_MinxCountry Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 7. 11. Finalmente implementa una nueva medida “G1_PonderbyCustomer” con la función “Media Ponderada por Categoría” del grupo de medidas rápidas “Agregados por Categoría” como se muestra en la imagen: 12. Incorporar todas las medidas en una tabla por “Group” como en figura: 13. Cambie el nombre de la página con: “AgregxCategoria” 14. Del área de datos seleccione la medida “G1_AvgxCountry” y en la barra superior en la opción “Tabla Inicial” seleccionar “Date” para mover la medida a dicha tabla. Repetir el paso con todas las variables G1, para moverlas a la tabla Date. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 8. 15. Si desea verificar sus datos puede arrastrar la dimensión “Country” en la sección filas debajo de la dimensión “Group” como en figura: 16. En el panel de informe muestre en una tabla las ventas anuales por categoría de producto de acuerdo a la imagen: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 9. 17. En el menú superior ir al módulo “Modelado” y seleccionar el icono de “Medida rápida”. Luego del grupo “Filtros” seleccionar la función “Valor filtrado”. Crear la medida “G2_VentasUS” según imagen. Incluir la medida en el reporte. 18. Repetir el paso 2 y ahora seleccionar la función “Diferencia respecto al valor filtrado” del grupo “Filtros” y crear una medida rápida G2_Dif_SalesVsUS (Diferencia de las ventas del periodo menos las ventas de USA) según imagen. Incluir la medida en el reporte 19. Repetir el paso 2 y ahora seleccionar la función “Diferencia porcentual respecto al valor filtrado” del grupo “Filtros” y crear una medida rápida G2_Dif%_SalesVsUS (Diferencia porcentual de las ventas del periodo menos las ventas de USA) según imagen. Incluir la medida en el reporte Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 10. 20. Observar el reporte: 21. Cambiar el nombre de la página por “Filtros”. Trasladar todas las medidas con prefijo “G2” a la tabla Date Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 11. Funciones de agregación 1. Implementar el siguiente reporte en el panel de informe: 2. En el menú “Modelado” seleccionar “Nueva Medida”, y a continuación crear el campo “Profit” según imagen: 3. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: AVGX (Promedio de las utilidades) Compare las diferencias 4. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: MAXX y MINX: Valor máximos y mínimos de las utilidades Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 12. 5. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: PRODUCTX: Cálculo de la utilidad general de las ventas Analize la fórmula G1_Util 6. Incluya todas las medidas calculadas en el reporte como en imagen: 7. Envíe todas las medidas generadas a la tabla “Date” y cambie el nombre de la página por “Agregados” Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 13. Funciones de Filtro 1. Implementar un reporte de ventas anuales y por categorías como en imagen: 2. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: ALL: Ventas / Ventas generales ALL: Ventas / Ventas (quitando filtros del campo año): ALL: Ventas / Ventas (quitando filtros del campo Category): 3. Replicar 3 veces el reporte del punto 1 en el panel de informe. Sustituir cada una de estas medidas creadas en el área de valores de cada uno de los reportes como en imagen: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 14. 4. Trasladar las medidas creadas a la tabla Date y cambiar el nombre de la página por “Filtro1”. 5. Crear una nueva página. Implementar un reporte de ventas por categorías y año como en imagen: 6. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: ALLCROSSFILTERED: Ventas generales (eliminando todos los filtros) ALL: Ventas eliminando el filtro Product ALL: Ventas eliminando el filtro Date ALLEXCEPT: Ventas eliminado todos los filtros excepto Año Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 15. 7. Llevar todas las medidas creadas al reporte. Trasladar las medidas creadas a la tabla Date y cambiar el nombre de la página por “Filtro2” 8. En la barra superior de herramientas de Power Query, seleccionar “Especificar Datos” y crear 2 tablas según imagen. La primera tabla YYYY_MOV es de movimientos por año (donde existe un registro en blando) y la segunda es de año. Ambas deben estar relacionadas por el campo YY. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 16. 9. Mostrar en el panel de informes la tabla de movimientos y la tabla de años. Construir las siguientes medidas de acuerdo a imagen: 10. Colocar en objetos de indicador las medidas creadas, según imagen: 11. Llevar todas las medidas creadas al reporte. Trasladar las medidas creadas a la tabla Date y cambiar el nombre de la página por “Filtro3”. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 17. 12. Crear una nueva página. Implementar un reporte de ventas por categorías como en imagen: 13. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: CALCULATE: Ventas solo para USA CALCULATE: Ventas eliminado los filtros contextuales por Producto CALCULATETABLE: Ventas a partir de una tabla que contiene las ventas del territorio USA FILTER Ventas a partir de una tabla filtrada que contiene las ventas del territorio USA KEEPFILTERS (Ventas de US quitando todos los filtros y solo manteniendo el país=USA) 14. Llevar todas las medidas creadas al reporte (ver imagen). Trasladar las medidas creadas a la tabla Date y cambiar el nombre de la página por “Filtro4”. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 18. 15. En el menú “Modelado” seleccionar “Nueva Tabla”, a continuación crear la tabla “Tabla_Keepf” usando el código siguiente: USO DE LA FUNCION KEEPFILTER CON AYUDA DE LA FUNCION ROW USO DE LA FUNCION LOOKVALUE PARA EL BUDGET DE NORTHWEST 16. Crear un reporte con los datos de la nueva tabla creada como en imagen: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 19. Funciones de Fecha y Hora 1. En la barra superior de iconos seleccionar “Transformar Datos” e ir a la interfaz “Power Query”. Asegurarse que todos los campos de fecha tengan el formato “fecha-hora”. Regresar al panel de informes. 2. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear la siguiente medida: DATEDIFF Seleccionar del área de visualizaciones el icono “Tarjeta” y asignarle la medida apenas creada. Colocar como título al icono: “Días promedio de entrega”. 3. En el panel de informes preparar un reporte de Presupuestos a partir de la tabla “SalesTerritory” como en imágen: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 20. 4. En el área de datos, en el menú contextual de la tabla “SalesTerritory” seleccionar nuevas columnas con los siguiente código DAX y su nombres: EDATE (Próxima presentación de presupuestos) NETWORKDAYS (Días laborables entre la presentación y ejecución) 5. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear la siguiente medida: NOW() (Número de días pasados desde la última presentación del presupuesto.) YEARFRAC (fracción de días entre las fechas de ejecución y presentación de presupuestos) 6. Mostrar las columnas creadas en el reporte. 7. Del área de visualizaciones arrastrar 2 objetos “Tarjetas” al panel. Crear 2 nuevas medidas como en imagen: UTCNOW() (Hora actual del meridiano de Greenwich) UTCTODAY Incluir estas 2 medidas en las tarjetas del panel de informes Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 21. 8. Enviar todas las medidas creadas a la tabla Date. Cambiar el nombre de la página por “Fechas” Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 22. Funciones de Inteligencia de Tiempo 1. Implementar un informe por fechas como figura.Incluir un objeto de filtro por país y seleccionar Australia. 2. En el menú “Modelado” seleccionar “Nueva Medida”, y a continuación crear los campos: G4_ClosSalesMonth = Ventas de cierre de mes G4_CloseSalesTri = Ventas de cierre de trimestre G4_CloseSalesYear: Ventas de cierre del año Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 23. G4_SalesMonthBefore: Ventas del mes anterior 3. Incluya todas las medidas calculadas en el reporte como en imagen, enviar todas las medidas creadas a la tabla Date y cambiar el nombre de la página por Int_Fechas1: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 24. 4. Crear una nueva página e implementar el siguiente reporte considerando el filtro del año 2019:: 5. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: G4_Sales2019: Ventas del año 2019 G4_SalesDic2019: Ventas diciembre 2019 G4_SalesYtoDate: Ventas acumuladas al año Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 25. G4_LastDayMonth: Ventas del último día de cada mes G4_SalesLastDayQuarter: Ventas del último día del trimestre G4_SalesLastDayPeriod: Ventas del último día del periódo G4_SalesNextDay: Ventas del dia siguiente (Para ver el efecto en el reporte, abra el reporte al nivel de días) Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 26. G4_SalesNextMonth: Ventas del mes siguiente 6. Incluya todas las medidas calculadas en el reporte como en imagen, enviar todas las medidas creadas a la tabla Date y cambiar el nombre de la página por Int_Fechas2: 7. Crear una nueva página e implementar el siguiente reporte Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 27. 8. En el menú “Modelado” seleccionar “Nueva Medida”, a continuación crear las siguientes medidas: G4_SalesYYBefore: Ventas del año anterior G4_SalesPrevDay: Ventas del día anterior (para ver el resultado debe abrir el reporte a nivel de días) G4_SalesSamePerLastYY: Ventas del mismo periodo del año anterior G4_SalesStartMonth: Ventas de inicio de mes (verifique los resultados en el reporte) G4_SalesStartQuarter: Ventas de inicio de trimestre (verifique los resultados en el reporte) Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 28. G4_SalesAcumMonthto Date: Ventas acumuladas del mes G4_SalesAcumQuattoDate: Ventas acumuladas del trimestre a la fecha 9. Incluya todas las medidas calculadas en el reporte como en imagen, enviar todas las medidas creadas a la tabla Date y cambiar el nombre de la página por Int_Fechas3: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 29. Funciones de Manipulación de Tablas 1. En el menú “Modelado” seleccionar “Nueva Tabla”, y a continuación crear las siguientes tablas: G4_TabTerritorio: Tabla de territorios con la columna de Ventas usando la función ADDCOLUMNS Verificar la tabla y compararla con la tabla de territorios G4_Tab_CustxCountry: Ventas de Clientes por países Verificar la tabla creada Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 30. G4_Tab_ResellxCountry: Ventas de revendedores por países Verificar la tabla creada: G4_TabCrossJoin: Cruce de las tablas anteriores ResellxCountry y CustxCountry Verificar la tabla cruzada: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 31. 2. Incluya las 4 tablas precedentes generadas en el panel de informe como en imagen. Cambiar el nombre de la página por ManiTab1 3. Crear una nueva página. En el menú “Modelado” seleccionar “Nueva Tabla”, y a continuación crear las siguientes tablas: G5_SalesSummarize: Resumen de ventas, costos y utilidades por país y categoría de producto. Verificar los registros de la tabla como en imagen: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 32. G5_SalesSummColum: Tabla cruzada de países y categorías de ventas, costos y utilidades, empleando función “SummarizeColumn”. Verificar resultados como en imagen: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 33. G5_SalesSummColum2: Tabla resumida de año y territorios de ventas, costos y utilidades, empleando función “SummarizeColumn”. Verificar resultados como en imagen: 4. Incluya las 3 tablas precedentes generadas en el panel de informe. Cambiar el nombre de la página por ManiTab2 5. Cree una nueva página. En el menú “Modelado” seleccionar “Nueva medida”, y a continuación crear la siguiente medida: G5_SalesDistinctxTerr: Ventas x territorio usando la función Distinct Vaya a la tabla SalesTerritory e implemente el siguiente reporte en el panel de informes: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 34. 6. En el menú “Modelado” seleccionar “Nueva medida”, y a continuación crear la siguiente medida: G5_NumFilters: Número de filtros a nivel país en el contexto del reporte donde se encuentra En el panel de informes prepare un reporte de ventas por Fecha y país e incluya la medida G5_NumFilters y observe. 7. En el menú “Modelado” seleccionar “Nueva tabla”, y a continuación crear la siguiente G5_Tab_Reseller: Tabla de ventas por Reseller y categoría de productos. Implementar el reporte en el panel de informes siguiente: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 35. 8. Disponga las tablas precedentes generadas en el panel de informe. Cambiar el nombre de la página por ManiTab3. 9. Cree una nueva página. En el menú “Modelado” seleccionar “Nueva Tabla”, y a continuación crear las siguientes tablas: G5_TABCLIE3: Los 3 principales clientes en función de las ventas Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 36. G5_TABRESEL3: Los 3 resellers en función de las ventas En el panel de informes diseñar la información de ambas tablas de acuerdo a imágen: 10. Eliminar los campos: City, Country-Region, Postal Code y State-Province de las tablas G5_TABRESEL3 y G5_TABCLIE3. 11. Generar la siguiente tabla: G5_TABCROS: Tabla cruzada que es el producto cartesiano de las 2 tablas anteriores Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 37. Mostrar el contenido de esta tabla en el panel de informes: 12. Disponga las tablas precedentes generadas en el panel de informe. Cambiar el nombre de la página por ManiTab4. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 38. Dax Studio Descargar “Dax Studio” e instalarlo en su PC (https://daxstudio.org/). En ocasiones es necesario probar el rendimiento de nuestras consultas sin afectar nuestros informes o modelos de datos en Power BI Desktop/Services, para esto se puede emplear DAX Studio. DAX Studio es una herramienta gratuita de código abierto que permite ejecutar y analizar expresiones DAX con el objetivo de depurar y mejorar los tiempos de ejecución de estas funciones. DAX Studio puede emplearse también para crear modelos de datos que pueden ser exportados a SQL o sistemas CSV. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 39. Funciones de Información 1. En el área de menús en alto, dirigirse al menú “Herramientas Externas” y seleccionar el icono “Dax Studio”. Al ingresar a la interfaz de Dax Studio, digitar el comando “Evaluate ColumnStatistics” en el área de consultas como en imagen. Observe en la parte inferior el resultado y verifique que cada tabla del modelo (incluso algunas tablas ocultas) muestran información de los campos como: El nombre del campo, el mínimo, el máximo, la cardinalidad y la longitud máxima. (La función “ColumnStatistics” devuelve una tabla de estadísticas referente a cada columna de cada tabla del modelo). 2. Implementar un informe de ventas por Grupo / Categorías y Subcategorías de productos, como en imagen. En el menú “Modelado” seleccione “Nueva Medida” y cree la siguiente medida: G6_Contains: Verifica que registros corresponden a ventas de bicicletas de tipo Road Bikes. (Verifica si los valores de un conjunto de campos coinciden con las especificaciones y retorna un valor de verdadero o falso). Incluya la medida en el reporte. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 40. 3. En el menú “Modelado” seleccione “Nueva Tabla” y cree la siguiente Tabla: G6_TAB1: Tabla que filtra los clientes de apellido “Kovár” de la tabla “Customer” y cuya “Región” corresponde a todas aquellas que están después de la región de Canadá. 4. En el “Panel Vista de Modelo” establecer la relación entre la tabla “G6_TAB1” y la tabla “Sales”. Mostrar la tabla creada a la derecha en el panel de informes como en imágen. Seleccione los clientes de la tabla para consultar sus ventas por Región / Categoría y SubCategoría, en la tabla de la izquierda. 5. En el menú “Modelado” seleccione “Nueva medida” y cree la siguiente medida: G6_HOFilter: Muestra el valor del elemento en el caso que el nivel de filtro sea uno, caso contrario lo deja en blanco.(HASONEFILTER: da el valor de True si el número de filtros aplicados al elemento es 1 sino da False). Incluir la nueva medida en el informe. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 41. 6. En el menú “Modelado” seleccione “Nueva medida” y cree la siguiente medida: G6_Filtro: Muestra si el filtro de un campo especificado es directo o no.(ISFILTERED: esta función da el valor de True si el campo especificado está afectado por filtros cruzados, caso contrario da el valor False). Incluir la nueva medida en el informe. 7. En el menú “Modelado” seleccione “Nueva tabla” y cree la siguiente tabla: G6_TPostCode: Tabla que filtra los clientes con código postal numérico, cuyas regiones son antecesoras alfabéticamente con Canadá y cuyos clientes alfabéticamente anteceden a “Ab”. Verifique los resultados del filtro en la nueva tabla como en imágen: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 42. 8. En el menú “Modelado” seleccione “Nueva tabla” y cree la siguiente tabla: G6_TAB2: Resumen de ventas por Colores de Producto. Se emplea las funciones: - ROLLUP: Subtotaliza los campos especificados basados en los cambios de los valores de una columna (en este caso “Color”). - IsSubtotal: Crea otra columna en una expresión SUMMARIZE que devuelve "true" si la fila contiene valores de subtotal de la columna especificada como argumento; de lo contrario, devuelve "false". 9. Cambie el nombre de la página por “Inf” y traslade las medidas creadas a la tabla Date. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 43. Funciones de Relaciones 1. En el panel informes crear un reporte de ventas anuales e incluir el campo “Customer/Customer ID” de la tabla de clientes con la función de agregación “Distinct Count”, como en imágen: Como se observa la columna “Recuento de Customer ID” no hace las agregaciones correctas porque la dirección de filtro es únicamente en la dirección de clientes a ventas, como se ve a continuación: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 44. 2. En el menú “Modelado” seleccionar la opción “Nueva Medida” y crear las siguientes medidas: G7_Num_Cli: Calcula la cantidad de clientes por año activando la dirección de filtro cruzado en ambas direcciones. G7_Sales_ShipDate: Muestra las ventas basadas en las fechas de embarque. La función USERELATIONSHIP cambia el campo de filtro entre la tabla de Ventas y la de fechas de “DueDateKey” a “ShipDateKey”, solo para esta sentencia. Incluir las medidas en el reporte de ventas por año y verificar resultados. Observe las diferencias entre las ventas basadas en las fechas de embarque y las fechas de entrega. 3. Observe la relación y la dirección de filtros entre la tabla de territorios y la tabla de ventas: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 45. 4. Prepare un reporte que muestre las ventas por “Región”, excluyendo a las que pertenecen a “United States”. Al preparar el reporte tenemos el reporte de la izquierda. Si en cambio creamos la medida: En el menú “Modelado” seleccionar la opción “Nueva medida” y crear la siguiente: G7_Sales_NoUS: Ventas no incluidas las que corresponden a las regiones de USA. El uso de la función RELATED permite consultar (“de muchos a uno”) los registros de la tabla Territorio que no se podría hacer por la dirección de filtro establecida como se muestra en el punto 3. Arrastrar la medida al reporte. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 46. 5. Cambiar el nombre de la página por el nombre “Rel_Log” y trasladar las medidas creadas a la tabla de fecha. Funciones Lógicas 6. Ir al menú “Modelado” y crear una nueva medida: G8_True_False: Muestra en el reportes con True las ventas superiores a 10,000,000 y con False a las inferiores. Incorporar esta medida al reporte de ventas por Región. 7. Ir al menú “Modelado” y crear la siguiente tabla: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 47. G7_TAB1: Crea una tabla basada en la tabla cliente agregando un campo “Post_Code” donde se encuentran los Códigos Postales numéricos o en su defecto el código “9999” en el caso que el código postal sea alfanumérico. Mostrar la tabla como en imágen: Funciones de Texto 1. En DAX Studio digite la siguiente consulta: En esta consulta se usa la función “COMBINEVALUES” que combina 2 o más cadenas (en el ejemplo son 3 cadenas) en una sola. También se usa la función CONCATENATE que es similar a la anterior pero que sólo trabaja con 2 cadenas. Cuando se tiene esta restricción se podría emplear funciones CONCATENATE anidadas como en el ejemplo. Verifique el resultado: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 48. 2. En DAX Studio digite la siguiente consulta: En esta consulta la medida “mm” va a concatenar el resultado de la función “COMBINEVALUES” que se calcula en cada registro. La concatenación se hará para todas las filas de la tabla con el separador “,” y el ordenamiento basado en el campo [Country] de manera Ascendente. Verifica el resultado: 3. En DAX Studio digite la siguiente consulta: DEFINE TABLE t1= FILTER(Customer, EXACT(Customer[City],Customer[State-Province])) EVALUATE t1 Verifique los resultados Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 49. 4. En DAX Studio digite la siguiente consulta: DEFINE TABLE t1=ADDCOLUMNS( TOPN(10, SUMMARIZE(Sales, Customer[Customer], "Sales", SUMx(sales,Sales[Sales Amount]) ), [Sales]), "Sales GNumber",FORMAT([Sales],"General Number"), "Sales Currency",FORMAT([Sales],"Currency"), "Sales Fixed",FORMAT([Sales],"Fixed"), "Sales Standard",FORMAT([Sales],"Standard"), "Sales Percent",FORMAT([Sales],"Percent"), "Sales Scientific",FORMAT([Sales],"Scientific") ) EVALUATE t1 5. En DAX Studio digite la siguiente consulta: DEFINE Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 50. TABLE t1=ADDCOLUMNS( TOPN(10, SUMMARIZE(Sales, Customer[Customer], "Sales", SUMx(sales,Sales[Sales Amount]) ), [Sales]), "Cust_COD", LEFT(LOWER([Customer]), MINX(Customer, LEN([Customer])) ) ) EVALUATE t1 6. En DAX Studio digite la siguiente consulta: DEFINE TABLE t1 = FILTER(Customer, SEARCH("HU*",Customer[Customer],1, BLANK())>0) EVALUATE t1 Observe la función “SEARCH” que es similar a la función “FIND”. Las diferencias residen en qué “SEARCH” no reconoce entre caracteres mayúsculos y minúsculos y que adicionalmente acepta caracteres comodín. En el ejercicio se busca a todos los clientes que tengan la sílaba “HU” dentro de sus nombres y apellidos. Vea los resultados. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 51. 7. En DAX Studio digite la siguiente consulta: DEFINE TABLE t1 = SELECTCOLUMNS(FILTER(Customer,Customer[Country-Region]="United Kingdom"), "Customer", Customer[Customer], "Country", Customer[Country-Region], "Sp_Country", SUBSTITUTE(Customer[Country-Region],"United Kingdom", "Reino Unido") ) Evaluate t1 Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 52. Funciones Financieras Importe la tabla Bonos.xlsx a Power BI Desktop (El file lo puede encontrar en su carpeta OneDrive). 1. En Power Query (transformación de datos) elimine los errores de la tabla Sales. 2. En el área de consultas de DAX Studio digitar la siguiente consulta: DEFINE COLUMN Foglio1[IACCRINT]=ACCRINT(Foglio1[Emision], Foglio1[1er pago], Foglio1[Liquidacion], Foglio1[Cupon (%)], Foglio1[Valor], Foglio1[Tipo Pago]) EVALUATE Foglio1 Esta consulta calcula los intereses a pagar desde la emisión del bono a la fecha de liquidación. Vea los resultados: 3. En el área de consultas de DAX Studio digitar la siguiente consulta: DEFINE COLUMN Foglio1[IACCRINTM]=ACCRINTM(Foglio1[Emision], Foglio1[Vencimiento], Foglio1[Cupon (%)], Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 53. Foglio1[Valor] ) EVALUATE Foglio1 Está consulta calcula los intereses acumulados que se pagan al vencimiento del bono. Observe los resultados 4. En el área de consultas de DAX Studio digitar las siguientes consultas y mostrar los resultados como en imágen: DEFINE COLUMN Foglio1[ICOUPDAYBS]=COUPDAYBS(Foglio1[Liquidacion], Foglio1[Vencimiento], Foglio1[Tipo Pago]) COLUMN Foglio1[ICOUPDAYS]=COUPDAYS(Foglio1[Liquidacion], Foglio1[Vencimiento], Foglio1[Tipo Pago]) COLUMN Foglio1[ICOUPDAYSNC]=COUPDAYSNC(Foglio1[Liquidacion], Foglio1[Vencimiento], Foglio1[Tipo Pago]) COLUMN Foglio1[ICOUPNCD]=COUPNCD(Foglio1[Liquidacion], Foglio1[Vencimiento], Foglio1[Tipo Pago]) COLUMN Foglio1[ICOUPNUM]=COUPNUM(Foglio1[Liquidacion], Foglio1[Vencimiento], Foglio1[Tipo Pago]) EVALUATE Foglio1 En la columna “COUPDAYBS” puede notar los días desde el inicio de un período de interés hasta su fecha de liquidación. En la columna “ICOUPDAYS” puede ver el número de días que comprende un periodo de interés (cupón). En la columna “ICOUPDAYSNC” vemos la Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 54. diferencia entre las 2 últimas columnas o el número de días desde la fecha de liquidación hasta la fecha del siguiente cupón. La columna ICOUPNCD muestra la fecha proxima del pago del Bono y la última columna muestra la cantidad de cuotas que aún quedan por pagar.. 5. En el área de consultas de DAX Studio digitar las siguientes consultas y mostrar los resultados: DEFINE COLUMN Foglio1[XCUMIPMT]= CUMIPMT( Foglio1[Cupon (%)]/12, DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento], MONTH), Foglio1[Valor], 7,12,1) COLUMN Foglio1[XCUMPRINC]= CUMPRINC( Foglio1[Cupon (%)]/12, DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento], MONTH), Foglio1[Valor], 7,12,1) EVALUATE Foglio1 La función CUMIPMT devuelve los intereses acumulados pagados de un préstamo entre el periódo 7 y 12. En tanto la función CUMPRINC devuelve el capital acumulado pagado en los mismos periodos. Dicho de otra manera es el interés a pagar menos lo ya pagado en el periodo especificado. 6. En el área de consultas de DAX Studio digitar las siguientes consultas y mostrar los resultados: DEFINE COLUMN Foglio1[XDB] = DB( Foglio1[Valor], Foglio1[Valor]*0.8, DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH), 4,1) COLUMN Foglio1[XDDB] = DDB( Foglio1[Valor], Foglio1[Valor]*0.8, DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH), 4) EVALUATE Foglio1 Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 55. La Función DB está calculando la amortización del bono en el 4 mes con el método de amortización por disminución fija de saldo (este método al aplicarse al saldo calcula importes más altos al inicio y menores conforme se avanza en el tiempo). La Función DDB devuelve la amortización del bono en el 4 mes con el método de amortización por doble disminución de saldo u otro método que se especifique. Igualmente al anterior este método de amortización se caracteriza por que el importe amortizado es mayor durante el primer periodo y va disminuyendo en períodos sucesivos. 7. En el área de consultas de DAX Studio digitar la siguiente consulta y mostrar los resultados como en la imágen: DEFINE COLUMN Foglio1[XPeriodo] = DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH) COLUMN Foglio1[XFV] = FV(Foglio1[Cupon (%)]/Foglio1[Tipo Pago], Foglio1[Tipo Pago], Foglio1[Valor]*(1+Foglio1[Cupon (%)])/Foglio1[Tipo Pago] ) COLUMN Foglio1[XIntrate] = INTRATE( Foglio1[Liquidacion], Foglio1[Vencimiento], Foglio1[Valor], Foglio1[Valor]*(1+Foglio1[Cupon (%)]/12)*DATEDIFF(Foglio1[Liquidacion],Foglio1[Vencimiento],MONTH) ) EVALUATE Foglio1 Muestre los resultados: La Función FV calcula los valores futuros de las cuotas anuales del bono La Función INTRATE calcula el tipo de interés del bono pagado en su totalidad en el momento de la liquidación. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 56. 8. En el área de consultas de DAX Studio digitar la siguiente consulta y mostrar los resultados como en la imágen: DEFINE COLUMN Foglio1[XIPMT]= IPMT( Foglio1[Cupon (%)]/12, 1, Foglio1[Tipo Pago], Foglio1[Valor] ) COLUMN Foglio1[XISPMT]= ISPMT( Foglio1[Cupon (%)]/12, 9, DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH), Foglio1[Valor] ) EVALUATE Foglio1 La función IPMT calcula el interés pagado en un periodo con tasa de interés fija (Cupón(%)) La función ISPMT calcula el interés pagado en el periodo 9 con tasa de interés variable, aplicada sobre la disminución del saldo (ver punto 6). 9. En el área de consultas de DAX Studio digitar la siguiente consulta y mostrar los resultados como en la imágen: DEFINE COLUMN Foglio1[XNominal]=NOMINAL(Foglio1[Cupon (%)],12) COLUMN Foglio1[XPduration]=PDURATION(Foglio1[Cupon (%)],Foglio1[Valor],Foglio1[Valor]*2) COLUMN Foglio1[XPV]=PV( Foglio1[Cupon (%)]/12, DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH), (Foglio1[Valor]/(DATEDIFF(Foglio1[Emision],Foglio1[Vencimiento],MONTH))*(1+Foglio1[Cupon (%)]/12)) ) EVALUATE Foglio1 Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 57. En esta consulta la función “XNOMINAL” nos da el interés nominal a partir de una tasa efectiva anualizada y un número de periodos de capitalización anual. La función “XPDuration” nos da el número de meses que necesitamos para que a una tasa definida (Cupon(%)) podamos duplicar el valor de nuestro bono. La función XPV nos da el valor actual de nuestro Bono traída a una tasa de interés constante. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 58. Instrucciones DAX Las instrucciones DAX son comandos que permiten construir consultas en DAX. Estas instrucciones son: 8. En el Menú superior de Power Bi Desktop, elija “Herramientas externas” y luego seleccione DAX Studio (previamente en el trabajo 7 se le ha pedido instalar DAX Studio en su PC). Observe sus áreas de trabajo: En ocasiones es necesario probar el rendimiento de nuestras consultas sin afectar nuestros informes o modelos de datos en Power BI Desktop/Services, para esto se puede emplear DAX Studio. DAX Studio es una herramienta Open Source que permite realizar consultas directas a tablas con el propósito de evaluar la performance de las instrucciones. También puede emplearse para crear Modelos de Datos que pueden ser exportados a sistemas SQL o CSV. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 59. 9. En el área de consultas digite la siguiente instrucción: DEFINE MEASURE 'Sales'[NuevaMedida]=sum('Sales'[Sales Amount]) Al ejecutarla observa un “error” Este error se debe a que la consulta está incompleta ya que no contiene la sentencia EVALUATE. “Toda consulta tiene que tener como mínimo una sentencia EVALUATE” Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 60. 10. En el área de consultas agregue la siguiente instrucción: Ejecute la consulta y vea los resultados. MEASURE es una medida tal y como es definida en Power BI y debe estar asociada a una tabla. 11. En el área de consultas agregue la siguiente instrucción: Ejecute la consulta y observe el resultado. Tenga en cuenta que una “Columna” definida en una consulta como en el ejemplo se comporta como una columna calculada pero solo para el ámbito de la consulta es decir “NO SE ALMACENA EN EL MODELO” También debe considerar que no puede crear una columna en una tabla que ha sido creada dentro de la consulta o basada en una columna creada dentro de la misma consulta. Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 61. Consultas DAX Una consulta DAX dentro de Power Bi Desktop / Services, es la unidad básica de procesos de los informes. Sea cuando creamos un gráfico o realizamos un filtro, en ese momento estamos llevando a cabo consultas. 12. En el Menú superior de Power Bi Desktop, elija “Herramientas externas” y luego seleccione DAX Studio (previamente en el trabajo 7 se le ha pedido instalar DAX Studio en su PC). Observe sus áreas de trabajo: 13. Una consulta DAX es un conjunto de instrucciones y eventualmente definiciones que se realizan sobre una tabla. Una consulta DAX como mínimo puede estar conformada por una instrucción EVALUATE. 14. En una consulta existen 2 tipos de instrucciones principales: - DEFINE: Este comando es opcional e inicializa entidades de datos, como: Tablas, Columnas, Medidas, etc. - EVALUATE: Es obligatoria en una consulta. Ejecuta uno o más comandos sobre una tabla. 15. En el área de consultas de DAX Studio digite: “EVALUATE Sales”. Observe los resultados en la parte inferior. Usted verá el resultado de las sentencia EVALUATE en el área “Log”, los resultados de la consulta EVALUATE en el área de “Results” a través de una tabla, y el registro del evento de la consulta en el área “History”. Tenga presente que una consulta solo necesita un comando EVALUATE como mínimo, como en este ejemplo. 16. En el área de consultas de DAX Studio digite: EVALUATE Sales ORDER BY Sales[SalesTerritoryKey], Sales[Sales Amount] DESC La sentencia ORDER BY ordena la tabla referenciada por la instrucción EVALUATE en base a los campos especificados por la instrucción ORDER BY. Observe los resultados en el área inferior. “Toda consulta DAX debe incluir como mínimo una sentencia EVALUATE” Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 62. 17. En el área de consultas de DAX Studio digite: EVALUATE Sales ORDER BY Sales[SalesTerritoryKey], Sales[Sales Amount] START AT 9, 5000 La sentencia START AT indica a partir de qué valor del campo de ordenamiento la sentencia ORDER BY comenzará el proceso de orden. Vea los resultados: Considere que el número de argumentos de la START AT debe ser el mismo (o inferior) que el de la cláusula ORDER BY 18. Teniendo en cuenta que DEFINE permite en una consulta definir diversas entidades de datos como: Tablas, medidas, variables o columnas, digite la siguiente instrucción: Esta instrucción define la medida ‘Sales Amount1’ como el producto de los precios unitarios x las cantidades vendidas. DEFINE MEASURE 'Sales'[Sales Amount1]=SUMX(Sales,Sales[Order Quantity]*Sales[Unit Price]) 19. A continuación escriba la siguiente consulta: En este consulta se está creando una tabla producto de la agrupación del archivo producto basado en el campo “Categoría” adicionando 2 columnas: la primera basada en la suma de Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 63. las ventas y la segunda basada en la suma de la medida definida en el punto 8 (Precio Unitario x cantidad vendida). DEFINE MEASURE 'Sales'[Sales Amount1]=SUMX(Sales,Sales[Order Quantity]*Sales[Unit Price]) EVALUATE SUMMARIZECOLUMNS( 'Product'[Category], TREATAS ( { "Bikes", "Components" }, 'Product'[Category] ), "Sales", SUM(Sales[Sales Amount]), "Sales1", [Sales Amount1] ) ORDER BY 'Product'[Category] Observe los resultados DEFINE es un comando opcional en una consulta pero debe ser colocado antes de la sentencia EVALUATE 20. A continuación defina las siguientes entidades: DEFINE MEASURE 'Sales'[Sales Amount] = SUMX(Sales,Sales[Order Quantity]*Sales[Unit Price]) TABLE 'TABREG' = TREATAS({"Southwest","Southeast"},'SalesTerritory'[Region]) Observe cada entidad definida. 21. Elabore la siguiente consulta: EVALUATE SUMMARIZECOLUMNS ( 'SalesTerritory'[Region], 'TABREG', "Total Sales", [Sales Amount], "Combined Years Total Sales", CALCULATE ( [Sales Amount], Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”
  • 64. ALLSELECTED ( SalesTerritory[Region] ) ) ) ORDER BY [Region] Observe los resultados y analize porque no ha filtrado los registros de la Tabla TABREG 22. Elabore la siguiente consulta: EVALUATE SUMMARIZECOLUMNS ( 'SalesTerritory'[Region], FILTER('SalesTerritory',OR('SalesTerritory'[Region]="Southwest", 'SalesTerritory'[Region]="Southeast")), "Total Sales", [Sales Amount], "Combined Years Total Sales", CALCULATE ( [Sales Amount], ALLSELECTED ( SalesTerritory[Region] ) ) ) ORDER BY [Region] Observe los resultados: Especialización en MS Power BI - Certificación como Data Analyst Associate Funciones DAX - Laboratorio Prohibida reproducción sin mencionar los autores Limitless Power of Information “El conocimiento no se crea ni se destruye, solo se transfiere”