Compartir a través de


Creación de objetos visuales de Power BI con Python

Este tutorial le ayuda a empezar a crear objetos visuales con datos Python en Power BI Desktop. Puede usar algunas de las muchas opciones y funcionalidades disponibles para crear informes visuales mediante Python, Pandas y la biblioteca Matplotlib.

Requisitos previos

Realice Ejecución de scripts de Python en Power BI Desktop para:

  • Instalar Python en la máquina local.

  • Habilitar el scripting de Python en Power BI Desktop.

  • Instalar las bibliotecas de Python pandas y Matplotlib.

  • Importe el siguiente script de Python en Power BI Desktop:

    import pandas as pd 
    df = pd.DataFrame({ 
        'Fname':['Harry','Sally','Paul','Abe','June','Mike','Tom'], 
        'Age':[21,34,42,18,24,80,22], 
        'Weight': [180, 130, 200, 140, 176, 142, 210], 
        'Gender':['M','F','M','M','F','M','M'], 
        'State':['Washington','Oregon','California','Washington','Nevada','Texas','Nevada'],
        'Children':[4,1,2,3,0,2,0],
        'Pets':[3,2,2,5,0,1,5] 
    }) 
    print (df) 
    

Creación de objetos visuales de Python en Power BI Desktop

  1. Después de importar el script de Python, seleccione el icono visual de Python en el panel visualizaciones de Power BI Desktop.

    Captura de pantalla que muestra la opción Python en Visualizaciones.

  2. En el cuadro de diálogo Habilitar objetos visuales de script que aparece, seleccione Habilitar.

    Aparece una imagen visual de Python de marcador de posición en el lienzo del informe y el editor de scripts de Python aparece en la parte inferior del panel central.

    Captura de pantalla que muestra el editor de scripts de Python.

  3. Arrastre los campos Age, Children, Fname, Gender, Pets, State y Weight a la sección Valores, donde aparece "Agregar campos de datos aquí.

    Captura de pantalla que muestra arrastrar a agregar campos de datos aquí.

    En función de lo que seleccione, el editor de scripts de Python genera el siguiente código de enlace.

    • El editor crea una trama de datos del conjunto de datos con los campos que agrega.
    • La agregación predeterminada es: No resumir.
    • Como sucede con los objetos visuales de tabla, los campos se agrupan y las filas duplicadas aparecen solo una vez.
  4. Con la trama de datos generada automáticamente por los campos seleccionados, puede escribir un script de Python que genere un trazado en el dispositivo predeterminado de Python. Una vez completado el script, seleccione el icono Ejecutar de la barra de título del editor de scripts de Python para ejecutar el script y generar el objeto visual.

    Captura de pantalla que muestra el editor de scripts de Python con comentarios iniciales.

Sugerencias

  • El script de Python solo puede usar los campos que se agreguen a la sección Valores. Puede agregar o quitar campos mientras trabaja en su script de Python. Power BI Desktop detecta automáticamente los cambios en los campos. Al seleccionar o quitar campos de la sección Valores, el código auxiliar del editor de scripts de Python se genera o elimina de forma automática.

  • En algunos casos, puede que no quiera que se produzca una agrupación automática o que quiera que aparezcan todas las filas, incluso las duplicadas. En esos casos, puede agregar un campo de índice al conjunto de datos que haga que todas las filas se consideren únicas y que evite la agrupación.

  • Puede acceder a las columnas del conjunto de datos usando sus nombres. Por ejemplo, puede codificar dataset["Age"] en el script de Python para acceder al campo de edad.

  • Power BI Desktop vuelve a trazar el objeto visual cuando selecciona Ejecutar en la barra de título del editor de scripts de Python, o cuando se produce un cambio de datos debido a la actualización de datos, al filtrado o al resaltado.

  • Al ejecutar un script de Python que genera un error, el objeto visual de Python no se traza y se muestra un mensaje de error en el lienzo. Para consultar los detalles del error, seleccione Ver detalles en el mensaje.

  • Para obtener una vista mayor de las visualizaciones, puede minimizar el editor de scripts de Python.

Creación de un gráfico de dispersión

Cree un gráfico de dispersión para ver si hay una correlación entre la edad y el peso.

  1. En el editor de scripts de Python, en Pegue o escriba aquí el código de script, introduzca este código:

    import matplotlib.pyplot as plt 
    dataset.plot(kind='scatter', x='Age', y='Weight', color='red')
    plt.show() 
    

    El panel del editor de scripts de Python debería tener la siguiente imagen:

    Captura de pantalla que muestra el editor de scripts de Python con comandos.

    El código importa la biblioteca Matplotlib, que traza y crea el objeto visual.

  2. Seleccione el botón Ejecutar para generar el siguiente gráfico de dispersión en el objeto visual de Python.

    Captura de pantalla que muestra la visualización del gráfico de dispersión generada a partir del script de Python.

Creación de un gráfico de líneas con varias columnas

Cree un gráfico de líneas para cada persona que muestre el número de hijos y mascotas.

  1. En Pegue o escriba el código de script aquí, quite o comente el código anterior y escriba el siguiente código de Python:

    import matplotlib.pyplot as plt 
    ax = plt.gca() 
    dataset.plot(kind='line',x='Fname',y='Children',ax=ax) 
    dataset.plot(kind='line',x='Fname',y='Pets', color='red', ax=ax) 
    plt.show() 
    
  2. Seleccione el botón Ejecutar para generar el siguiente trazado de líneas con varias columnas:

    Captura de pantalla que muestra un trazado de líneas con varias columnas del script de Python.

Creación de un gráfico de barras

Cree un gráfico de barras para la edad de cada persona.

  1. En Pegue o escriba el código de script aquí, quite o comente el código anterior y escriba el siguiente código de Python:

    import matplotlib.pyplot as plt 
    dataset.plot(kind='bar',x='Fname',y='Age') 
    plt.show() 
    
  2. Seleccione el botón Ejecutar para generar el siguiente trazado de barras:

    Captura de pantalla que muestra un trazado de barras del script de Python.

Limitaciones

Los objetos visuales de Python en Power BI Desktop tienen las limitaciones siguientes:

  • Los datos que usa el objeto visual de Python para el trazado están limitados a 150 000 filas. Si se seleccionan más de 150.000 filas, solo se usan las primeras 150.000 y aparece un mensaje en la imagen. Los datos de entrada también tienen un límite de 250 MB.

  • Si el conjunto de datos de entrada de un objeto visual de Python tiene una columna en la que hay un valor de cadena de más de 32.766 caracteres, ese valor se trunca.

  • Todos los objetos visuales de Python se muestran en resolución de 72 PPP.

  • Si el cálculo de un objeto visual de Python supera los cinco minutos, se agota el tiempo de espera de ejecución y se genera un error.

  • Al igual que con otros objetos visuales de Power BI Desktop, si selecciona campos de datos de tablas diferentes sin ninguna relación definida entre ellos, se produce un error.

  • Los objetos visuales de Python se actualizan al actualizar, filtrar y resaltar datos. La propia imagen no es interactiva.

  • Los objetos visuales de Python responden al resaltado de elementos en otros objetos visuales, pero no puede seleccionar elementos del objeto visual de Python para aplicar un filtro cruzado a otros elementos.

  • Solo los trazados con el dispositivo de pantalla predeterminado de Python se muestran correctamente en el lienzo. Evite usar explícitamente otro dispositivo de pantalla de Python.

  • Los objetos visuales de Python no admiten el cambio de nombre de las columnas de entrada. Se hace referencia a las columnas por sus nombres originales durante la ejecución del script.

Seguridad

Los objetos visuales de Python usan scripts de Python, que podrían contener código que presente riesgos para la seguridad o la privacidad. Al intentar ver o interactuar con un objeto visual de Python por primera vez, recibirá una advertencia de seguridad. Habilite los objetos visuales de Python únicamente si confía en el autor y en el origen, o bien tras revisar el script de Python y asegurarse de que lo comprende.

Licencias

Los objetos visuales de Python requieren una licencia de Power BI Pro o Premium por usuario (PPU) para poder representarse en informes, actualizarse, filtrarse y filtrarse de forma cruzada. Los usuarios gratuitos de Power BI solo pueden usar iconos compartidos con ellos en áreas de trabajo Premium.

En la siguiente tabla se describen las funcionalidades de los objetos visuales de Python según las licencias.

Creación de objetos visuales de Python en Power BI Desktop Creación de informes de servicio Power BI con objetos visuales de Python Visualización de objetos visuales de Python en informes
Invitado (Power BI Embedded) Compatible No compatible Solo se admite en la capacidad Premium/Azure
Inquilino no administrado (dominio no verificado) Compatible No compatible No compatible
Inquilino administrado con licencia gratuita Compatible No compatible Admitido solo en capacidad Premium
Inquilino administrado con licencia Pro o PPU Compatible Admitido Compatible

Para obtener más información sobre las licencias de Power BI Pro y cómo se diferencian de las licencias gratuitas, consulte Comprar y asignar licencias de usuario de Power BI Pro.

Este tutorial es apenas una muestra de las opciones y capacidades para crear informes visuales mediante Python, Pandas y la biblioteca de Matplotlib. Para obtener más información, consulte los siguientes recursos:

Para más información sobre Python en Power BI, vea lo siguiente: