Python puede integrarse con Power BI para potenciar las capacidades de Data Science de la plataforma de Business Intelligence de Microsoft. Descubre cómo combinar Python y Power BI, cuáles son sus posibilidades que se ofrecen y cómo formarte para dominarlas.
El lenguaje de programación Python es uno de los más utilizados en Data Science y el análisis de datos. Resulta muy útil para realizar tareas complejas relacionadas con la transformación de datos, la visualización, el Machine Learning o la inteligencia artificial.
La plataforma de Business Intelligence de Microsoft, Power BI, permite el autoservicio de inteligencia empresarial, incluyendo la visualización de datos procedentes de diversas fuentes.
No obstante, desde 2018, Power BI permite la integración de lenguajes de programación estadísticos y generales como R y Python. Esa integración aporta nuevas posibilidades y amplía las capacidades de Power BI, especialmente para la extracción y transformación de datos o la creación de modelos de Machine Learning.
Los profesionales de la Business Intelligence ya no necesitan recurrir a un equipo de Data Science para realizar tareas de ciencia de datos, y los desarrolladores de Python ya no necesitan un equipo de BI para presentar sus análisis en forma de informes o cuadros de mando.
El Data Scientist moderno debe aprovechar los datos para resolver los problemas de las empresas. Esto implica recopilar, limpiar, analizar y transformar datos para predecir eventos futuros y, a continuación, presentar los resultados del análisis en forma de informe o cuadro de mando.
Por tanto, la frontera entre el Data Scientist y el analista de negocio desaparece. La integración entre Python y Power BI permite adaptarse a esta nueva realidad.
¿Por qué usar Python con Power BI?
Usar Python con Power BI ofrece muchas posibilidades para trabajar con datos. Por ese motivo, las prestaciones de la plataforma se vuelven casi ilimitadas.
Es posible utilizar Python para el Data Cleaning (limpieza de datos) escribiendo scripts para automatizar las tareas más tediosas, como eliminar los valores que faltan o corregir los formatos de fecha.
Los scripts de Python también son muy útiles para la transformación de datos. De hecho, este proceso puede ser lento y tedioso con el Power Query Editor.
Además, Python puede revelar todo el valor de los datos mediante técnicas de análisis predictivo y de Machine Learning. Esto también permite compensar cualquier dato que falte.
En cuanto a la Data Visualization, Python permite añadir visualizaciones complejas y personalizadas a un informe. Por último, este lenguaje ofrece la posibilidad de conectar fuentes de datos no compatibles de forma nativa con Power BI.
Las limitaciones de estas dos herramientas
A pesar de la multitud de posibilidades que ofrece, la integración entre Python y Power BI también tiene sus limitaciones. En primer lugar, las fuentes de datos añadidas con Python tiene que ser públicas.
Solo se pueden importar Pandas DataFrames a Power BI utilizando Python. Además, el tiempo de ejecución está limitado a 30 minutos para los scripts y a 5 minutos para los objetos visuales.
El número de bibliotecas Python compatibles con Power BI Service es limitado. Solo son compatibles Matplotlib, NumPy, Pandas, Scikit-learn, Scipy, Seaborn, Statsmodels y XGBoost. Hay que tener en cuenta que Pandas y Matplotlib tienen que estar instalados para que funcione la integración entre Power BI y Python.
Por último, los objetos visuales de Python no admiten el filtro cruzado. Esto significa que la selección de un elemento en un objeto visual de Python no permite habilitar el mismo filtro en otros objetos visuales. Esto limita la interactividad en un informe de Power BI.
¿Podemos utilizar Python en lugar del lenguaje DAX?
El lenguaje DAX o Data Analysis Expressions permite crear diferentes medidas y manipular datos en Power BI.
Para todos los elementos que no hay que generar de forma dinámica, existen muchas alternativas. Por ejemplo, puedes añadir nuevas columnas a un cuadro de mando utilizando Python.
¿Cuáles son los requisitos previos para utilizar Python en Power BI?
Hay varios requisitos previos para utilizar Python en Power BI. Es necesario instalar el runtime de Python en el que se ejecutan los scripts, y las bibliotecas Pandas, Matplotlib y Seaborn.
También es posible utilizar el editor de código Visual Studio Code para escribir scripts de Python de manera más eficiente, pero esto es opcional. También se pueden escribir scripts de Python desde el editor de scripts de Power BI.
Sin embargo, el editor de código ofrece funcionalidades útiles como el resaltado de sintaxis. Puedes descargar Visual Studio Code desde el sitio web oficial. Por último, no olvides actualizar la configuración de Power BI para que funcione con Python.
¿Cómo configurar estas dos herramientas?
Antes de escribir scripts en Power BI, es necesario instalar la última versión de Python desde el sitio web oficial. En la documentación de Power BI, Microsoft recomienda evitar gestores de entorno como Anaconda para evitar problemas al ejecutar scripts.
Es posible evitar esta limitación para utilizar un entorno personalizado en Anaconda habilitando el entorno desde la línea de comandos antes de abrir Power BI Desktop también desde la línea de comandos.
Si no estás familiarizado con estas nociones de programación, es mejor que sigas las recomendaciones de Power BI y descargues Python desde el sitio web sin utilizar los entornos personalizados.
Después de instalar Python, tendrás que especificar la ruta al archivo en Power BI Desktop. En la cinta de opciones, selecciona «Archivo«, «Opciones y configuración» y «Opciones«.
En la lista de opciones, busca «Scripting Python». Ya solo queda encontrar la carpeta que contiene la distribución de Python, en la lista que contiene todas las distribuciones de Python instaladas en tu ordenador.
Si quieres escribir manualmente la ruta del archivo, ten en cuenta que solo se admiten rutas de archivo absolutas. No es posible introducir una ruta de archivo relativa.
Después de instalar y configurar Python en Power BI, puedes utilizar los scripts de muchas maneras. Entre ellas, utilizarlos como fuente de datos para importar nuevos datos, para enriquecer una fuente de datos existente en el Editor de Power Query o para visualizar datos en el lienzo de informes de Power BI.
Python como fuente de datos para Power BI
Para utilizar Python como fuente de datos para Power BI, ve a la pestaña de inicio y elige la opción «Obtener datos» para ver la lista completa de colecciones de datos.
Elige la categoría «otros» y busca «script Python» en la lista. Ahora ya puedes escribir un script de Python para importar un conjunto de datos. Aparecerá un cuadro de diálogo en la pantalla pidiéndote que introduzcas tu código de Python.
Recordemos que Power BI solo puede importar Pandas DataFrames. Por lo tanto, es necesario convertir primero el conjunto de datos utilizando «pd.DataFrame«.
Esta funcionalidad es muy útil para conectar una fuente de datos que no es compatible con Power BI de forma predeterminada. También es útil para conjuntos de datos que requieren mucha transformación antes de la importación, por ejemplo desde una API.
Este método permite crear data frames complejos utilizando Python e importarlos a Power BI. También puedes realizar manipulaciones de datos utilizando la biblioteca Pandas y luego importar el dataset final en Power BI para crear visualizaciones.
Esto hace que el uso de Power BI sea mucho más sencillo para los Data Scientists y los Data Analyst que ya están acostumbrados a manipular datos en Python.
Python para las particiones k-medias en Power BI
Las particiones k-medias o k-means clustering es una técnica de Machine Learning que permite encontrar grupos de puntos de datos similares: los clústeres.
Esta técnica es particularmente útil para el marketing o la atención al cliente, para comprender mejor a los clientes.
Es muy posible realizar análisis de clústeres sobre datos en Power BI sin utilizar Python. Sin embargo, esta funcionalidad nativa es limitada, ya que Power BI determina automáticamente en cuántos clústeres dividir los datos y no permite realizar cambios.
El uso de Python permite solucionar este problema, puesto que puedes escribir libremente el script para satisfacer unas necesidades específicas.
Desde el Editor de Power Query, selecciona la pestaña “Transformar” y luego “Ejecutar script Python”. El cuadro de diálogo que aparece es el mismo que cuando se importa un conjunto de datos, pero se dedica una ubicación de “dataset” al conjunto de datos actual.
Al seleccionar “Aceptar”, puedes importar una tabla reducida. Tienes que desplegar la columna “Valor” y elegir las columnas que quieres incluir en la solicitud.
Selecciona todas las columnas, incluida la columna “Clúster” que se acaba de crear a partir del script. Asegúrate de desmarcar la casilla “Usar el nombre original de la columna como prefijo”.
Tu conjunto de datos contiene todas las columnas originales, y una columna adicional que indica a qué clúster está asignada cada fila de datos.
Cálculo estadístico en Python en Power BI
Por defecto, crear una matriz de correlación no es una tarea fácil en Power BI. Sin embargo, el heatmap de matriz de correlación forma parte integrante de un informe de análisis de datos.
Para crear un heatmap de matriz de correlación en Power BI, puedes utilizar la función de correlación de Python. Este mapa de calor se mostrará en la sección Informe de Power BI.
Ve a la sección Informe de Power BI y haz clic en el visual de Python representado por el símbolo «Py» en la sección Visualizaciones. Aparecerá un visual Python vacío a la izquierda y un editor de scripts en la parte inferior de la pantalla. Por tanto, se pueden crear visualizaciones en Power BI utilizando scripts de Python.
Para ilustrar el heatmap de correlación, introduce todas las variables continuas en el campo Valores. Se trata de un paso fundamental, ya que Power BI solo tendrá en cuenta las variables especificadas para la visualización.
A continuación, basta con escribir unas líneas de código en Python para crear un heatmap de matriz de correlación con ayuda del package seaborn. Por último, haz clic en el botón «Ejecutar script» para obtener el mapa de calor.
Añade aquí tu texto de cabecera
Solo hemos explorado una ínfima parte de las posibilidades que ofrece Python en Power BI. Para aprender a dominar completamente estas herramientas, puedes elegir DataScientest.
Nuestros cursos de Data Analyst y Data Management incluyen un módulo de introducción a la programación en Python, y un módulo de Business Intelligence centrado en Power BI.
Siguiendo estos cursos, también aprenderás sobre análisis de datos, Machine Learning, DataViz o manipulación de bases de datos. Al finalizar el curso, tendrás todos los conocimientos necesarios para convertirte en Data Analyst o Data Manager.
Estos cursos son totalmente a distancia, combinando el aprendizaje online en nuestra plataforma tutorizada y Master class. Puedes elegir entre un BootCamp intensivo o un curso de formación continua según tus preferencias.
También ofrecemos un curso para expertos dedicado íntegramente a Power BI. Este curso de entre 3 y 5 días incluye Power Query, el lenguaje DAX, Data Visualization y Workspace Management.
Al final de este programa, podrás realizar el examen para obtener una certificación oficial de Microsoft Power BI. Estarás preparado para utilizar estas herramientas en tu empresa.
Todos nuestros cursos son bonificables con FUNDAE. ¡No esperes más y descubre los cursos de DataScientest!
Ya lo sabes todo lo que hay que saber sobre Power BI y Python. Para más información, descubre nuestro dosier completo sobre Power BI y nuestro dosier completo sobre el lenguaje Python.