SQLShack

Microsoft Power BI soporta dos lenguajes diferentes, el lenguaje M y DAX (Expresión de Análisis de Datos) que pueden ser utilizados para filtrar, gestionar y visualizar los datos.

M puede ser considerado como un lenguaje de fórmulas de consulta y puede ser utilizado en el Editor de Consultas de Power BI con el fin de preparar los datos antes de que puedan ser cargados en el modelo de Power BI.

Por otro lado, DAX es un lenguaje de cálculo de datos analíticos que puede utilizarse para el análisis de datos en profundidad durante la fase de visualización de datos.

M y DAX no dependen el uno del otro y siguen estructuras y lógicas totalmente diferentes, y tienen códigos subyacentes distintos. M y DAX no pueden utilizarse simultáneamente, ya que el lenguaje M se utiliza en el Editor de consultas, mientras que DAX se utiliza sobre todo en el modelo de Vista de datos.

Este artículo del blog le mostrará en qué se diferencian M y DAX en Power BI, con la ayuda de ejemplos. Vea este artículo para una rápida introducción a DAX.

Importación del conjunto de datos

En esta sección, importaremos un conjunto de datos ficticio que utilizaremos para ejecutar nuestras consultas de Lenguaje M y DAX. Para ello comience haciendo clic en el botón «Obtener datos» del menú superior como se muestra en la siguiente captura de pantalla.

Un nuevo diálogo listará todos los enlaces de datos abiertos a Power BI.

Inserte web» en la sección de búsqueda, y muy pronto aparecerá una opción de datos Web» y también se mostrará un icono en las opciones de Todas las fuentes de datos. Seleccione la opción «Web» y luego haga clic en «conectar» en la parte inferior. Esto se ve claramente en la captura de pantalla de abajo.

Aparecerá la ventana de diálogo que puedes ver en la captura de pantalla de abajo. Ahora tiene que insertar la URL de abajo en el campo etiquetado como URL:

https://raw.githubusercontent.com/treselle-systems/customer_churn_analysis/master/WA_Fn-UseC_-Telco-Customer-Churn.csv

Haga clic en «Aceptar» para confirmar cuando esto se hace.

Aquí está una captura de pantalla para su referencia:

Esta URL lleva a Power BI a Github que contiene el archivo de datos CSV que necesitamos. El archivo de datos detalla un conjunto de datos de rotación de clientes de telecomunicaciones. Contiene datos sobre los clientes de una empresa de telecomunicaciones, que abandonaron la empresa después de un cierto período.

Dependiendo del tamaño del archivo, podría tomar un tiempo para descargar los datos desde el sitio remoto.

Una vez que los datos se descargan, usted tiene dos opciones: puede importar directamente los datos a la vista de datos / informes, o puede cargar primero los datos en el Editor de consultas. Dado que el Lenguaje M funciona en el Editor de Consultas, primero cargaremos los datos en el Editor de Consultas haciendo clic en «Transformar Datos» como se muestra en la siguiente captura de pantalla:

Verá que el conjunto de datos contiene información sobre un cliente, como el género, la titularidad, el servicio telefónico, el servicio de Internet, los dependientes, etc.

Una vez que haga clic en el botón Transformar, debería ver el siguiente Editor de consultas.

Diferencias entre el Lenguaje M y DAX

En la sección anterior, conectamos Power BI a un conjunto de datos ficticio en GitHub. En esta sección, verás con la ayuda de ejemplos, las diferencias entre el Lenguaje M y DAX.

Lenguaje M

En primer lugar, veremos qué es M y cómo se utiliza en Power BI. Como he dicho antes, el Lenguaje M se utiliza para gestionar y filtrar datos en el Editor de consultas. Si ha cerrado el Editor de consultas, puede abrirlo haciendo clic en la opción «Editar consultas» del menú superior.

En el Editor de consultas, el único nombre de tabla en el panel izquierdo de la pantalla será su tabla, como se muestra a continuación. Haga clic en la tabla de datos «WA_Fn-UseC_-Telco-Customer-Churn» del panel izquierdo del editor de consultas, como se muestra a continuación:

Para ver las consultas en M. Seleccione cualquier columna, por ejemplo, «Socio» y luego haga clic en el botón «Eliminar columnas» del menú superior. Esto eliminará la columna «Socio» de la tabla como se muestra a continuación:

A continuación, haga clic en la opción «Ver» del menú superior como se destaca en la siguiente captura de pantalla.

Haga clic en la casilla «Barra de fórmulas». Ahora debería ver una consulta en la barra de fórmulas como se destaca en la siguiente captura de pantalla. La consulta aquí es «= Table.RemoveColumns(#»Changed Type»,{«Partner»}). Esta consulta es una consulta en lenguaje M utilizada para eliminar la columna «Socio» de la tabla seleccionada. Puede ver que la consulta en lenguaje M es más similar a un comando SQL o LINQ (Language Integrated Query) en C#.

Para ver todas las consultas M ejecutadas anteriormente en su conjunto de datos, puede hacer clic en «Ver – Editor avanzado» como se muestra en la siguiente captura de pantalla.

Una vez que haga clic en la opción «Advanced Editor» del menú superior, debería ver la ventana Advanced Editor como se muestra a continuación. La ventana del Editor Avanzado contiene todas las consultas en lenguaje M que ha ejecutado hasta ahora en la sesión actual.

Puede ver que la última consulta es la que eliminó la columna «Socio» de la tabla. Antes de eso, la consulta «Cambiar tipo» se utiliza para asignar los tipos de datos a las diferentes columnas del conjunto de datos. Y antes de eso, la consulta «Encabezados promocionados» se utiliza para establecer las columnas de encabezado. Si ejecuta otra consulta, ésta aparecerá en la parte inferior de la lista de consultas en el «Editor Avanzado».

Intentemos añadir una columna simple en la tabla de libros y veamos la consulta M para ello. Haga clic en la opción «Añadir Columna -> Columna Personalizada» en el menú de la parte superior de la ventana, como puede ver a continuación:

Debería ver la ventana de abajo. Haga clic en las columnas «TotalCharges» y «MonthlyCharges» una por una y luego haga clic en el botón «Insert» para insertarlas en la ventana del editor de consultas. En la ventana del editor de consultas, añada un signo «+» entre los nombres de las dos columnas y haga clic en el botón «Aceptar».

Debería ver una nueva columna «TotalMensual» añadida a la tabla como se muestra a continuación. En la barra de fórmulas, también puede ver la consulta M generada para crear la columna «Total mensual». La columna «TotalMensual» básicamente muestra la suma de los valores de las columnas «CargosTotales» y «CargosMensuales».

Ahora, si vuelve a abrir la ventana del «Editor Avanzado», verá la consulta utilizada para añadir la columna «Total-Mensual» en la parte inferior de las consultas del editor avanzado.

Ahora ya sabemos cómo funciona el Lenguaje M y su aspecto. En el siguiente apartado, intentaremos crear la misma columna «Mensual-Total 2» a través de DAX (Expresión de Análisis de Datos).

Las consultas DAX se ejecutan en la Vista de Datos; por tanto, tenemos que mover los datos del Editor de Consultas a la vista de datos. Para ello, en el Editor de consultas, haga clic en la opción «Cerrar & Aplicar» del menú superior, como se muestra a continuación:

Una vez que haga clic en el botón «Cerrar & Aplicar», se abrirá la Vista de datos.

DAX (Expresión de análisis de datos)

En esta sección, veremos cómo añadir una nueva columna a la tabla Libros utilizando DAX. En la Vista de Datos, haga clic en la opción «Modelado -> Nueva Columna» del menú superior como se muestra a continuación:

Debería ver la siguiente ventana una vez que haga clic en la opción «Nueva Columna». En la barra de fórmulas, puede ver el nombre de la columna por defecto. Puede ejecutar las consultas DAX en esta barra de fórmulas.

Introduzca la consulta «Mensual-Total 2 = + » en la barra de fórmulas y pulse la tecla «Enter». Una vez que pulse «Enter», verá una nueva columna «TotalMensual 2» que muestra la suma de los valores de las columnas «CargasTotales» y «CargasMensuales».

Puede ver que las consultas DAX son más similares a las de MS Excel.

Conclusión

M Language y DAX son los dos lenguajes soportados por Power BI para manipular, filtrar y analizar los datos. Aunque ambos lenguajes tienen funcionalidades similares, operan de forma independiente el uno del otro. M se utiliza para preprocesar los datos dentro del Editor de Consultas mientras que DAX se utiliza para analizar los datos después de cargarlos en el Modelo de Vista de Datos.

  • Autor
  • Puestos recientes
Ben Richardson dirige Acuity Training un proveedor líder de formación en SQL el Reino Unido. Ofrece una gama completa de formación en SQL, desde cursos introductorios hasta cursos avanzados de administración y almacén de datos – vea aquí para más detalles. Acuity tiene oficinas en Londres y Guildford, Surrey. También escribe ocasionalmente en el blog de Acuity
Ver todos los posts de Ben Richardson

Los últimos posts de Ben Richardson (ver todos)
  • Trabajando con temas de informes de Power BI – 25 de febrero de 2021
  • Power BI: Gráficos en cascada y visuales combinados – 19 de enero de 2021
  • Power BI: Formato condicional y colores de datos en acción – 14 de enero de 2021

Deja una respuesta

Tu dirección de correo electrónico no será publicada.