Uso de Python en el Editor de Power Query

Puede utilizar Python, un lenguaje de programación usado ampliamente por estadistas, científicos de datos y analistas de datos, en el Editor de Power Query de Power BI Desktop. Esta integración de Python en el Editor de Power Query permite limpiar datos con Python y realizar acciones avanzadas, como analizar y dar forma a los datos en conjuntos de datos, incluida la operación de completar datos que faltan, las predicciones y la agrupación en clústeres, por nombrar algunas. Python es un lenguaje eficaz y se puede usar en el Editor de Power Query para preparar el modelo de datos y crear informes.

Prerrequisitos

Antes de empezar, tendrá que instalar Python y pandas.

  • Instalación de Python: para usar Python en el Editor de Power Query de Power BI Desktop, debe instalar Python en su máquina local. Puede descargar e instalar Python gratuitamente desde varias ubicaciones, incluida la página de descargas oficial de Python y Anaconda.

  • Instalación de pandas: para usar Python con el Editor de Power Query, también deberá instalar pandas. Pandas se usa para mover datos entre Power BI y el entorno de Python.

Uso de Python con el Editor de Power Query

Para ver cómo se utiliza Python en el Editor de Power Query, use este ejemplo de un conjunto de datos de la bolsa, basado en un archivo .csv que puede descargar aquí, y sígalo. El siguiente procedimiento muestra los pasos de este ejemplo:

  1. En primer lugar, cargue los datos en Power BI Desktop. En este ejemplo, cargue el archivo EuStockMarkets_NA.csv y seleccione Obtener datos>Texto o CSV en la cinta Inicio de Power BI Desktop.

    Screenshot of the Get Data ribbon in Power BI Desktop, showing the CSV selection.

  2. Seleccione primero el archivo y, después, Abrir para que el archivo .csv se muestre en el cuadro de diálogo Archivo CSV.

    Screenshot of the CSV file dialog, showing the selected CSV.

  3. Una vez cargados los datos, se muestran en el panel Campos de Power BI Desktop.

    Screenshot of the Fields pane, showing the loaded data.

  4. Para abrir el Editor de Power Query, seleccione Transformar datos en la pestaña Inicio de Power BI Desktop.

    Screenshot of the Power Query Editor in Power BI Desktop, showing the Transform data selection.

  5. En la pestaña Transformar, haga clic en Ejecutar script de Python para abrir el editor correspondiente, como se muestra en el paso siguiente. En las filas 15 y 20 faltan datos, al igual que en otras filas que no se ven en la siguiente imagen. En los siguientes pasos se muestra cómo Python completa esas filas de forma automática.

    Screenshot of the Transform tab, showing rows of data.

  6. En este ejemplo, escriba el siguiente código de script:

    import pandas as pd
    completedData = dataset.fillna(method='backfill', inplace=False)
    dataset["completedValues"] =  completedData["SMI missing values"]
    

    Nota

    Para que el código de script anterior funcione correctamente, debe tener instalada la biblioteca pandas en el entorno de Python. Para instalar pandas, ejecute el siguiente comando en la instalación de Python: pip install pandas.

    Cuando se incluye el código en el cuadro de diálogo Ejecutar script de Python, tiene un aspecto similar al siguiente ejemplo:

    Screenshot of the Run Python Script dialog, showing the script code.

  7. Después de seleccionar Aceptar, en el Editor de Power Query se muestra una advertencia sobre la privacidad de los datos.

    Screenshot of the Power Query Editor pane, showing the warning about data privacy.

  8. Para que los scripts de Python funcionen correctamente en el servicio Power BI, todos los orígenes de datos se deben establecer como públicos. Para obtener más información sobre la configuración de privacidad y sus implicaciones, consulte Niveles de privacidad.

    Screenshot of the Privacy levels dialog, showing that Public is set.

    Observe que en el panel Campos hay una columna nueva denominada completedValues. Observe que algunos elementos de datos faltan, como en las filas 15 y 18. Vea cómo Python lo aborda en la sección siguiente.

Con solo cinco líneas de script de Python, el Editor de Power Query ha rellenado los valores que faltaban con un modelo predictivo.

Creación de objetos visuales a partir de los datos del script de Python

Ahora se puede crear un objeto visual para ver cómo el código de script de Python, mediante la biblioteca pandas, ha completado los valores que faltaban, como se muestra en la imagen siguiente:

Screenshot of the visual, showing original data and completed missing values of the pandas library.

Una vez completado ese objeto visual y otros objetos visuales que desee crear con Power BI Desktop, puede guardar el archivo de Power BI Desktop. Los archivos de Power BI Desktop se guardan con la extensión de nombre de archivo .pbix. A continuación, use el modelo de datos, incluidos los scripts de Python que forman parte de él, en el servicio Power BI.

Nota

¿Quiere ver un archivo .pbix finalizado con estos pasos completados? Está de suerte. Puede descargar desde aquí el archivo de Power BI Desktop finalizado que se ha usado en estos ejemplos.

Después de cargar el archivo .pbix en el servicio Power BI, son necesarios dos pasos más para habilitar la actualización de los datos y los objetos visuales en el servicio. Los datos deben tener acceso a Python para que los objetos visuales se actualicen. Los demás pasos son los siguientes:

  • Habilitar una actualización programada del conjunto de datos. Para habilitar la actualización programada del libro que contiene el conjunto de datos con scripts de Python, consulte Configuración de actualización programada, que también incluye información sobre el uso de una puerta de enlace personal.
  • Instalar la puerta de enlace personal. Necesita una puerta de enlace personal instalada en la máquina donde se encuentra el archivo y donde está instalado Python. El servicio Power BI debe acceder a ese libro y volver a representar los objetos visuales actualizados. Para más información, vea Instalación y configuración de puertas de enlace personales.

Consideraciones y limitaciones

Existen algunas limitaciones para las consultas que incluyen scripts de Python creadas en el Editor de Power Query:

  • La configuración de origen de datos de Python se debe establecer en Pública y todos los demás pasos de una consulta creada en el Editor de Power Query también deben ser públicos. Para obtener la configuración del origen de datos en Power BI Desktop, seleccione Archivo > Opciones y configuración > Configuración de origen de datos.

    Screenshot of the File menu in Power BI Desktop, showing the Data source settings selection.

    En el cuadro de diálogo Configuración del origen de datos, seleccione los orígenes de datos y elija Editar permisos.... Asegúrese de que el Nivel de privacidad esté establecido en Público.

    Screenshot of the Data source settings dialog, showing the Privacy Level is set to Public.

  • Para habilitar la actualización programada de los objetos visuales o del conjunto de datos de Python, debe habilitar Actualización programada y tener puerta de enlace personal instalada en el equipo que hospeda el libro y la instalación de Python. Para obtener más información sobre ambos, consulte la sección anterior de este artículo y siga los vínculos que se proporcionan.

  • Actualmente no se admiten tablas anidadas, que son tablas de tablas.

Con Python y las consultas personalizadas puede hacer todo tipo de cosas; por tanto, explore y dé forma a los datos de la manera que quiera que aparezcan.