¡Jueves de post! Y ya tenía ganas de volver por aquí que
llevo un tiempo sin escribir ya que he andado muy ocupado entre los Power BI
Days Virtual Conf
, que fueron 3 días intensos de grandes ponencias. Luego he
tenido que preparar y grabar la sesión para el Power BI Summit 2023 que se
emite la semana que viene (no os la perdáis os dejo aquí el link), y este fin
de semana pasado, que ha sido el Global Power Platform Bootcamp 2023 y en el
que he participado todo lo que he podido en Colombia, Nicaragua, Perú, Paraguay
y Euskadi. Antes de seguir con el post, me gustaría agradecer a todas estas las comunidades, la oportunidad que me han dado aceptando mis exposiciones,

Y además, para los que no sepáis, ahora tenemos también el canal de
YouTube de losdatoscomoherramienta
en el que iré subiendo videos que acompañen
a los post. Os dejo el link del canal aquí por si queréis echarle un vistazo,
de momento sólo he subido la sesión que presenté en el GPPB 2023 de Lima.



Bien, una vez ya os he contado mi libro, ¿qué os parece si
seguimos con la serie de los datamart? Hasta ahora, hemos visto la parte de
extracción y transformación de los datos y su linaje. Os dejo los link aqui de las anteriores entradas (Post 1, post 2, post 3) Ahora vamos a ver cómo darles
forma a esos datos y veremos la posibilidad que nos ofrecen para consultarlos
desde el servicio.



Una vez hemos terminado todo el proceso de tratamiento del
dato en Power Query Online procedemos a Guardar los cambios realizados:

 
 

 Ahora, una vez en el servicio, vamos a la pestaña de “Modelo”: 

 
 

¿Y qué vemos? Las tablas de nuestro modelo, las que hemos
tratado en Power Query Online. 

 

 
 
¿Y qué hacemos ahora? Pues crear nuestras queridas
relaciones, de la misma manera que en Power BI Desktop. Para ello arrastramos
nuestra clave de la dimensión a la tabla de hecho, con una cardinalidad de uno
a varios (1:*). Siendo la dirección de filtrado Única y activamos la relación: 
 
 
 


¿Y qué obtenemos? Nuestra querida estrella para nuestro
modelo. Como podéis ver, tenemos nuestras dimensiones claramente diferenciadas
(recuadros rojos) y nuestra tabla de hechos (recuadro azul):

 

 
 
 

Una vez que ya tenemos el esquema de nuestro modelo, una de
las particularidades del entorno de los datamart es la pestaña de Consultas:


 
 


¿Y qué es esto de las consultas? Es una interfaz de usuario
muy muy sencilla que nos permite analizar el contenido del datamarts mediante
consultas antes o después de realizar el modelado.



De primeras, puedes pensar, “¿Consultas?¿SQL? Si yo sé nada
de SQL…” Bien, pues no te preocupes, Microsoft ha pensado en eso y ha creado la
posibilidad de realizar consultas visuales a parte de las de las consultas
mediante SQL.

 
 
 
 Supongamos que no tenemos nada modelado. Vamos a crear una
consulta visual que nos devuelva las ventas de los productos cuya subcategoría
es “Televisores”, el canal de la venta ha sido “Distribuidor” y la promoción
realizada ha sido “Europeo Promoción vuelta al cole”.  ¿Y cómo lo hacemos? De la siguiente manera.


Lo primero que hacemos es arrastrar al lienzo la tabla DimProduct,
y al hacerlo vemos que se nos previsualiza en la parte inferior los datos de la
tabla:

 
 



En la parte superior derecha, podemos observar que tenemos
una barra tipo menú con diferentes opciones de transformación, ordenación,
agrupación o incluso abrir la venta de Power Query… Pero quiero que os fijéis
que una de las opciones es “ Vista SQL”:





 

Si hacemos click sobre “Vista SQL”, se nos abre una ventana ¡que
nos muestra la sentencia SQL! Es decir, nos va ha traducir a lenguaje SQL los
pasos que vayamos dando incluso podemos manipularlo para añadir/eliminar cosas,
vamos, algo que nos permite aprender la estructura de SQL sino sabemos:








 
 
 
Como hemos dicho, de la tabla DimProduct necesitamos sólo
los productos cuya ProductSubcategoryName es “Televisores”. Para filtralos,
tenemos dos opciones:
 
1. Seleccionar la columna, a continuación, hacemos
click sobre el + de la tabla que hay en el lienzo y seleccionamos “Filtras
Filas”:
 
 
 

 
 
2. Seleccionamos la columna ProductSubCategoryName
y hacemos click sobre la flecha de la columna y realizamos el filtro en el menú
que se nos ha desplegado: 
 
 
 
 
 Y automáticamente se nos ha
incluido un nuevo paso visual en la tabla:



 
 
 


Y si vamos ahora a la “Vista SQL” vemos que automáticamente
se ha introducido la cláusula WHERE= “Televisores”:



 Indicaros que para poder ver de una simple captura el código completo, he
añadido un paso previo al filtrado que es la selección de columnas :) 

 
 


 
Ahora vamos realizar lo mismo, pero con la tabla DimChannel
y vamos a seleccionar el canal “Distribuidor”: 






 
 


Y ahora repetimos el proceso con la DimPromotion para
obtener la promoción “Europeo Promoción vuelta al cole”:

 

 
 

 





Una vez ya filtradas las dimensiones, vamos con la tabla de
hechos para saber las ventas de los productos con las condiciones anteriores.
Arrastramos la tabla de hechos al lienzo y lo primero que hacemos es combinarla
con la tabla de DimProduct, para ello sobre la tabla de hechos hacemos click
sobre el más y seleccionamos “Combinar consultas”:

 

 
 

Seleccionamos la columna por la que queremos realizar la
combinación y pulsamos en Aceptar:

 
 


Realizamos exactamente los mismos pasos para el resto de
dimensiones y obtenemos como resultado:

 




Si abrimos la “Vista SQL” vemos la sentencia que nos ha
creado:

 

 
 
 



Esta consulta la podemos exportar a un archivo Excel, que se
nos conecta a nuestro modelo para compartirlo con quien queramos. ¿Qué os
parece hasta aquí?



Pero hemos hecho el camino como si no hubiésemos realizado
el modelado de nuestros datos, ahora lo vamos hacer la consulta mediante SQL
con los datos ya modelados. Para ello escribimos la sentencia SQL y la
ejecutamos sobre nuestra tabla de hechos:






Para mí, esto es algo increíble. Sin tener conocimientos de
SQL o sin necesidad de tener el SQL Management Studio instalado en nuestro
equipo podemos analizar el datamart. ¿No os lo parece?

 

Y por hoy ya vale. Que si sigo hablando os hablo de la creación de medidas en el servicio y os adelanto el siguiente post... ¿Creación de medidas en el servicio? Sí, habéis leído bien, pero eso ya en el siguiente post.


¡Nos vemos en los datos!