En este post os queremos explicar cómo montar una solución de BI corporativa con muy pocos recursos, de ahí el título “low cost”. También nos va a servir para solucionar un problema muy común: ya estamos utilizando Power BI Service y tenemos muchos datasets repetidos o, peor aún, parecidos (ausencia de la única versión de la verdad). Para ello vamos hacer uso de la utilidad de “Shared Datasets” que nos ofrece Power BI desde Junio de 2019.
Cuando hablamos de solución de BI corporativa, nos referimos a que vamos a disponer de un datawarehouse, o repositorio donde tendremos centralizados los datos de nuestro negocio; y de un modelo analítico que contendrá los indicadores y KPI para que los usuarios de negocio (o IT según enfoque) puedan generar los informes y paneles. Este sería un diagrama de flujo de una arquitectura genérica para una solución de BI corporativa:
Lo que queremos conseguir es un modelo de datos centralizado, el cual vendría a suplir a un servidor de Analysis Services, y ponerlo a disposición de los diseñadores de informes en un portal de BI/reporting, Power BI Service en nuestro caso.
Shared Dataset
Con la utilidad de Shared dataset queremos lograr un dataset centralizado y que se establezca como único origen para todos los reports que se generen:
Sería el equivalente a un cubo en un servidor de Analysis Services.
Overview de la solución
Partimos de que ya tenemos un proceso ETL que carga un datawarehouse. Nos faltaría por implementar nuestro modelo analítico y publicarlo, de forma centralizada, en Power BI Service. En el siguiente diagrama mostramos las piezas que componen nuestra solución:
- Paso 1: Vamos a necesitar un usuario (data modeler) que construya el modelo de datos haciendo uso de Power BI Desktop.
- Paso 2: El usuario modelador de datos, publicará el dataset en un workspace y lo configurará para darle acceso a los usuarios que diseñen informes, tal y como podéis observar en la siguiente imagen:
- Paso 3: Un usuario encargado de diseñar informes y paneles, se conectará a este dataset y podrá publicar el informe en otro workspace, por ejemplo, Market Workspace; y finalmente, podrán compartirlo con usuarios finales haciendo uso de una App. Desde Power BI Desktop nos podremos conectar al shared dataset para diseñar el informe:
A continuación, podremos publicarlo en un workspace existente:
En el workspace sólo nos aparecerá el report, no habrá dataset. Sin embargo, si hacemos click en View lineage, podremos ver que el origen es el modelo de datos centralizado que hemos creado en los anteriores pasos:
A tener en cuenta
La solución de BI que acabamos de montar, necesita licencias Pro para todos los tipos de usuarios (data modeler, report creator y usuarios consumidores). Los recursos de procesamiento de datos y renderización de reports de nuestro tenant nos los asignará Microsoft. Estos recursos básicamente son:
- Memoria RAM: donde estará alojado nuestro modelo analítico y llegarán las consultas que generen los gráficos. Si nuestro modelo analítico pesa 1Gb, ocupará ese tamaño en memoria.
- Backend v-cores: encargados de resolver las consultas que se generen sobre el modelo de datos.
- Frontend v-cores: encargados de “renderizar” los gráficos.
Si los recursos no son suficientes, por ejemplo, superamos la limitación del tamaño del dataset o el rendimiento es pobre porque hay muchos usuarios conectados, entonces tendremos que pensar en Power BI Premium y contratar la capacidad de acuerdo a los recursos que necesitemos: https://docs.microsoft.com/en-us/power-bi/admin/service-premium-what-is#capacity-nodes
En este enlace tenemos la tabla comparativa de Premium y Pro: https://powerbi.microsoft.com/es-es/pricing/#powerbi-comparison-table
También sería otra opción válida montar un Analysis Services on prem o contratar Azure Analysis Services como el motor analítico.
Conclusión
Podemos montar con pocos recursos una solución de BI corporativa utilizando el Servicio de Power BI. como un servidor de Analysis Services y un portal de reporting simultáneamente. Esto atendiendo siempre al tamaño de la solución.
Hemos querido mostrar la agilidad y la potencia que tiene Power BI si entendemos bien las numerosas piezas que lo componen.
Finalmente, seguimos apostando por el datawarehouse y los modelos de datos centralizados como fuente única de los informes que se generen. En este blog hemos querido daros a entender que cualquier empresa, por pequeña que sea, puede montar una solución de BI corporativa.
Enlaces de interés
Mi compañera Marta ya nos explicó en un blog anterior como integrar en SSIS el refresco de un dataset tras la carga de un datawarehouse: https://blogvisionarios.com/es/sql-server/como-refrescar-un-dataset-de-power-bi-al-finalizar-el-proceso-de-etl/
Documentación oficial de Microsoft Get Data from Shared datasets: https://docs.microsoft.com/en-us/power-bi/connect-data/service-datasets-across-workspaces