Transmisión en tiempo real en Power BI

Power BI con el streaming en tiempo real ayuda a transmitir datos y actualizar paneles en tiempo real. Cualquier objeto visual o panel creado en Power BI puede mostrar y actualizar datos en tiempo real y objetos visuales. Los dispositivos y orígenes de datos de transmisión pueden ser sensores de fábrica, orígenes de medios sociales, métricas de uso del servicio y muchos otros elementos a partir de los cuales se puedan recopilar o transmitir datos dependientes del tiempo.

En este artículo se muestra cómo configurar y usar modelos semánticos de transmisión en tiempo real en Power BI.

Screenshot of the Environmental sensors dashboard, showing the results of the data in real-time.

Tipos de modelos semánticos en tiempo real

Primero, es importante entender los tipos de modelos semánticos en tiempo real que están diseñados para mostrarse en los iconos (y paneles) y la diferencia entre estos conjuntos de datos.

Los siguientes tres tipos de modelos semánticos en tiempo real están diseñados para mostrarse en los paneles en tiempo real:

  • Modelo semántico de inserción
  • Modelo semántico de transmisión
  • Modelo semántico de transmisión de PubNub

En esta sección se explica en que varían estos modelos semánticos. En secciones posteriores se describe cómo insertar datos en cada uno de estos modelos semánticos.

Modelo semántico de inserción

Con un modelo semántico de inserción, los datos se insertan en el servicio Power BI. Cuando se crea el modelo semántico, el servicio Power BI crea automáticamente una nueva base de datos en el servicio para almacenar los datos.

Dado que hay una base de datos subyacente que almacena los datos a medida que llegan, puede crear informes con los datos. Estos informes y sus objetos visuales son igual que cualquier otro objeto visual de informe. Puede usar todas las características de creación de informes de Power BI, como objetos visuales de Power BI, alertas de datos e iconos de panel anclados.

Una vez creado un informe mediante el modelo semántico de inserción, puede anclar cualquiera de los objetos visuales de informe a un panel. En el panel de control, los objetos visuales se actualizan en tiempo real siempre que se actualizan los datos. En el servicio Power BI, el panel desencadena una actualización de los iconos cada vez que se reciben nuevos datos.

Hay dos factores a tener en cuenta acerca de los iconos anclados desde un modelo semántico de inserción:

  • Anclar un informe completo con la opción Anclar elemento activo no hará que los datos se actualicen automáticamente.
  • Una vez que haya anclado un objeto visual a un panel, podrá usar Q&A para formular preguntas sobre el modelo semántico de inserción en lenguaje natural. Después de realizar una consulta en Q&A, puede anclar el objeto visual resultante al panel y ese objeto visual también se actualizará en tiempo real.

Modelo semántico de transmisión

Con un modelo semántico de transmisión los datos también se insertan en el servicio Power BI, pero con una diferencia importante: Power BI solo almacena los datos en una caché temporal, que expira rápidamente. La caché temporal solo se usa para mostrar los objetos visuales que tienen algún historial transitorio, por ejemplo, un gráfico de líneas que tiene un período de tiempo de una hora.

Un modelo semántico de transmisión no tiene una base de datos subyacente, por lo que no puede crear objetos visuales de informe con los datos que fluyen desde la transmisión. Por tanto, no se pueden usar funciones de informes, como filtrado, objetos visuales de Power BI, etc.

La única manera de visualizar un modelo semántico de transmisión es agregar un icono y usar el modelo semántico de transmisión como un origen de datos de transmisión personalizados. Los iconos de transmisión personalizados que se basan en un modelo semántico de transmisión están optimizados para mostrar rápidamente los datos en tiempo real. Hay poca latencia entre el momento en que se insertan los datos en el servicio Power BI y el momento en que se actualiza el objeto visual, ya que no es necesario insertar o leer los datos desde una base de datos.

En la práctica, es mejor usar modelos semánticos de transmisión y sus objetos visuales de transmisión complementarios en situaciones en las que es fundamental minimizar la latencia entre insertar y visualizar los datos. Los datos insertados deben estar en un formato que se pueda visualizar tal cual, sin agregar nada. Algunos ejemplos de datos que están listos tal cual son las temperaturas y las medias previamente calculadas.

Modelo semántico de transmisión de PubNub

Con un modelo semántico de transmisión de PubNub, el cliente web de Power BI usa el SDK de PubNub para leer un flujo de datos de PubNub existente. El servicio Power BI no almacena ningún dato. Dado que el cliente web realiza esta llamada directamente, si solo permite tráfico saliente aprobado desde su red, debe mostrar el tráfico a PubNub como permitido. Para instrucciones, consulte el artículo de soporte técnico sobre la aprobación del tráfico saliente de PubNub.

Al igual que con el modelo semántico de transmisión, con el modelo semántico de transmisión de PubNub no hay ninguna base de datos subyacente de Power BI. No se pueden crear objetos visuales de informe con los datos que fluyen y no se puede usar la funcionalidad de informes, como el filtrado o los objetos visuales de Power BI. El modelo semántico de transmisión de PubNub solo se puede visualizar si se agrega un icono al panel y se configura un flujo de datos de PubNub como origen.

Los iconos basados en un modelo semántico de transmisión de PubNub están optimizados para mostrar rápidamente los datos en tiempo real. Como Power BI está conectado directamente con el flujo de datos de PubNub, hay poca latencia entre que se insertan los datos en el servicio Power BI y se actualiza el objeto visual.

Matriz del modelo semántico de transmisión

En la tabla siguiente se describen los tres tipos de modelos semánticos de transmisión en tiempo real y se enumeran sus funcionalidades y limitaciones.

Funcionalidad Inserción Streaming PubNub
Los iconos del panel se actualizan en tiempo real a medida que se insertan datos Sí.
Para objetos visuales creados por medio de informes y, luego, anclados al panel.
Sí.
Para iconos de streaming personalizados agregados directamente al panel.
Sí.
Para iconos de streaming personalizados agregados directamente al panel.
Actualización de iconos de panel con animaciones fluidas No. Sí. Sí.
Datos almacenados permanentemente en Power BI para el análisis histórico Sí. No.
Los datos se almacenan temporalmente durante una hora para representar objetos visuales.
No.
Compilación de informes de Power BI a partir de los datos Sí. No. No.
Velocidad máxima de ingesta de datos 1 solicitud
16 MB por solicitud
5 solicitudes
15 KB por solicitud
N/D
Los datos no se insertan en Power BI.
Límites en el rendimiento de los datos 1 millón de filas por hora Ninguno. N/D
Los datos no se insertan en Power BI.

Inserción de datos en modelos semánticos

En esta sección se describe cómo crear e insertar datos en los tres tipos principales de modelos semánticos en tiempo real que puede usar en transmisión en tiempo real.

Puede insertar datos en un modelo semántico mediante los métodos siguientes:

  • Las API REST de Power BI
  • Interfaz de usuario del modelo semántico de transmisión de Power BI
  • Azure Stream Analytics

Uso de las API REST de Power BI para insertar datos

Las API de REST de Power BI se pueden usar para crear y enviar datos a modelos semánticos de inserción y modelos semánticos de transmisión. Cuando se crea un modelo semántico mediante las API de REST de Power BI, la marca defaultMode especifica si el modelo semántico es de inserción o de transmisión.

Si no se establece ninguna marca defaultMode, el modelo semántico tiene como valor predeterminado un modelo semántico de inserción. Si el valor defaultMode se establece en pushStreaming, el modelo semántico es un modelo semántico de inserción y transmisión y proporciona las ventajas de ambos tipos de modelo semántico.

Nota:

Cuando se usan modelos semánticos con la marca defaultMode establecida en pushStreaming, si una solicitud supera la restricción de tamaño de 15 kB para un modelo semántico de transmisión, pero es menor que la restricción de tamaño de 16 MB de un modelo semántico de inserción, la solicitud se realiza correctamente y los datos se actualizarán en el modelo semántico de inserción. Sin embargo, los iconos de streaming generan un error temporal.

Una vez creado un modelo semántico, puede usar las API de REST PostRows para insertar datos. Todas las solicitudes a las API de REST se protegen mediante el uso de OAuth de Microsoft Entra ID.

Uso de la interfaz de usuario del modelo semántico de transmisión para insertar datos

Para crear un modelo semántico en el servicio Power BI, use el enfoque de API, tal y como se muestra en la siguiente captura de pantalla:

Screenshot of the New streaming semantic model choices, showing the API selection.

Al crear el nuevo modelo semántico de transmisión, puede habilitar Análisis del historial de datos, como se muestra en la captura de pantalla siguiente. Esta selección tiene un efecto significativo.

Screenshot of the New streaming semantic model, showing Historic data analysis enabled.

Cuando Análisis del historial de datos está deshabilitado, y lo está de forma predeterminada, se crea un modelo semántico de transmisión, tal y como se describió anteriormente. Cuando se habilita el análisis de datos históricos, el modelo semántico que se crea se convierte en un modelo semántico de transmisión y en un modelo semántico de inserción. Esta configuración equivale a usar las API REST de Power BI para crear un modelo semántico con su defaultMode establecido en pushStreaming, tal y como se describió anteriormente.

Nota:

Los modelos semánticos de transmisión creados mediante la interfaz de usuario de servicio Power BI no requieren la autenticación de Microsoft Entra. En estos modelos semánticos, el propietario del modelo semántico recibe una dirección URL con una clave de fila, que autoriza al solicitante a insertar datos en el modelo semántico sin usar un token de portador OAuth de Microsoft Entra ID. Sin embargo, el enfoque de Microsoft Entra ID sigue funcionando para insertar datos en el modelo semántico.

Uso de Azure Stream Analytics para insertar datos

Puede agregar Power BI como una salida en Azure Stream Analytics y luego visualizar esos flujos de datos en el servicio Power BI en tiempo real. En esta sección se describen los detalles técnicos de ese proceso.

Azure Stream Analytics usa las API REST de Power BI para crear su flujo de datos de salida en Power BI, con defaultMode establecido en pushStreaming. El modelo semántico resultante puede ser de inserción y de transmisión. Cuando se crea el modelo semántico, Azure Stream Analytics establece la marca retentionPolicy en basicFIFO. Con esa configuración, la base que admite el modelo semántico de inserción almacena 200 000 filas y va descartando filas siguiendo el orden primero en entrar, primero en salir (FIFO).

Importante

Si la consulta de Azure Stream Analytics produce una salida muy rápida a Power BI (por ejemplo, una o dos veces por segundo), Azure Stream Analytics empieza a procesar esas salidas por lotes en una sola solicitud. Este procesamiento por lotes puede provocar que el tamaño de la solicitud supere el límite del icono de streaming y que los iconos de streaming no se representen. En este caso, el procedimiento recomendado es ralentizar la velocidad de salida de datos en Power BI. Por ejemplo, en lugar de un valor máximo cada segundo, solicite un valor máximo durante 10 segundos.

Configuración del modelo semántico de transmisión en tiempo real en Power BI

Para empezar a trabajar con streaming en tiempo real, debe elegir una de las dos formas en las que se pueden utilizar los datos de streaming en Power BI:

  • Iconos con objetos visuales de datos de streaming.
  • Modelos semánticos creados a partir de los datos de transmisión que persisten en Power BI

Con cualquiera de estas opciones, debe configurar los datos de streaming en Power BI. Para que el modelo semántico de transmisión en tiempo real funcione en Power BI:

  1. En un panel existente o nuevo, seleccione Agregar un icono.

  2. En la página Agregar un icono, seleccione Datos de transmisión personalizados y, luego, elija Siguiente.

    Screenshot of the Add a tile page, showing the Custom Streaming Data selection.

  3. En la página Agregar un icono de datos de transmisión personalizados, puede seleccionar un modelo semántico existente o elegir Administrar modelos semánticos para importar el modelos semántico de transmisión si ya ha creado uno. Si no ha configurado todavía los datos de transmisión, seleccione Agregar modelo semántico de transmisión para comenzar.

    Screenshot of the dashboard, showing the Add streaming semantic model link in the Add a custom streaming data tile.

  4. En la página Nuevo modelo semántico de transmisión, seleccione API, Azure Stream o PubNub y, luego, elija Siguiente.

    Screenshot of the New streaming semantic model choices, showing API, Azure Stream, and PubNub options.

Creación de un modelo semántico de transmisión

Hay tres maneras de crear una fuente de datos de streaming en tiempo real que Power BI pueda consumir y visualizar:

  • API de REST de Power BI con un extremo de transmisión en tiempo real
  • Azure Stream
  • PubNub

En esta sección se describen las opciones API de REST y PubNub de Power BI y se explica cómo crear un icono de transmisión o un modelo semántico a partir del origen de datos de transmisión. Después, puede usar el modelo semántico para crear informes. Para más información sobre la opción Azure Stream, consulte Salida de Power BI desde Azure Stream Analytics.

Uso de la API REST de Power BI

La API REST de Power BI facilita a los desarrolladores el streaming en tiempo real. Después de seleccionar API en la pantalla Nuevo modelo semántico de transmisión y seleccionar Siguiente, puede proporcionar entradas que permitan a Power BI conectarse al punto de conexión y usarlo. Para más información sobre la API, consulte Uso de las API REST de Power BI.

Screenshot of the New streaming semantic model dialog, showing the Power BI REST API entries for a connection.

Si quiere que Power BI almacene los datos que envía este flujo de datos, de forma que pueda realizar informes y análisis sobre los datos recopilados, habilite Análisis del historial de datos.

Después de crear correctamente el flujo de datos, obtendrá un punto de conexión de dirección URL de la API REST. La aplicación puede llamar al punto de conexión mediante solicitudes POST para insertar los datos de transmisión en el modelo semántico de Power BI. En las solicitudes POST, asegúrese de que el cuerpo de la solicitud coincida con el archivo JSON de ejemplo que proporcionó la interfaz de usuario de Power BI. Por ejemplo, ajuste los objetos JSON en una matriz.

Precaución

En el caso de los modelos semánticos de transmisión creados mediante la interfaz de usuario del servicio Power BI, el propietario del modelo semántico recibe una dirección URL que incluye una clave de recurso. Esta clave autoriza al solicitante a insertar datos en el modelo semántico sin usar un token de portador de OAuth de Microsoft Entra ID. Cuando trabaje con este tipo de modelo semántico y método, tenga en cuenta las implicaciones de tener una clave secreta en la dirección URL.

Uso de PubNub

La integración del streaming de PubNub con Power BI le ayuda a crear y usar los flujos de datos de PubNub de baja latencia en Power BI. Al seleccionar PubNub en la pantalla Nuevo modelo semántico de transmisión y seleccionar Siguiente, verá la siguiente pantalla:

Screenshot of the New streaming semantic model dialog, showing the PubNub entries for connection.

Importante

Puede proteger los canales PubNub mediante una clave de autenticación de PubNub Access Manager (PAM). Esta clave se comparte con todos los usuarios que tengan acceso al panel. Para más información sobre el control de acceso de PubNub, consulte Administración del acceso.

Los flujos de datos de PubNub suelen ser de alto volumen y no son siempre adecuados en su forma original para el almacenamiento y el análisis histórico. Para usar Power BI para el análisis histórico de los datos de PubNub, debe agregar la secuencia PubNub sin procesar y enviarla a Power BI, por ejemplo, mediante Azure Stream Analytics.

Ejemplo de streaming en tiempo real en Power BI

Este es un ejemplo rápido de cómo funciona el streaming en tiempo real de Power BI. En este ejemplo se usa una secuencia disponible públicamente en PubNub. Siga el ejemplo para ver el valor del streaming en tiempo real por sí mismo.

  1. En el servicio Power BI, seleccione o cree un nuevo panel. En la parte superior de la pantalla, seleccione Editar>Agregar un icono.

  2. En la pantalla Agregar un icono, seleccione Datos de streaming personalizados y, luego, elija Siguiente.

    Screenshot of the dashboard, showing the Add tile with the Custom streaming data selection.

  3. En la página Agregar un icono de datos de transmisión personalizados, seleccione Agregar modelo semántico de transmisión.

    Screenshot of the dashboard, showing the Add streaming semantic model link in the Add a custom streaming data tile.

  4. En la página Nuevo modelo semántico de transmisión, seleccione API y, luego, elija Siguiente.

  5. En la pantalla siguiente, escriba un nombre para el modelo semántico, escriba los siguientes valores en los dos campos siguientes y, luego, elija Siguiente.

    • Subclave:sub-c-99084bc5-1844-4e1c-82ca-a01b18166ca8
    • Nombre del canal:pubnub-sensor-network

    Screenshot of the New streaming semantic model dialog, showing how to create a Semantic model name and entries in the Sub-key and Channel name fields.

  6. En la pantalla siguiente, mantenga los valores rellenados automáticamente y seleccione Crear.

    Screenshot of the New streaming semantic model dialog, showing defaults for the Semantic model name and Values from stream fields.

  7. De nuevo en el área de trabajo de Power BI, cree un nuevo panel y, en la parte superior de la pantalla, seleccione Editar>Agregar un icono.

  8. Seleccione Datos de transmisión personalizados y, luego, elija Siguiente.

  9. En la página Agregar un icono de datos de transmisión personalizados, seleccione el nuevo modelo semántico de transmisión y, luego, elija Siguiente.

    Juega con el modelo semántico de ejemplo. Al agregar campos de valor a gráficos de líneas y agregar otros iconos, puede obtener un panel en tiempo real parecido a la siguiente captura de pantalla:

    Screenshot of the Environmental sensors dashboard, showing the results in real-time.

Después, cree sus propios modelos semánticos y transmita datos en directo a Power BI.

Preguntas y respuestas

Estas son algunas preguntas habituales y sus respuestas acerca del streaming en tiempo real en Power BI.

¿Puede usar filtros en modelos semánticos de inserción o de transmisión?

Los modelos semánticos de transmisión no admiten el filtrado. En los modelos semánticos de inserción, puede crear un informe, filtrarlo y, después, anclar los objetos visuales filtrados a un panel. Sin embargo, no hay ninguna manera de cambiar el filtro en el objeto visual una vez que se encuentra en el panel.

También puede anclar el icono de informe activo al panel por separado y así cambiar los filtros. Sin embargo, los iconos de informes activos no se actualizarán en tiempo real, ya que los datos se insertan. Para actualizar manualmente el objeto visual, seleccione el icono Actualizar situado en la parte superior derecha de la página del panel.

Cuando se aplican filtros a modelos semánticos de inserción que tienen campos DateTime con precisión de milisegundos, no se admiten operadores de equivalencia. Los operadores, como mayor que > o menor que < funcionan correctamente.

¿Cómo se puede ver el valor más reciente en modelos semánticos de inserción o de transmisión?

Los modelos semánticos de transmisión están diseñados para mostrar los datos más recientes. Puede usar el tipo de objeto visual de streaming Tarjeta para ver fácilmente los valores numéricos más recientes. Los objetos visuales de tarjeta no admiten tipos de datos DateTime ni Text.

Para los modelos semánticos de inserción, cuando tenga una marca de tiempo en el esquema, puede intentar crear un objeto visual de informe con el filtro last N.

¿Cómo se puede realizar el modelado en modelos semánticos en tiempo real?

El modelado no es posible en un modelo semántico de transmisión porque los datos no se almacenan permanentemente. Para los modelos semánticos de inserción, puede usar la API de REST de creación de modelos semánticos para crear un modelo semántico con relación y medidas, y usar las API de REST de actualización de tablas para agregar medidas a las tablas existentes.

¿Cómo se borran todos los valores de un modelo semántico de inserción o de transmisión?

En un modelo semántico de inserción, puede usar la llamada de API de REST para eliminar filas. No hay ninguna manera de borrar los datos de un modelo semántico de transmisión, si bien los datos se borrarán automáticamente transcurrida una hora.

Si configura una salida de Azure Stream Analytics hacia Power BI pero no la ve en Power BI. ¿Cuál es el problema?

Siga estos pasos para solucionar el problema:

  1. Reinicie el trabajo de Azure Stream Analytics.
  2. Intente volver a autorizar la conexión de Power BI en Azure Stream Analytics.
  3. Asegúrese de que comprueba la misma área de trabajo del servicio Power BI que especificó para la salida de Azure Stream Analytics.
  4. Asegúrese de que la consulta de Azure Stream Analytics genera explícitamente la salida de Power BI mediante la palabra clave INTO.
  5. Determine si el trabajo de Azure Stream Analytics tiene datos que fluyen por él. El modelo semántico solo se crea cuando se transmiten los datos.
  6. Examine el registro de Azure Stream Analytics para ver si hay advertencias o errores.

Actualización automática de páginas

Puede usar la actualización automática de páginas a nivel de página de informe para establecer un intervalo de actualización para los objetos visuales que solo esté activo cuando la página se esté usando. La actualización automática de páginas solo está disponible en orígenes de datos de DirectQuery. El intervalo de actualización mínimo depende del tipo de área de trabajo en la que el informe se publica y de la configuración de administración de capacidad de las áreas de trabajo Premium.

Para más información acerca de la actualización automática de páginas, consulte Actualización automática de páginas en Power BI.