Power BI 4 Modelar

Esta es la cuarta entrada de una serie más amplia: Busca la Serie Power BI

Volvemos a abrir nuestro Caso Práctico de Negocio en Power BI.

Y volvemos al Editor de Power Query.

Tengo interés en conocerte. Si quieres que te doy acceso a los ficheros de ejemplo:

    • La BBDD SQLyBI.bak
    • Y el CasoPowerBI 2.pbix, y las versiones siguientes.

Solo tienes que ponerte en contacto conmigo o dejar un comentario en la entrada, lo que prefieras.

Reducir dimensiones Artículo y Cliente

Esta es la situación inicial.

Entra a la pestaña del Modelo de Datos, marcado con un círculo rojo a la izquierda.

Si las tablas no están en esa posición las puedes arrastrar y mover cogiéndolas del encabezado y puedes cambiar su tamaño desde la esquina inferior derecha de cada tabla.

Tenemos un Modelo en Copo de Nieve con una tabla de Hechos en el centro (Facturas) y dos tablas de dimensiones (Artículos y Clientes) que a su vez se ramifican en otras, donde tenemos los nombres de los Colores, Familias para los Artículos y Sectores para los Clientes.

Queremos eliminar las ramificaciones para tener un Modelo en Estrella. Es decir que solo tengamos la tabla de Hechos en el centro (Facturas) y las dos tablas de dimensiones (Artículos y Clientes). Sin más ramificaciones. La captura siguiente es el resultado esperado.

Manos a la obra:

Comenzamos por la Tabla de Artículos, volvemos a entrar en el Editor de Power Query.

Esta es la tabla Artículos.

Hagamos una transformación rápida para cambiar el nombre de Familia a CodFamilia y de Color a CodColor, para que luego nos encajen los nombres.

Queremos que incluya, además de los códigos, los nombres de la Familia y del Color.

Para hacerlo solo tenemos que combinar con la tabla Familias, tal como hicimos con FacturasCab, te lo recuerdo en esta captura.

Aparece una nueva columna que tenemos que expandir, también te recuerdo cómo hacerlo.

Y el resultado es que aparece el campo Familia.

Repite el proceso para el Color y el resultado debería ser este:

Ahora y tal como hicimos en FacturasCab, con las tablas que no vamos a usar, quitamos el check Habilitar carga para que no pasen a Power BI.

Ya hemos acabado con la Tabla Artículos.

Te dejo que hagas lo mismo con la Tabla Clientes y el Sector.

Y finalmente puedes mover las Consultas, para agruparlas como quieras o incluso mejor ordenarlas en grupos, con el botón contrario sobre la tabla que quieras:

Cerrar y aplicar los cambios en el Editor de Power Query para volver a Power BI.

Así Queda nuestro modelo en Estrella por ahora.

Vamos a ponerle otra pata a la estrella.

Tabla de Fechas o Calendario, Dimensión tiempo

Necesitamos una tabla de fechas.

    • Para poder analizar las facturas de este año respecto al año anterior.
    • Para analizar venta en facturas de los últimos 12 meses desde hoy (TAM) Tasa Anual Móvil,
    • Para comparar mes a mes, etc.

La tabla de fecha se puede crear en PowerBI y contiene todos los días desde el 1 de enero del año de la factura más antigua hasta el 31 de diciembre del año de la factura más reciente.

Vamos a hacerlo, para ello vamos a crear una Nueva Tabla a partir de una expresión DAX.

Copias y pegas esto:

Calendario =
GENERATE (
CALENDAR(DATE(YEAR(MIN(Facturas[Fecha]));1;1);DATE(YEAR(MAX(Facturas[Fecha]));12;31));
VAR currentDay = [Date]
VAR ano = YEAR ( currentDay )
VAR Nmes = MONTH ( currentDay )
VAR Mes = FORMAT([Date];»mmmm»)
VAR NSemana = WEEKNUM(currentDay)
RETURN ROW (
«AñoMes»; mes & «-» & ano;
«Año»; ano;
«Nmes»; Nmes;
«Mes» ; Mes;
«NDiaSemana»; WEEKDAY(currentDay;2);
«DiaSemana»; FORMAT(currentDay;»dddd»)
))

Ya tenemos la nueva “pata” de nuestro modelo en Estrella.

La tarea de Modelar consiste en crear las tablas idóneas para nuestro modelo en Estrella, tal como acabamos de hacer.

Y crear las relaciones en el modelo que vamos a hacer ahora mismo.

Se trata de cambiar esas líneas rojas, pintadas en Photoshop en las capturas de pantalla, por las verdaderas relaciones, que serán tres, tantas como tablas de Dimensiones:

Artículos: CodArticulo con CodArticulo de Facturas
Clientes: CodCliente con CodCliente de Facturas
Calendario: Date con Fecha de Facturas

Para ello tenemos dos formas de hacerlo:

La primera arrastrando los campos de las tablas de Dimensiones a la tabla de Hechos (ver captura) Atención hay que dejar CodCliente justo encima de CodCliente.

La segunda es mediante la tabla de relaciones, pulsando en el Administrador de Relaciones (ver captura) donde podemos crear nuevas relaciones o bien editar o eliminar antiguas.

NOTA IMPORTANTE: No aconsejo detección automática de relaciones y además recomiendo comprobar SIEMPRE que las relaciones están correctamente creadas, es básico y clave para el resultado final del proyecto.

Finalmente, solo nos queda indicarle al Modelo que marque esta tabla como Tabla de Fechas y seleccionar la columna de Fecha Date como la Clave de la tabla.

Algunas cositas más para tener un mejor Modelo serían:

Decirle al modelo, que columnas debe mostrar como suma. Esta claro que el número de línea de factura es un dato informativo que no tiene sentido sumar, tampoco el SFac, ni el PrecioNeto ni el coste ya que son precios unitarios, más adelante veremos como crear las Columnas Calculadas ImpVenta y ImpCoste.

En nuestro caso solo la cantidad debería quedar como Suma (con el símbolo Sumatorio)

Hasta aquí hemos realizado las Consultas y trabajado el Modelo.

Nos queda la Visualización, la próxima entrada.

Tengo interés en conocerte. Si quieres que te doy acceso a los ficheros de ejemplo:

    • La BBDD SQLyBI.bak
    • Y el CasoPowerBI 2.pbix, y las versiones siguientes.

Solo tienes que ponerte en contacto conmigo o dejar un comentario en la entrada, lo que prefieras.

Power BI 3 Power Query, Transformar y Combinar Datos

Esta es la tercera entrada de una serie más amplia: Busca la Serie Power BI

Tengo interés en conocerte. Si quieres que te doy acceso a los ficheros de ejemplo:

    • La BBDD SQLyBI.bak
    • Y el CasoPowerBI 2.pbix, y las versiones siguientes.

Solo tienes que ponerte en contacto conmigo o dejar un comentario en la entrada, lo que prefieras.

Comenzamos!

Entra en el Editor de Consultas de Power Query y deberías haber importado todas las tablas de la Base de Datos SQLyBI.

Te recuerdo esta captura de Power BI indicando el botón para entrar en el Editor de Power Query.

En este artículo comenzamos a ver como pasar de los datos del ERP a un Modelo de datos analítico en Estrella optimizado para Power BI.

Más adelante veremos la importancia de Modelar.

Crear un Modelo de Datos es clave en el posterior rendimiento y usabilidad de un sistema de Business Intelligence.

Una parte del modelado consiste en obtener los datos con un modelo en Estrella, también lo veremos más adelante.

Transformar datos con Power Query

Esta es la situación inicial de FacturasCab y debemos cambiar:

La Fecha tiene datos Fecha-Hora y no puede tener hora en nuestro Modelo de Datos, por lo tanto, hay que cambiar el tipo de datos.

Cada columna tiene un icono con el tipo de datos, cuando pinchas en el se despliegan todos los tipos de datos para que selecciones.

Ten en cuenta que no todo se puede hacer. Lógicamente si a un campo con un nombre le dices que lo convierta a fecha dará un error.

Cambia también el campo SFac (Significa Serie + Factura) y ponlo como Número entero.

En este caso los nombres de los campos son bastante comprensibles, pero los puedes cambiar haciendo doble clic sobre cada uno de los nombres.

Aunque no haría falta cambiamos SFac por SerieFactura.

Date cuenta de que, cada vez que realizas un paso en la transformación, Power Query añade un paso aplicado (ver en la barra de fórmulas) y además en el orden que lo has ejecutado.

Primero Tipo cambiado Fecha-Hora a SoloHora.

Y luego Columnas con nombre cambiado SFac a SerieFactura, como ves en la fórmula.

Posteriormente aplicará esas transformaciones en los nuevos datos que importe, es decir, si aparecen nuevos registros o líneas de FacturasCab, les aplicará la transformación y convertirá las Fecha-Hora en solo Fecha.

Te cuento otro detalle, solo para que comprendas un poco como funciona Power Query.

Si pulsas en el Editor avanzado podrás ver los pasos que has realizado, comienza con el origen, indicando la Instancia, luego la Base de Datos, luego la Tabla FacturasCab, y luego las dos transformaciones que hemos realizado de Tipo cambiado y Nombre cambiado.

Insisto, que lo sepas solo por curiosidad, no entremos en más detalle por ahora.

Combinar Datos con Power Query

Ahora vamos a combinar las líneas de la factura con las cabeceras.

Date cuenta de que las líneas tienen casi toda la información que necesitamos:

El Artículo, unidades, cantidad, precio, coste, etc.

Solo nos faltan 2 datos importantes que están en la cabecera:

El Cliente y la Fecha.

Pues vamos a FacturasLin y combinamos y traemos esos campos de FacturasCab. Si conoces la función BUSCARV de EXCEL lo comprenderás muy rápidamente,

https://support.office.com/es-es/article/buscarv-funci%C3%B3n-buscarv-0bbc8083-26fe-4963-8ab8-93a18ad188a1

Selecciona/entra en la consulta de FacturasLin en la franja negra de la izquierda.

Cambia el tipo s SFac para que sea también entero. El nombre no hace falta.

Ahora vamos a Combinar consultas, aparece el cuadro de dialogo con la tabla actual FacturasLin seleccionada. Debes seleccionar en el otro desplegable de bajo la tabla que queremos combinar/traer que es FacturasCab.

Solo nos queda decirle por qué campo queremos combinar ambas tablas que es SFac de FacturasLin con SerieFactura de FacturasCab, pinchando/seleccionando primero en uno y luego en el otro. Y Aceptar.

Habrás visto un check verde bajo que nos dice que la selección coincide, es decir que va bien.

Después de Aceptar este paso debes pinchar en el botón derecho del campo (en amarillo) FacturasCab de la captura que sigue. Son dos flechas en sentido opuesto que significan “expandir” los campos de la tabla enlazada.

Ahora que ya tenemos enlazada la tabla FacturasCab hay que indicarle los campos que queremos traer, Fecha y CodCliente.

Desmarca Seleccionar todas las columnas y selecciona esas dos.

Desmarca también Usar el nombre de la columna original como prefijo y Aceptar.

Desplázate hasta la derecha (barra/flecha inferior) y verás las dos nuevas columnas.

Ahora para cada línea de factura tenemos también los datos de la cabecera. Lo tenemos todo aquí, podemos prescindir de las cabeceras.

La tabla FacturasCab (botón derecho sobre ella), vamos a deshabilitar la carga, esto significa que sigue Incluida en la actualización del informe, pero que no se cargará en Power BI. No la necesitamos.

Verás que la tabla FacturasCab se pone en cursiva y la letra en gris. Ya no se cargará en Power BI.

Además, cambiaremos el nombre de FacturasLin por simplemente Facturas.

Antes de pulsar en Cerrar y aplicar para salir de Power Query y volver a Power BI, te recuerdo que estamos en Power Query, que forma parte de Power BI.

Si pasas el cursor por la barra de tareas inferior, veras que aparecen dos pantallas. En mi caso, a la izquierda esta Power BI, y a la derecha el Editor de Power Query.

Pues esto es todo, seguimos en el siguiente artículo.

Puedes seguir todas las entradas de la serie en la página Estructura:

https://www.sqlybi.com/estructura-de-sql-y-bi/

Tengo interés en conocerte. Si quieres que te doy acceso a los ficheros de ejemplo:

    • La BBDD SQLyBI.bak
    • Y el CasoPowerBI 2.pbix, y las versiones siguientes.

Solo tienes que ponerte en contacto conmigo o dejar un comentario en la entrada, lo que prefieras.

Power BI 2 Un Caso Práctico de Negocio en Power BI en Español

Esta es la segunda entrada de una serie más amplia: Busca la Serie Power BI

Un Caso Práctico de Negocio en Power BI en Español es el mejor Master

Si aún no tienes un caso práctico en tu empresa, te ayudo en esto también.

Me imagino que eres administrativo o controller comercial y dedicas demasiado tiempo a preparar informes comerciales para que luego se ponga en duda los propios datos, nunca llegáis a conclusiones.

Si eres Director General, Financiero o Comercial con curiosidad por sacar partido a los DATOS en tu Empresa, mucho mejor. Este blog lo escribo para que te sirva de guía y esta entrada en particular para que pierdas el miedo al Business Intelligence y a Power BI.

Imagino que tu fuente de datos es un ERP con información en reports y tablas que exportas a Excel.

A continuación, te explico los 3 pasos a seguir:

    1. Conectar con los Datos
    2. Crear un Modelo de Datos
    3. Diseñar informes y visualizaciones de los Datos

Hoy nos centraremos en 1. Conectar con los Datos

Tengo interés en conocerte. Si quieres que te doy acceso a los ficheros de ejemplo:

    • La BBDD SQLyBI.bak
    • Y el CasoPowerBI 2.pbix

Solo tienes que ponerte en contacto conmigo o dejar un comentario en la entrada, lo que prefieras.

Conectar con los Datos desde Power BI

¿Dónde están los datos? Power BI puede con todo: https://docs.microsoft.com/es-es/power-bi/desktop-data-sources

Como habrás visto en el enlace oficial de Orígenes de Datos para Power Query y Power BI, cualquier origen de datos que se te ocurra: EXISTE.

Otro día profundizaremos en las «maravillas» que se pueden hacer conectando a orígenes de datos diversos, en servidores en local (on-premise) en la nube privada (Ondrive y similares) y en la web pública (Wikipedias, INE, etc)

Pero para nuestro ejemplo nos conectaremos a la BBDD SQL Server de nuestro servidor.

Si nunca antes te has conectado a una BBDD SQL Server (o ninguna otra) quizá debas comenzar por este otro artículo donde explico cómo conectar desde Excel vía ODBC a un SQL Server

Allí te explico mucho más, pero necesitas esta información para conectar a la BBDD: Un extracto de lo que allí pone:

Para averiguar NombreServidor y NombreInstancia, llama a tu informático, bueno, espera, que igual le tienes que preguntar algo más…

Plan B: Accede como usuario SQL y dile al informático que te de usuario (id. de inicio de sesión, para ser técnicamente correctos en SQL) y contraseña.

En definitiva, necesitas:

Servidor e instancia de SQL y usuario y contraseña de SQL, cuando lo tengas vamos a Obtener DATOS:

Te pedirá nombre de servidor\instancia y Aceptar

No pongas de momento Base de datos (ya que es opcional)

Y al aceptar nos pedirá que le digamos quien somos y que credenciales tenemos, que serán de Base de datos: Nombre de usuario y Contraseña.

También nos dirá que el cifrado bla bla bla… obviamos esto de momento.

Ya estamos conectados al servidor\instancia de SQL.

Una instancia (localhost\SQL) puede tener varias Bases de datos (AdventureWorksDW2016, quique, SQLyBI, SSIDB)

Y nuestra Base de Datos SQLyBI verás que tiene varias Tablas (Artículos, Clientes, Colores, etc).

Y vamos a cargar Clientes (seleccionamos check y el cuadro se pone amarillo), además aparecen los datos de la tabla (a modo informativo) y bajo puedes darle a Cargar. Fin.

Otro día veremos «Editar» y entraremos para ello en Power query. Hoy no.

Cuando le damos a Cargar, la pantalla puede que te pregunte el modo en que accedemos a los datos: Acepta Importar (es la opción por omisión)

No tienes que pulsar ningún botón más, ya se están Aplicando los cambios y Cargando los datos a Power BI. (Evaluando, Creando conexión, cargando datos, etc) déjalo que termine.

Solo si ves que no aparece al cuadro de Cargar, entonces dale a Aplicar cambios.

Y finalmente, cuando acaba la carga tenemos la tabla Clientes con sus Campos (Cliente, CodCiente, CodContacto, etc,) importada en Power BI. Bien, tu primera tabla importada, ¡Ya lo tienes!

Para acabar debes cargar las demás tablas de la Base de Datos SQLyBI, es decir: Artículos, Colores, Familias, etc

Aquí finaliza el proceso de: Conectar con los Datos desde Power BI.

La próxima semana seguimos.

Tengo interés en conocerte. Si quieres que te doy acceso a los ficheros de ejemplo:

    • La BBDD SQLyBI.bak
    • Y el CasoPowerBI 2.pbix

Solo tienes que ponerte en contacto conmigo o dejar un comentario en la entrada, lo que prefieras.

PD: Recuerda: Si no tienes claro qué son las tablas y las relaciones puedes leer este artículo:

Tablas y Relaciones, Consultas y Sentencias SQL

Power BI 1 La mejor forma de aprender Power BI en Español

La mejor forma de aprender Power BI, desde mi punto de vista, NO es un curso, ni mucho menos un master. La mejor forma es comenzar con un Caso Práctico de Negocio.

Comienza probando, trasteando, es gratis. Te diré como descargarlo.

Luego lee un poco y mira algunos vídeos. Te digo cuales.

Pero lo mas importante es que te voy a dar un Caso Práctico de Negocio que necesitas y puedes resolver.

Un día mi hijo me pregunto: Papa ¿Cómo puedo aprender a cortar pepinos?

Mi respuesta: Hijo, a pelar pepinos se aprende pelando pepinos, mírame y hazlo tú. Si de verdad quieres aprender, hazlo. El primero será un desastre, el tercero quizá parezca pepino al acabar y el pepino numero 10 estará razonablemente pelado.

Método de aprendizaje experiencial

Dicen que aprendemos solo un 10% de lo que leemos y un 75% de lo que practicamos.

Si te interesa, encontraras en la Red muchas explicaciones de “La pirámide del aprendizaje experiencial”.

Pero te cuento una breve historieta para que entiendas el método:

Hace algunos años me forme como coach (aún sigue bastante de moda, pero fue un Boom).

Sin ninguna explicación previa. Nos dejaban en una sala a interactuar con otras personas, tratando de resolver sus problemas o bien mejorar alguna de las competencias del compañero (cliente en la práctica).

Una vez acabada la práctica como Coach y como Cliente, nos sentábamos en grupo para analizar cómo lo habíamos hecho cada uno y porque de esa manera. Que grande!.

Aprendimos muchísimo unos de otros, además al final nuestro profesor trataba de estructurar lo aprendido, es decir, nos guiaba desde nuestras prácticas y experiencias hacia las buenas prácticas y los conocimientos relevantes.

Pero cuando llegaba esa explicación del «profesor», los «alumnos» ya sabíamos de que hablaba por nuestra experiencia. Insisto, el método me dejo muy emocionado, aun lo estoy y lo aplico siempre que puedo.

¿Entiendes a lo que me refiero?

Primero la práctica y después, si es necesario, algo de teoría.

Las historias también son un gran modo de explicar cosas, ya llegaremos al stotytelling en Business Intelligence.

Empezar con Power BI en Español

Descargar Power BI Desktop Gratis en Español

Entra en la página de descargas en Español y descarga el fichero de 64 bits https://www.microsoft.com/es-ES/download/details.aspx?id=58494

Botón rojo Descargar:

Selecciona la opción de 64 bis y siguiente (Next):

La descarga comienza a continuación.

Instala el programa y a comenzar a trastear…

Si te pide cuenta de usuario (no la necesitas de momento): Iniciar Sesión.

Y cuando te pida el correo electrónico crucecita arriba a la derecha para salir.

Si en algún momento te vuelve a pedir una cuenta, busca y pulsa en: «Ya tengo cuenta», y en la siguiente pantalla (esta) tienes una X arriba derecha para cerrar la ventana. Es todo.

A probar, a trastear, a romper cosas. Recuerdo la ilusión de ese primer día…

Crear una cuenta de Power BI Service

Necesitaremos Power BI Service (está en Español, claro) para compartir nuestros informes o acceder a ellos desde la web, tablet o móvil de forma remota. Y para eso aún nos queda…

Pero puedes Acceder al portal de Power BI: https://powerbi.microsoft.com/es-es/

Tienes que usar una cuenta con un dominio empresarial, no te vale un gmail ni hotmail ni similares. Si no la tienes no puede seguir.

¿Porque tengo que tener email tipo: nombre@midominio.es ?

Power BI esta integrado con la suite de Office365 que te proporciona el correo (Outlook) y la Ofimática (Excel, Word, PowerPoint, etc) y para acceder a Office365 necesitas registrar tu dominio.

Registrar el dominio en Office365 es algo más laborioso y no entra en el alcance de esta entrada, ni de este blog, seguro que encuentras como hacerlo.

De momento trabajaremos en local, en tu PC (Power BI no esta disponible en MAC), con Power BI Desktop en Español.

Recursos para aprender Power BI en Español

Aprender Power BI por tu cuenta en Español

Voy a dejar solo un par de enlaces.

El propio sitio de Power BI, por supuesto: https://powerbi.microsoft.com/es-es/learning/ Los vídeos están en Ingles, pero la redacción esta en Español. Comienza por aquí.

Sigue con algunos vídeos: https://www.youtube.com/watch?v=vrbKOvxWeDY Es un curso bastante completo y comienza desde cero.

Luego busca en Google lo que más te interesa de Power BI. Debes buscar algo más concreto para comenzar. ¿Te interesa conectar alguna fuente de datos concreta? O ¿Quizá te interesa más visualizar algún tipo de información? Busca cosas concretas que te interesen.

Se trata de que comiences a pensar en tu primer proyecto en Power BI. Si no das ese paso ahora, nunca lo harás. Si quieres aprender ponte manos a la obra, no busques más.

Aprender Power BI con un mentor.

Es cierto que siempre puedes aprender con un Mentor, por el momento no ofrezco este tipo de servicios, pero agradezco tu comentario en esta entrada o en cualquiera, trataré de responderlo cuanto antes.

Seguiré la próxima semana con:

Un Caso Práctico de Negocio en Power BI en Español es el mejor Master.