Download - Dashboard en tiempo real con Power BI
Dashboard en tiempo real con Power
BI
Con Power BI es posible desarrollar dashboards que muestran datos en tiempo real. Los
dispositivos que emiten datos en tiempo real pueden ser sensores industriales, de
fabricación, redes sociales, medidores de datos, o cualquier otra fuente de emisión de
datos sensibles en el tiempo que pueda ser recolectado o transmitido.
Antes de continuar sobre como configurar fuentes de datos de tiempo real en Power BI,
es importante comprender que tipos de fuentes de datos podemos usar y como difieren
unas de otras.
Tipos de fuentes de datos en tiempo real
Existen 3 tipos de fuentes de datos de tiempo real que están diseñadas para visualizar:
Datos de inserción (Push dataset)
Datos de transmission (Streaming dataset)
Datos de transmission PubNub (PubNub streaming dataset)
Datos insertados
Con este Sistema, los datos son insertados en Power BI. Cuando los datos se crean, el
servicio de Power BI crea automáticamente una nueva base de datos donde almacena
dichos datos. Se pueden crear reportes y visualizaciones con la base de datos
subyacente a medida que continúa almacenando nuevos datos.
Una vez creado el reporte o dashboard usando este Sistema de datos insertados, este se
actualiza en tiempo real en tanto que los datos se actualizan, mostrando un menaje de
que se han actualizado nuevos datos.
Consideraciones sobre anclado de visualizaciones con datos insertados:
Anclar un reporte complete usando la opción ‘pin live page’ no hara que los datos se
actualicen automáticamente.
Una vez que una grafica este anclada en un dashboard, puede usar Q&A para preguntar
–usando lenguaje natural- sobre los datos. Una vez obtenida la visualización como
respuesta al Q&A, se puede anclar al dashboard, y también este se actualizará en
tiempo real.
Transmision de datos
Cuando los datos son transmitidos, tambien son insertados en el servicio de Power BI,
aunque con una importante diferencia: Power BI almacena los datos en un cache
temporal, con una pronta expiracion. El cache temporal solo es usado para mostrar los
datos por un espacio temporal, tales como una gráfica de línea con un espacio de 1
hora, por ejemplo.
Con este sistema, no hay una base de datos subyacente y no es posible elaborar
reportes con los datos que fluyen desde la transmisión. Esto significa que no se
disponen de funcionalidades tales como filtrado, customizacion visual y otras funciones.
La única manera de visualizar los datos transmitidos es agregar una gráfica y usar la
fuente de datos como custom streaming data. Las gráficas basadas en datos
transmitidos son optimizados para mostrar datos en tiempo real. Hay una baja latencia
entre los datos ingresados y los datos mostrados en la gráfica.
En la práctica, la transmisión de datos y sus visualizaciones son óptimos en situaciones
donde la baja latencia entre la generación de datos y la visualización es crítica, tales
como temperaturas, medias precalculada, etc…
Transmision de datos PubNub
Con transmission PubNub, el cliente de Power BI web usa el PubNub SDK para leer una
transmision existente PubNub, y los datos no son almacenados en el servicio de Power
BI.
Al igual que la anterior, no hay una base de datos subyacente, con lo que no se pueden
desarrollar graficas o reportes con sus funcionalidades completes. Por tanto, las gráficas
pueden agregarse al dashboard y configurar un PubNub data stream como fuente.
Igualmente, las gráficas están optimizadas para mostrar datos de baja latencia ente la
generación de datos y la visualización de los mismos.
Inserción de datos en bases de datos
Después de haber descrito los 3 tipos de bases de datos en tiempo real y sus
características; en esta sección describimos como crear e insertar esos datos en las bases
de datos.
There are three primary ways you can push data into a dataset:
Existen 3 tipos principales para insertar datos en una base de datos:
Usando el Power BI REST APIs
Usando el Streaming Dataset UI
Usando Azure Stream Analytics
Usando Power BI REST APIs
Cuando se crea un conjunto de datos usando Power BI REST APIs, el defaultModeflag
indica si el conjunto de datos es tipo insertado (push) o transmision (streaming).
Si defaultMode no esta seleccionado, el modo por defecto es insertado (push).
Si el valor defaultMode esta en modo pushStreaming, el conjunto de datos esta tanto
en push como streaming, con los beneficios de ambos tipos. El articulo sobre REST
API article for Create dataset muestra como funciona el modo defaultMode.
Nota: Cuando se usan conjuntos de datos defaultMode en modo pushStreaming, si la
solicitud excede la restricción de tamaño 15Kb de unos datos streaming, pero es menor a
16MB para unos datos push, la solicitud será exitosa. Sin embargo, algunas graficas
pueden mostrar errores.
Puede ver este artículo sobre cómo usar el REST APIs para insertar datos Add rows API.
Todas las solicitudes a los REST APIs están asegurados usando Azure AD OAuth.
Usando el Streaming Dataset UI para insertar datos
En el servicio de Power BI, se puede crear un conjunto de datos selccionando el API, tal
como se muestra en la imagen
Cuando se crea un conjunto de datos transmitidos (streaming), se puede seleccionar
Historic data analysis, como se muetra a continuación
Cuando se active esta funcion, el conjunto de datos creado como transmitido
(streaming) tambien se activa como insertado (push). Lo que quiere decir que usando el
Power BI REST APIs para crear un conjunto de datos como defaultMode como
pushStreaming.
Nota: Para transmisión de datos usando el Power BI service UI, la autenticación de Azure
AD no es requerida. El usuario recibe un URL con un rowkey que autoriza al peticionario a
insertar datos en el conjunto de datos usando el Azure AD OAuth token.
Usando Azure Stream Analytics para insercion de datos
Es posible conectar Power BI a Azure Strean Analytics (ASA) para visualizar el flujo de
datos en tiempo real. En esta sección veremos cómo se puede hacer esto.
Azure Strean Analytics usa el REST APIs de Power BI para crear salida de datos hacia
Power BI seleccionando pushStreaming en defaultMode, y cuyo conjunto de datos se
beneficia de ambas funciones push y streaming. Durante la creación del grupo de
datos, la base de datos almacena 200,000 líneas, y si se supera ese límite se van
liberando líneas en modo first-in-first-out (FIFO). Esto significa que se irán liberando
comenzando por las líneas / registros que primero entraron.
Advertencia: si las consultas de Azure Stream Analytics se ejecutan con rapidez en Power
BI (por ejemplo 2 veces por segundo), es que esta ejecutando por lotes (batching). Puede
ser debido a que el lote exceda el límite que la gráfica puede mostrar y no se muestre. En
estos casos es recomendable reducir el ratio de salida a Power BI; por ejemplo, de salidas
por segundo a salidas por cada 10 segundos.
Configurar el suministro de datos en tiempo
real en Power BI
Para comenzar el flujo de datos en tiempo real en Power BI, hay que seleccionar una de
las dos formas que dichos datos seran usados:
Paneles con visulizaciones de flujo de datos
Grupos de datos creados con flujos de datos que se almacenan en Power BI
Con cualquiera de las opciones es necesario seleccionar Streaming data en Power BI.
Para esto, en su dashboard (existente o nuevo) selecciones Add a tile y luego Custom
streaming data.
Si no tiene seleccionado o configurado ‘streaming data’, no se preocupe, puede
seleccionar manage data para inicarlo.
En esta pagina se puede seleccionar el punto final del flujo de datos. Si no tiene
seleccionado su flujo de datos, puede hacerlo en el signo “+” en la esquina superior
derecha.
Al seleccionar el icono +, se despliegan 2 opciones para selccionar su flujo de datos: API;
y PUBNUB.
Crear flujo de datos con la mejor opcion
Como hemos visto, hay 2 formas de crear un flujo de datos para construir
visualizaciones en Power BI:
Power BI REST API usando flujo de punto final en tiempo real
PubNub
Usando POWER BI REST API
Power BI REST API – las recientes mejoras al REST API de Power BI se enfocaron para
hacer que el flujo en tiempo real sea mas sencillo para desarrolladores.
Si quiere que Power BI almacene los datos que son enviados a traves del flujo de datos,
active Historic data analysis. Puede aprender más sobre los API.
Una vez creado el flujo de datos, se le suministra un REST API URL de punto final que
puede ser llamado por su aplicación usando una POST consulta para insertar datos al
flujo que ha creado en Power BI.
Cuando realiza un POST consulta, debe asegurarse que el cuerpo de la consulta coincide
con la muestra JSON facilitada en la interfaz de usuario de Power BI.
Usando PubNub
PubNub le permite un flujo de baja latencia en Power BI. Una vez seleccionado
PubNub, y hace click en Next, vera la siguiente ventana:
Atención: los canales de PubNub pueden asegurarse usando una clave de autenticacion
PubNub Access Manager (PAM). Esta clave será compartida con los usuarios que tienen
acceso al dashboard. Puede aprender mas sobre el control de acceso de PubNub.
Para usar análisis de históricos con datos PubNub, tendrá que agregar el flujo de
PubNub y enviarlo a Power BI. Una manera de hacerlo es con Azure Stream Analytics.
Ejemplo de flujo de datos en tiempo real en
Power BI
En este ejemplo usaremos flujos de datos públicos de PubNub. Estos son los pasos:
1. En Power BI service, seleccione o cree un dashboard y seleccione Add tile > Custom
Streaming Data y luego presione Next
2. Si no tiene seleccionada la fuente de datos, seleccione manage data (sobre el boton
Next) y seleccione + Add streaming data desde el enlace de la parte superior derecha
de la ventana. Seleccione PubNub y haga click en Next.
3. Seleccione un nombre para sus datos, y pegue la clave que aparece en la ventana, y
seleccione Next:
Subscribe key: sub-c-5f1b7c8e-fbee-11e3-aa40-02ee2ddab7fe
Channel: pubnub-sensor-network
4. En la siguiente ventana, seleccione los valores por defecto, y haga click en Create.
5. De vuelta a su espacio de trabajo de Power BI, cree un Nuevo dashboard y agregue un
panel. En esta ocasión, cuando cree un panel seleccione Custom Streaming Data, ya
que su flujo de datos esta listo para operar. Pude agregar varios gráficos, como por
ejemplo:
Adelante, y cree sus propios dashboards en tiempo real.