Saltar al contenido principal
InicioAcerca de Power BIAprende Power BI

Tutorial sobre la ejecución de scripts de Python en Power BI

Descubre las distintas formas de utilizar Python para optimizar el análisis, la visualización y el modelado de datos en Power BI.
abr 2024  · 9 min leer

Python es uno de los lenguajes de programación más populares y de crecimiento más rápido para el análisis y la ciencia de datos. Python es capaz de realizar tareas muy complejas relacionadas con la transformación de datos, la visualización, el machine learning, la inteligencia artificial y mucho más. 

Power BI tiene la capacidad de integrarse directamente con Python, llevando las capacidades generales de Power BI al siguiente nivel. En este tutorial, nos centraremos en la configuración y el uso de scripts de Python en Power BI para importar datos y enriquecer un conjunto de datos existente.

¿Por qué utilizar Python en Power BI?

Utilizar Python con Power BI introduce todo un nuevo conjunto de posibilidades para trabajar con datos. Python convierte Power BI en una plataforma que puede hacer casi cualquier cosa.

Aquí tienes algunos ejemplos de los tipos de tareas que se pueden realizar con Python en Power BI:

  • Limpieza de datos: puedes escribir scripts de Python que automaticen algunas de las tareas de limpieza de datos más repetitivas que realizas habitualmente, como eliminar valores que faltan o corregir formatos de fecha.
  • Transformación de datos: los scripts de Python son útiles para conjuntos de datos que requieren transformaciones de datos más extensas, que pueden ser lentas o engorrosas en el editor de Power Query, para poder importarse. 
  • Machine learning: enriquecimiento de tus datos con análisis predictivos (como la regresión o el procesamiento de lenguaje natural), o tareas de machine learning no supervisado como el análisis de grupos.
  • Manejo de los datos que faltan: Python te da más opciones para manejar los datos que faltan, como el uso de modelos de machine learning.
  • Visualizaciones avanzadas: no hay restricciones sobre el tipo de visualización que puedes añadir a tu informe cuando utilizas Python. Añade visualizaciones muy complejas o personalizadas sin necesidad de descargar visualizaciones personalizadas en Power BI.
  • Conectividad: Python te ofrece la posibilidad de conectarte a casi cualquier fuente de datos, aunque Power BI no la admita como una de sus conexiones integradas.

¿Cuáles son las limitaciones del uso de Python en Power BI?

Algunas limitaciones del uso de Python con Power BI que debes tener en cuenta al escribir tus scripts son:

  • Las fuentes de datos añadidas con Python deben ser públicas.
  • Solo se pueden importar DataFrames Pandas en Power BI utilizando Python.
  • Los scripts que tarden más de 30 minutos en ejecutarse se desactivarán, igual que los elementos visuales de Python que tarden más de 5 minutos en ejecutarse.
  • Hay un número limitado de bibliotecas Python compatibles con el servicio Power BI (nos explayaremos sobre esto en la siguiente sección). 
  • Los informes que utilizan Python solo pueden actualizarse en el servicio Power BI con una pasarela personal (la pasarela de empresa o estándar no es compatible).
  • Los elementos visuales de Python no admiten el filtrado cruzado. Esto significa que seleccionar un elemento en un elemento visual de Python no hará que otros elementos visuales se filtren por esa selección, lo que elimina cierto grado de interactividad en el informe de Power BI.

Como ya hemos dicho, el servicio Power BI admite un número limitado de bibliotecas Python. Estas mismas restricciones no se aplican cuando se crean informes utilizando Power BI Desktop, así que vigila las bibliotecas que utilizas si pretendes publicar tus informes en el servicio Power BI.

Además, ten en cuenta que el servicio Power BI admite actualmente el tiempo de ejecución de Python 3.7.7. Si escribes tus scripts de Python en una versión anterior de Python, es posible que tu código no se ejecute correctamente.

El servicio Power BI es compatible con estas bibliotecas:

  • Matplotlib
  • NumPy
  • Pandas
  • Scikit-learn
  • Scipy
  • Seaborn
  • Statsmodels
  • XGBoost

Cabe señalar que, para que la integración entre Power BI y Python funcione, es necesario instalar un mínimo de dos bibliotecas de Python: Pandas y Matplotlib.

Cómo configurar Python en Power BI

Para poder escribir cualquier script en Power BI, tendrás que instalar la versión más reciente de Python desde el sitio web de Python

La documentación de Power BI recomienda que evites utilizar gestores de entorno como Anaconda, ya que ello podría causar algunos problemas con la ejecución de los scripts. Una posible solución si utilizas un entorno personalizado en Anaconda es activar el entorno desde la línea de comandos y luego abrir Power BI Desktop también desde la línea de comandos. 

Sin embargo, si estás menos familiarizado con estos aspectos de la programación, es más fácil ceñirse a la recomendación de Power BI y descargar Python de su sitio web sin utilizar entornos personalizados.

Una vez que hayas instalado Python, tienes que especificar la ruta de archivo de Python correcta en Power BI Desktop. En la cinta, selecciona "File", "Options and settings" y, a continuación, "Options". En la lista de opciones globales, busca "Python scripting". Aquí es donde tendrás que buscar el directorio que contiene la distribución de Python.

Deberías poder ver todas las distribuciones de Python instaladas en tu ordenador en la selección desplegable. Si tienes que escribir manualmente la ruta de archivo, ten en cuenta que aquí solo se admiten rutas de archivo absolutas, y no puedes introducir una ruta de archivo relativa, como a partir de la ubicación del informe de Power BI

Scripts de Python en Power BI

Hay varias formas de utilizar los scripts de Python en Power BI:

  • Como fuente de datos para importar nuevos datos.
  • Para enriquecer una fuente de datos existente en el editor de Power Query.
  • Para visualizar datos en el espacio de informe de Power BI.

El resto de este tutorial mostrará cómo utilizar Python como fuente de datos y para enriquecer una fuente de datos existente.

Utilizar Python como fuente de datos en Power BI

En la pestaña Home de la cinta, selecciona "Get data" para que aparezca la lista completa de conexiones de datos. Selecciona la categoría "Other" y busca "Python script" en la lista. Esto te permitirá escribir un script de Python para importar un conjunto de datos. Esto me resulta especialmente útil cuando me conecto a una fuente de datos que no se admite en la lista de conexiones de Power BI, o incluso a un conjunto de datos que requiere una amplia transformación de los datos antes de la importación (por ejemplo, desde una API).

Utilizar Python como fuente de datos en Power BI

Aparecerá un cuadro de diálogo en el que puedes introducir tu código Python. En este ejemplo, utilizaremos la biblioteca Scikit-Learn para cargar el conjunto de datos Iris, que también utilizaremos en la siguiente sección. Recuerda que Power BI solo te permite importar DataFrames Pandas, por lo que primero debemos convertir el conjunto de datos utilizando "pd.DataFrame".

Script de Python en Power BI

En la siguiente ventana, selecciona la tabla llamada "df", que contiene los datos. Esto te permitirá cargar este conjunto de datos en el modelo de datos como cualquier otra fuente de datos en Power BI. 

Captura de pantalla de navegador en Power BI

K-medias en Power BI con Python

K-medias es una técnica de machine learning no supervisado que te permite buscar grupos de puntos de datos similares entre sí: son los grupos. Esta técnica es especialmente útil para que las empresas de marketing y atención al cliente comprendan mejor a sus clientes.

Power BI tiene la capacidad de realizar análisis de grupos con tus datos sin necesidad de Python. Sin embargo, es algo restrictivo en el sentido de que determina el número de grupos en los que hay que dividir los datos y no te permite cambiarlo. Este tipo de situación hace que Python sea la solución perfecta, ya que tienes la flexibilidad de escribir un script según tus propias necesidades.

En el editor de Power Query, selecciona la pestaña Transform de la cinta y, a continuación, selecciona "Run Python Script". Aparecerá casi el mismo cuadro de diálogo que teníamos al importar el conjunto de datos, excepto que aquí hay un marcador de posición para nuestro conjunto de datos actual llamado "dataset".

Captura de pantalla de Run Python Script de Power BI

Al seleccionar "OK", se importará una tabla contraída. Ahora tienes que desplegar la columna Value para seleccionar qué columnas quieres incluir en la consulta. Selecciona todas las columnas, incluida nuestra nueva columna "Cluster", que acabamos de crear con el script anterior, y asegúrate de desmarcar la casilla "Use original column name as prefix".

Use Original Column Name as Prefix de Power BI

Al final, nos queda un conjunto de datos que contiene todas las columnas originales más una columna adicional que muestra el grupo al que está asignada cada fila de los datos. En este ejemplo, elegimos dividir los datos en 4 grupos, por lo que debería haber etiquetas de grupo de 0 a 3.

Dividir los datos en 4 grupos en Power BI

Conclusión 

Esto es solo la punta del iceberg de lo que es posible con la integración de Python y Power BI.  Si este tutorial ha despertado tu curiosidad sobre cómo sacar el máximo partido a Power BI, quizá quieras echar un vistazo al programa de habilidades Fundamentos de Power BI de DataCamp o al programa de carrera Analista de datos con Power BI.  

Temas

Cursos de Power BI en DataCamp 

Course

Introduction to Power BI

3 hr
356.5K
Master the Power BI basics and learn to use the data visualization software to build impactful reports.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

blog

¿Qué son los modelos semánticos de Power BI?

Conozca los modelos semánticos en Power BI, sus componentes, modos y mejores prácticas para crearlos y gestionarlos.
Joleen Bothma's photo

Joleen Bothma

7 min

blog

8 proyectos de Power BI para desarrollar sus habilidades

Explore nuestra lista de proyectos de Power BI para principiantes e intermedios en diferentes sectores y casos de uso.
Jess Ahmet's photo

Jess Ahmet

8 min

blog

11 técnicas de visualización de datos para cada caso de uso con ejemplos

Descubra los análisis, técnicas y herramientas más populares para dominar el arte de la visualización de datos.
Javier Canales Luna's photo

Javier Canales Luna

16 min

tutorial

Cómo recortar una cadena en Python: Tres métodos diferentes

Aprenda los fundamentos del recorte de caracteres iniciales y finales de una cadena en Python.
Adel Nehme's photo

Adel Nehme

5 min

tutorial

Pandas Profiling (ydata-profiling) en Python: Guía para principiantes

Aprenda a utilizar la biblioteca ydata-profiling en Python para generar informes detallados de conjuntos de datos con muchas características.
Satyam Tripathi's photo

Satyam Tripathi

9 min

tutorial

Guía completa de listas vacías en Python

Aprenda las principales operaciones con listas y los casos de uso de las listas vacías en Python.
Adel Nehme's photo

Adel Nehme

5 min

See MoreSee More