944340475 comercial@k2sl.com

Si vas a usar Microsoft power bi para explotar los datos de Sage 200 o de cualquier otro origen de datos, hay que tener una serie de aspectos en cuenta que son importantes para su operativa. Si no tienes experiencia en power BI, es recomendable realizar algún curso de los muchos que existen. Recomiendo el de Ana María Bisbé York en linkedin

Tipos de conexión Importar vs Direct query

 

Lo primero que deberás elegir cuando te conectes a una base de datos, es la forma de conectarte. Hay dos opciones de conexión a los orígenes de datos.

Importar: es el mas común, que realiza una copia de los datos. La copia es estática hasta que se refresque el conjunto de datos. Los cálculos se realizan con gran rapidez. Es posible combinar consultas  de orígenes de datos diferentes. Todas las funcionalidades de Power BI están disponibles, trasformaciones desde Power query y el lenguaje DAX completo.

Direct query: se conecta directamente con la base de datos. No almacena los datos. Power BI se usa como herramienta de visualización. Solo permite un único origen de datos y tiene limitaciones en el modelado. No todas las funciones DAX están soportadas.

Recomendable seleccionar importar, para aprovechar toda la capacidad de Power BI. Las razones son que necesitaremos hacer trasformaciones en el modelo de datos para adaptarlo a nuestras necesidades, además que poder elegir entre varios orígenes de datos diferentes y vincular los datos.

 

Modelado de datos

En el modelado dimensional, hay tablas de hechos y dimensiones, o tablas de indicadores y búsquedas. Hay que evitar el tipo de modelo clásico de Excel, en la medida de lo posible, que es, en una misma tabla, estén todos los datos, tanto los de hechos como los de dimensiones.

Las bases de datos que manejan programas ERP, como SAGE 200, independientemente de la tecnología de la base de datos, son bases de datos relacionales normalizadas, enfocadas a eliminar redundancias e inconsistencias en el diseño.

 

Este tipo de modelos se denominan copo de nieve. El modelo relacional normalizado, donde existen tablas de búsqueda relacionas entre si que no apuntan a las tablas de hechos. Es ineficiente para Microsoft Power BI, porque sobran tablas, columnas y relaciones. Ocupan espacio en memoria y en disco.

Modelo copo de nieve

Bases de datos desnormalizadas

Un modelo de datos desnormalizado no es lo mismo que un modelo de datos que no ha sido normalizado, y la desnormalización se puede realizar después de que haya ocurrido un nivel satisfactorio de normalización y de que hayan sido creadas las restricciones y/o reglas requeridas para ocuparse de las anomalías inherentes en el diseño. La desnormalización es el proceso de procurar optimizar el funcionamiento de una base de datos por medio de agregar datos redundantes.

Este es el caso del modelo estrella, donde solo existe una tabla de hechos o dimensiones, y el resto (las de medidas o búsquedas)  están relacionadas a esta directamente.

De cara a manejar el conjunto de datos en power bi, hay que trasformar el modelo copo de nieve para convertirlo en un modelo estrella.

El modelo estrella es el adecuado para usarlo en Power bi, hay menos tablas, menos relaciones. Se simplifican los cálculos y mejora el rendimiento. 

Modelo estrella

Cardinalidad de datos.

Las relaciones entre las diferentes tablas, debe establecerse en función del rol que tenga cada uno. El lenguaje DAX ha sido creado, para calcular fórmulas de negocio sobre un modelo de datos compuesto por un conjunto de tablas vinculadas entre si, donde las tablas no tienen los mismos roles. En el modelo tabular el filtro debe ir del lado uno al lado muchos.

Las columnas clave deben tener valores únicos y no permite valores nulos. Las relacciones solo se pueden establecer por un campo, no se pueden hacer relaciones entre tablas por varios campos, como está diseñado SAGE 200, por ejemplo, donde muchas tablas se relacionan entre si usando varios campos clave. En este caso hay que solucionar el problema en la etapa de la consulta, configurando un único campo de relación.

Creación de la tabla de fechas o calendario

 

Power Bi tiene funciones de tiempo, para realizar comparativas y acumulados, para que funcione correctamente, necesitamos una tabla calendario, con un campo tipo fecha, con valores únicos y sin saltos. En lenguaje DAX la tabla se crea usando la función calendar. Es de la forma «calendario = calendar(date(fechainicial),date(fechafinal))»