Los lenguajes de Power BI

Un usuario Pregunto ✅


Como herramienta de análisis, visualización y mashup de datos, Power BI proporciona mucha potencia y flexibilidad con respecto a la ingesta, la transformación, la visualización y la obtención de conocimientos a partir de sus datos. Sin embargo, para proporcionar tanta potencia y flexibilidad, Power BI integra varios lenguajes de datos diferentes, incluidos DAX, «M», SQL, MDX y R. Debido a esto, puede resultar confuso para los nuevos usuarios averiguar cuándo y cuándo dónde usar qué lenguaje para lograr de manera más efectiva el resultado deseado. Este artículo cubre los distintos lenguajes que encontrará el usuario empresarial general (no desarrollador) al usar Power BI.

DAX

Qué

Si es nuevo en Power BI, el primer idioma que probablemente encontrará y usará conscientemente es Expresiones de análisis de datos (DAX). DAX es un biblioteca de funciones y operadores que se pueden combinar para crear fórmulas y expresiones. DAX es muy parecido a una fórmula de Excel, lo que significa que es el más fácil de aprender y comprender para los principiantes.

Cuando

Se utiliza DAX después sus datos se han importado a su modelo de datos.

Dónde

DAX se puede usar con modelos tabulares de Microsoft SQL Server Analysis Services (SSAS), Power Pivot en Excel y Power BI Designer.

Por qué

Utilice DAX para crear columnas y medidas personalizadas dentro de un modelo de datos.

Cómo

Lo único realmente «complicado» de DAX es acostumbrarse a pensar en el contexto. En otras palabras, la fórmula o expresión de DAX que cree puede dar resultados diferentes según el contexto en el que se ejecute esa fórmula o expresión. Esto hace que DAX sea muy poderoso, pero puede agregar un elemento de confusión y fuerza una forma diferente de pensar sobre las soluciones. Por ejemplo, tome una medida DAX simple como la siguiente:

Total Sales = SUM([Sales])

Colocar esta medida en un gráfico de columnas usando Departamento como eje x dará resultados diferentes en lugar de colocar la misma medida en un gráfico de líneas usando Año como eje x.

Para obtener más información, consulte la Referencia de expresiones de análisis de datos (DAX).

Dificultad

1 – Al ser muy similar a las fórmulas de Excel, DAX tiene un sentido de familiaridad y, por lo tanto, es el lenguaje más fácil de usar para principiantes.

Lenguaje de fórmulas de Power Query «M»

Qué

El lenguaje de fórmulas de Power Query (conocido informalmente como «M») es un poderoso lenguaje de consulta mashup optimizado para crear consultas que combinen datos. Es un lenguaje funcional que distingue entre mayúsculas y minúsculas, similar a F #. Es probable que M sea el primer idioma que los nuevos usuarios utilicen, aunque es poco probable que sepan que lo están utilizando. La razón es que cuando los usuarios están importando datos en su modelo de datos, que generalmente es el primer paso para usar Power BI Designer, lo más probable es que las consultas usen M en segundo plano. Sin embargo, el Editor de consultas proporciona una poderosa interfaz gráfica que permite a los usuarios realizar mashups de datos complejos sin tener que mirar el código M que el Editor de consultas está construyendo detrás de escena.

Cuando

M se usa durante su importación de datos.

Dónde

M se puede utilizar con Power Query en Excel y en el Editor de consultas de Power BI Designer. Para ver el código M detrás de una consulta en Power BI Designer, use el Editor avanzado en el Editor de consultas. Lo más probable es que el código que se muestra en el Editor avanzado sea un código M. La excepción es si crea una consulta basada en R.

Por qué

Utilice M para transformar y limpiar sus datos, así como para crear columnas personalizadas durante la importación de datos.

Cómo

M incluye un conjunto común de definiciones de funciones disponibles para su uso a partir de una expresión llamada biblioteca estándar. Las funciones M se pueden evaluar en el Editor de consultas en Power Query, utilizando el barra de formulas o editor avanzado.

Aquí hay algunos ejemplos de funciones M:

Función es igual a

Number.IsEven (3) falso
Text.PositionOf («Hola», «ll») 2
DateTime.LocalNow () 2015-05-25T08: 47: 27.2923327

Para obtener más información, consulte el Lenguaje de fórmulas de Power Query (informalmente conocido como «M»).

Dificultad

3 – A menos que ya esté familiarizado con F #, y lo más probable es que no lo esté (vea el gráfico de la popularidad del idioma), probablemente encontrará que M es un idioma moderadamente desafiante para aprender. M simplemente no es «como» muchos otros lenguajes, tienes que pensar un poco diferente cuando lo usas en lugar de lenguajes más tradicionales como Java, C, etc. Lo he encontrado más análogo en mi experiencia de programación a algo como LISP, que también se centra principalmente en conjuntos / listas.

langrank.png

SQL

Qué

Independientemente del sabor, T-SQL, PL-SQL, etc., el lenguaje SQL es un lenguaje de programación de propósito especial bastante antiguo y estándar que se usa para administrar y manipular datos dentro de bases de datos relacionales.

Cuando

Se utiliza SQL antes de su importación de datos.

Dónde

En general, SQL es omnipresente en todas las bases de datos relacionales y se puede utilizar, con algunas diferencias de dialecto, con cualquier sistema de base de datos relacional. En Power BI, puede usar SQL cuando usa un conector de fuente de datos para una base de datos relacional como SQL Server, MySQL, PostGres, IBM DB2. Desde dentro de la interfaz del conector, elija «Opciones avanzadas» y habrá un área opcional en la que puede pegar el código SQL.

SQLStatement.png

Por qué

Utilice SQL para filtrar previamente, unir o transformar sus datos antes de comenzar a trabajar con ellos. Por lo general, será más eficiente realizar una combinación o selección compleja de columnas usando SQL que en M o dentro del modelo de datos.

Cómo

En general, se utilizarán consultas SQL frente a declaraciones SQL con Power BI. Las consultas recuperan datos basados ​​en un criterio específico versus declaraciones, que generalmente tienen un efecto persistente en el esquema y los datos. La excepción a esto es cuando se realiza una función EXEC contra un parámetro almacenado. Una consulta SQL bastante simple es algo como lo siguiente:

SELECT column1,column2 FROM table1 WHERE column3='Some value';

Esto devolvería todas las columnas para «columna1» y «columna2» para todas las filas de la tabla «tabla1» donde el valor de esas filas en «columna3» es igual a «Algún valor».

Para obtener más información, consulte el tutorial de SQL de W3Schools.

Dificultad

2 – SQL es bastante generalizado y tiene una larga historia, por lo que generalmente es familiar para mucha gente.

MDX

Qué

Expresiones multidimensionales (MDX) es el lenguaje estándar definido por Microsoft para consultar cubos multidimensionales, como los creados con Microsoft SQL Server Analysis Services. MDX puede parecer al principio similar a SQL, sin embargo, MDX es un idioma completamente diferente. Mientras que SQL fue diseñado para consultar bases de datos relacionales compuestas por tablas donde los datos están organizados en términos de columnas y filas, MDX fue diseñado para consultar cubos OLAP donde los datos están organizados en términos de medidas, dimensiones, jerarquías y niveles.

Cuando

Se utiliza MDX antes de su importación de datos.

Dónde

MDX se usa al consultar SQL Server Analysis Services (SSAS), Excel cuando se conecta a cubos multidimensionales y en Power BI Designer. En Power BI Designer, puede usar MDX cuando usa un conector de origen de datos para un cubo multidimensional como SSAS. De manera similar a cómo usar SQL anterior, desde la interfaz del conector, elija «Opciones avanzadas» y habrá un área opcional en la que puede pegar el código MDX.

Por qué

Usar SQL para prefiltrar y unir sus datos antes de empezar a trabajar con él. Por lo general, será más eficiente realizar una combinación o selección compleja de columnas usando MDX que en M o dentro del modelo de datos.

Cómo

Para obtener más información sobre MDX, consulte la documentación de acceso a datos multidimensionales de Microsoft.

Dificultad

3 – MDX es más difícil de entender que SQL y es un lenguaje único en cuanto a idiomas ir.

R

Qué

Mientras que los otros lenguajes cubiertos aquí son lenguajes de programación de propósito más especial, R, por el contrario, es más un lenguaje de programación tradicional y completo. Históricamente, el uso de R estaba muy limitado a unos pocos científicos de datos, analistas de datos y estadísticos seleccionados para realizar cálculos estadísticos pesados ​​y visualizaciones de datos. Sin embargo, recientemente, R se ha vuelto mucho más popular y está integrado en muchos de los componentes de la plataforma de datos de Microsoft, incluidos SQL Server 2016 y Power BI.

Cuando

R se puede utilizar antes de, durante y después su importación de datos en su modelo de datos.

Dónde

Como lenguaje de programación completo, R tiene su propio entorno de ejecución y entorno para la codificación. Por lo tanto, puede usar R para preparar datos antes de considerar importarlos a su modelo de datos. R también se puede usar durante la importación de datos, ya que las consultas completas o los pasos dentro de las consultas se pueden escribir en R. Después de importar los datos a su modelo, R se puede usar en los elementos visuales de R. Para usar R como base para una consulta completa, en Power BI elija Obtener datos | Más | Otros | R Script. En el Editor de consultas de Power BI, en la pestaña Transformar, «Ejecutar script R» es el penúltimo icono a la derecha e insertará un script R en su consulta como un paso. Cuando se encuentra en la pestaña Informe dentro de Power BI, uno de los íconos en la penúltima fila es el «Visual script R». Quizás como era de esperar, su icono es una «R» mayúscula.

Por qué

El lenguaje R tiene una gran cantidad de módulos que agregan una gran cantidad de capacidades a Power BI. La biblioteca de visualizaciones de R agrega cientos de posibles elementos visuales al conjunto principal de elementos visuales de Power BI. Los usos de R son casi infinitos.

Cómo

Para obtener más información, consulte Introducción a R.

Dificultad

4 – R obtiene una alta clasificación aquí basada en gran parte en los hechos de que es un lenguaje de programación completo, así como en la inmensidad del lenguaje en sí cuando se incluyen todos los posibles módulos personalizados.

Pitón

ACTUALIZACIÓN: 9/5/2020

La versión original de este artículo decía que la compatibilidad con Python llegaría a Power BI. Obviamente esto ha sucedido.

Qué

Mientras que los otros lenguajes cubiertos aquí son lenguajes de programación de propósito más especial, Python, por el contrario, es más un lenguaje de programación tradicional completo. Python es un lenguaje de programación de propósito general muy popular que se utiliza entre los científicos de datos y los manipuladores de datos. Python aparece anualmente entre los cinco primeros para los lenguajes de programación más populares.

Cuando

Se puede usar Python antes de, durante y después su importación de datos en su modelo de datos.

Dónde

Como lenguaje de programación completo, Python tiene su propio entorno de ejecución y entorno para la codificación. Por lo tanto, puede usar Python para preparar datos antes de considerar importarlos a su modelo de datos. Python también se puede usar durante la importación de datos, ya que las consultas completas o los pasos dentro de las consultas se pueden escribir en Python. Después de importar los datos a su modelo, Python se puede usar en las imágenes de Python. Para usar Python como base para una consulta completa, en Power BI elija Obtener datos | Más | Otros | Secuencia de comandos de Python. En el Editor de consultas de Power BI, en la pestaña Transformar, «Ejecutar secuencia de comandos de Python» es el último icono a la derecha e insertará una secuencia de comandos de Python en su consulta como un paso. Cuando está en la pestaña Informe dentro de Power BI, uno de los íconos en la penúltima fila es el «Visual de secuencia de comandos de Python». Quizás como era de esperar, su icono es «Py».

Por qué

El lenguaje Python tiene una gran cantidad de módulos que agregan una gran cantidad de capacidades a Power BI. La biblioteca de visualizaciones de Python agrega cientos de posibles elementos visuales al conjunto básico de elementos visuales de Power BI. Los usos de Python son casi infinitos.

Cómo

Para obtener más información, consulte Introducción a R.

Dificultad

4 – Python obtiene una alta clasificación basada en gran parte en el hecho de que es un lenguaje de programación completo, así como en la inmensidad del lenguaje en sí al incluir todos los posibles módulos personalizados.

Este artículo sería negligente si no mencionara al menos otro lenguaje de programación de propósito general muy popular que se usa entre los científicos de datos y los manipuladores de datos, Python. Constantemente aparece anualmente en el top 5 de los lenguajes de programación más populares y dada su popularidad entre los científicos de datos y los manipuladores de datos (esencialmente tan popular como R), es una omisión obvia de las capacidades del lenguaje de datos de Power BI. Actualmente, Power BI no admite ni se integra con Python en absoluto y, a diferencia de la rápida adopción de R por parte de Microsoft en todos sus productos de plataforma de datos, actualmente la plataforma de datos de Microsoft no incluye ninguna integración significativa de Python. Si yo fuera un hombre de apuestas, apostaría a que esto cambiará en algún momento simplemente en base a la reciente adopción de lenguajes de código abierto como R por parte de Microsoft y la popularidad de Python dentro del espacio de datos. Por lo tanto, mi recomendación es que si aún no lo ha hecho, es posible que desee al menos escribir un programa «Hola mundo» en Python lo antes posible.

Arthur82

Excelente publicación y descripción general muy útil para compartir con los clientes que están considerando implementar PBI.

Un comentario menor: cuando dice que R es la única forma de conectarse a Azure Machine Learning, debido a que ML expone experimentos como API, también es posible consumir a través de una solicitud web estándar en Power Query / M sin necesidad de recurrir a las secuencias de comandos R. Normalmente creo una función para realizar la solicitud a Azure ML y luego llamo a esa función para cada fila.

@yoshihirok: Sí, Power BI Designer es el nombre antiguo de Power BI Desktop. ¡No estoy seguro de por qué mi cerebro estaba atascado en el nombre anterior cuando escribí esto!

@ arthur82 – ¡Genial, me encantaría ver el código M en algún momento! ¡Deberías escribir una publicación de blog sobre él! 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *