Guía de Ejercitación Intensivo Power BI

Guía de ejercitación Intensivo Power BI SoftwareOne Tabla de Contenidos Tabla de Contenidos ..........................

Views 127 Downloads 1 File size 625KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Guía de ejercitación Intensivo Power BI SoftwareOne

Tabla de Contenidos Tabla de Contenidos ............................................................................................................................................. 1 Escenario ...................................................................................................................................................................3 Previo ........................................................................................................................................................................ 4 Extracción, Transformación y carga de datos.................................................................................................5 1.

Extracción de Archivos de texto para análisis ..................................................................................5

2.

Extracción de archivos que conforman un conjunto de datos único .......................................7

3.

Extracción de datos de Producto Geográfico per Cápita desde la Web .................................8

4.

Extracción de datos de la UF .............................................................................................................. 10

5.

Uso de parámetros en carga y transformación ............................................................................ 12

Modelación............................................................................................................................................................. 14 1.

Conectando el modelo ........................................................................................................................ 14

2.

Limpiando visualmente el modelo ................................................................................................... 15

3.

Enriqueciendo la metadata de formato .......................................................................................... 15

4.

Corrigiendo la agregación por defecto (Summarize) ................................................................. 16

5.

Creando Jerarquías ............................................................................................................................... 17

6.

Limpiando de tablas innecesarias ..................................................................................................... 17

7.

Modificando criterios de ordenación por defecto ....................................................................... 18

8.

Estudiando el efecto del Cross Filter Direction ............................................................................. 18

Visualización........................................................................................................................................................... 19 1.

Preparación previa para usabilidad y apariencia profesional. .................................................. 19

2.

Creación de tablas................................................................................................................................. 19

3.

Creación de Gráficos de barra, líneas y tortas. Modificación de interacciones. ................. 20

4.

Importación de Custom Visuals ......................................................................................................... 21

5.

Seguridad a Nivel de Fila (Row Level Security) ............................................................................. 21

Página | 2

Escenario El escenario sobre el cual realizaremos la ejercitación con Power BI es el de una empresa llamada AdventureWorks, la cual fabrica bicicletas, accesorios y ropa deportiva para ciclistas. Esta empresa requiere realizar análisis, principalmente de ventas. Actualmente utilizan solamente Excel para sus reportes, lo que les significa un esfuerzo considerable de integración de datos cada vez que tienen que emitir reportes, lo que hacen semanalmente. Los analistas ya están aburridos del Excel, con su capacidad limitada de generación de vistas interactivas y de facilitar el descubrimiento de patrones y relaciones interesantes entre los datos. La ejercitación está diseñada para que quien la realice tenga la experiencia completa de Power BI, lo que incluye extracción, transformación, carga, modelación, creación de cálculos, visualización y distribución de datos para la toma de decisiones organizacional. El resultado final es un reporte Power BI a todo color, con visualizaciones interesantes, publicado en la nube, accesible por el usuario mediante una cuenta grauita.

Página | 3

Previo Los datos de ejemplo del curso están en la siguiente URL:

Página | 4

Extracción, Transformación y carga de datos En esta sección haremos ejercicios cuya finalidad es obtener y preparar datos que utilizaremos para nuestro posterior modelo de datos en Power BI.

1. Extracción de Archivos de texto para análisis Este ejercicio consiste en la carga de datos de distintos archivos de texto, cada uno de los cuales constituirá una “Query” (consulta) en el Query Editor de consultas de Power BI. a. Copie toda la carpeta “textos” dentro de “datos” desde la url al disco de su computador, recuerde la ruta en donde dejó la carpeta. b. Con Power BI, haga click en “Get Data”, elija “Text/CSV” y posteriormente, en la ventana de selección de archivos, navegue hacia la carpeta “textos” y seleccione un archivo. Por ejemplo, “InternetSales.txt” c. En la ventana siguiente fíjese en cómo están desplegados los nombres de producto en francés. Verá que hay caracteres raros. Esto significa que el encoding (codificación) puede no ser el correcto. Efectivamente, debe modificar la codificación propuesta por Power BI a “65001: Unicode UTF-8”. Cuando lo haga, verá que los caracteres especiales del francés se verán correctamente. d. El delimitador que aparece el “Tab”. Pruebe cambiándolo y viendo el efecto. Vuelva al Tab para poder seguir. e. Donde dice “Data Type Detection” haga click para ver las opciones disponibles. Aquí configuramos si no queremos que Power BI trate de detectar los tipos de datos de las columnas, o si queremos, en base a cuántas filas leidas queremos que haga la detección. Deje la opción “Based on first 200 rows” f.

Presione “Edit” (Editar). Aparecerá la ventana del Query Editor (Editor de consultas)

g. Verá que aparecen los datos que el editor de queries interpretó según la configuración definida en los pasos anteriores para el archivo. Al lado derecho de los datos, verá una sección llamada “Query Settings”. En ella verá una sub sección llamada “Applied Steps”, que indica los pasos de transformación de datos que el editor de consultas ya aplicó sobre los datos provenientes desde el archivo InternetSales.txt. h. Revise las columnas “ProductStandardCost”, “SalesAmount” u otras como “TaxAmt”, que muestran valores en moneda. Recuerde lo que ve. Ahora haga click sobre el paso “Source” de los applied steps. Vuelva a revisar las columnas mencionadas anteriormente. ¿Se ven similares a lo que vio antes? Vuelva a hacer click sobre el último paso “Changed Type”, pero evitando hacerlo sobre la “X” que se forma al lado izquierdo del texto “Changed Type”. Con esta última acción usted volvió a ver los datos con este paso aplicado. De hecho, hacer clik en cualquier paso le permitirá volver al momento en que se aplicó. El paso “Changed Type” es el paso en que el editor de consultas interpretó los tipos de datos para las columnas del archivo, en base a las primeras 200 filas o en base a

Página | 5

todo el archivo. En caso que usted haya seleccionado “Do not Detect Data Types” al configurar la extracción de datos del archivo, este paso no estaría presente. i.

Volviendo a la pregunta central del paso anterior, los datos crudos interpretados como texto (como se muestran haciendo click en el paso “Source”) muestran los valores monetarios con coma decimal. Esto es una manera de escribir los números decimales usada en Chile. Si estuviéramos en Estados Unidos, entonces la coma se interpretaría como el separador de miles. Si los datos se ven distintos en el paso “Changed Type”, significa que fueron interpretados bajo un canon distinto.

j.

Revise su configuración regional: Vaya a menú File  Options and Settings  Options  Regional Settings (bajo sección CURRENT FILE) y revise el valor fijado. Si dice “English (United States)”, entonces el editor de queries habrá interpretado la coma decimal como el separador de miles, y probablemente su paso “Changed Type” muestra las columnas con cifras monetarias como números enormes. Este parámetro se llama el “Locale”.

k. Cambie el Locale a “Spanish (Chile)” y haga click en OK. l.

Ahora tenemos que rehacer el trabajo de detección de tipos de datos a la luz del nuevo locale. En general un examen previo de los datos que tengamos nos dirá si el cambio general de locale es positivo o no. Si todos nuestros archivos de texto tienen representaciones consistentes de números y fechas entre sí, un cambio de locale puede ser una buena opción. Si nuestros archivos tienen distintas representaciones, entonces habría que interpretar caso a caso.

m. Elimine el paso “Changed Type” haciendo click en la “X” roja. n. Seleccione todas las columnas de datos haciendo click en la primera, después desplazándose a la derecha y finalmente haciendo SHIFT+Click en la última columna. Se seleccionarán todas las columnas. Una manera alternativa de hacer esto es haciendo CTROL+A (en instalación en inglés de Power BI). o. Del menú Transform seleccione la opción “Detect Data Type”. Revise el resultado de esta operación mirando los íconos a la izquierda de los nombres de las columnas y también mirando los datos mismos. Las fechas deberían tener un ícono de calendario. Los números enteros un “123”, los números con decimales, un “1.2”, y los textos un “ABC”. Revise cómo se ven los números que representan cifras monetarias (SalesAmount y otros por el estilo). Si todo parece estar en orden, hemos terminado de importar el archivo. p. Ahora importe el resto de los archivos. Recuerde configurar la codificación UTF-8 en la ventana de vista previa. Como el Locale está cambiado, no debería tener el problema que resolvimos en el archivo InternetSales.txt. No importe los archivos dentro de la subcarpeta “exchange rates”.

Página | 6

2. Extracción de archivos que conforman un conjunto de datos único Este ejercicio consiste en la carga de datos de varios archivos de distinto nombre, pero idéntica estructura interna. Todos los archivos pasarán a ser parte de una sola query en el editor de consultas. a. Abra “Get Data” y seleccione “Folder”. b. Seleccione la carpeta “exchange rates”. c. Se mostrará una vista previa de los datos. Fíjese que no verá los datos mismos de los archivos, sino que datos de los contenidos de la carpeta que acaba de abrir. d. No haga click en “Combine”. Es muy fome. Lo haremos a mano. Haga click en “Edit” e. Verá que en el editor de queries aparecerá una carpeta con unos contenidos. Esto es normal en el caso de importación de carpetas. f.

El resto de sus consultas quedará en una carpeta llamada “Other Queries”. Entre ellas aparecerá la query que representa los datos que le fueron presentados en el paso anterior, bajo el nombre “exchange rates”. Esta query tiene la metadata de los archivos del directorio, y en particular, una primera columna llamada “Content”.

g. Haga click en la zona amarilla que dice “Binary” de la primera fila de la columna “content”. Cuando lo haga, se realizarán varios pasos, lo que podrá corroborar en la zona “Applied Steps” a la derecha de la ventana del editor de queries. El efecto final es que usted está viendo el contenido del archivo que representaba la primera fila de la query anterior, correspondiente al “Argentinian Peso”. h. La query Exchange rates se convirtió finalmente en los datos del primer archivo, lo que no es nuestro objetivo. Para volver a lo que teníamos anteriormente, deshaga los pasos realizados en orden desde el último hacia arriba, haciendo click en las “X” en la zona “applied steps”, pero deje intacto el paso “Source”, que es el primero. El efecto de hacer esto es que usted efectivamente echó para atrás los pasos de transformación de su query. Debería ver nuevamente la columna “Content”. i.

Haga click en el pequeño botón con dos flechas verticales dirigidas hacia abajo, el cual aparece al lado derecho en el nombre de la columna “Content”. Aparecerá una ventana similar a la que aparece cuando se va a realizar la extracción de datos desde un archivo de texto, con similares consideraciones (ver ejercicio 1), con la diferencia de que se puede basar el examen de los datos en el primer archivo “First File” o en cualquier archivo particular de la carpeta.

j.

Haga click en OK. El efecto de esto es que la query “exchange rates” contendrá los datos combinados de todos los archivos de la carpeta, cosa que queríamos lograr.

Página | 7

3. Extracción de datos de Producto Geográfico per Cápita desde la Web Cuando estemos haciendo nuestro reporte, querremos comparar las ventas por país de una manera que nos permita rankear los equipos de venta con justicia. Las ventas simples por país no nos permiten eso, porque naturalmente en USA se venderá más, pro el tamaño del país. Entonces, queremos corregir la venta por poder de compra, lo que sería un indicador justo. Si usted es economista y cuestiona la validez de este indicador, relájese, que sólo lo usaremos para fines pedagógicos. a. Abra la siguiente URL en su navegador de internet favorito y examine la página: https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)_per_capita b. En Power BI haga click en “Get Data” y seleccione submenú “Other” y después “Web” al lado derecho. c. Aparecerá un cuadro de diálogo en donde usted debe que copiar la URL mencionada anteriormente. Después de hacer click en “OK”, aparecerá una ventana en cuyo lado izquierdo aparece un listado de objetos, dentro de la cual encontrará uno llamado “Table 1”. Selecciónelo y verá que aparece una tabla al lado derecho. Haga click en “OK” para pasar al editor de consultas. d. Verá una nueva consulta llamada “Table 1”. Cámbiele el nombre, editando el texto correspondiente en la sección “Query Settings” al lado derecho en la ventana del editor de consultas. Póngale un nombre inspirador como “TablaGDP”. Ahora miremos los datos. e. Verá que hay 3 columnas de datos, de las cuales la primera no es relevante para nosotros. Dese el gusto de eliminarla. f.

Revise la columna con los montos. Si ud ya hizo el ejercicio 1, entonces la configuración de su Locale es “Spanish (Chile)”, y acá tendremos un problema de detección de tipo de dato, porque la columna “Int$” (aproveche de cambiarle el nombre a “GDP”) seguramente fue detectada como número decimal, pero en realidad la coma es el separador de miles, de acuerdo a cómo están representados los números en el sitio de Wikipedia.

g. Para corregir lo anterior, elimine el paso “Changed Type” y reinterprete el número como “Whole Number”… ¿le fue bien o huele algo raro? h. Efectivamente, la coma se está interpretando como la coma decimal. Para corregir esto vuelva a elimiar el paso “Changed Type” y ahora lo hará un poco distinto: Seleccione el tipo de dato del campo “GDP” y mire al final del menú desplegable, donde dice “Using Locale”. i.

En el cuadro de diálogo que apareció, seleccione “Whole Number”, y aquí viene la magia… en el cuadro desplegable “Locale”, seleccione “English (US)”. Lo que usted hizo es pedirle al editor de queries que interprete el número de acuerdo a un Locale específico. Y esto tiene mucho sentido cuando dentro de la generalidad de nuestros datos tenemos por ahí un par de casos particulares, justamente como este. Casi todas sus fuentes de datos pueden seguir una convención, pero podrá haber otra por ahí con una convención distinta, por lo que cambiar el Locale del archivo Power BI no valdrá la pena. Página | 8

j.

Revise que ahora el GDP aparece representado como número entero, sin comas. Fíjese también que el paso recién creado se llama “Changed Columns with locale”. Estamos listos.

Página | 9

4. Extracción de datos de la UF Este ejercicio consiste en la extracción de datos desde una URL. El editor de Queries de Power BI puede leer contenidos HTML e identificar de manera automática objetos como tablas que nos pudiese interesar extraer. Se extraen valores de la UF desde la página del servicio de impuestos internos. a. Con su navegaor de internet favorito ingrese a la siguiente URL y examine la página: http://www.sii.cl/pagina/valores/uf/uf2017.htm. En un escenario en que tengamos que trabajar con conversión de UF a peso, sería interesante extraer estos datos para que estén utilizables desde Power BI. Pero está el problema de que vienen dispuestos en una tabla de doble entrada. Nuestro objetivo sería tenerlos como una tabla con fecha y valor. b. En Power BI haga click en “Get Data” y seleccione submenú “Other” y después “Web” al lado derecho. c. Aparecerá un cuadro de diálogo en donde usted debe que copiar la URL mencionada anteriormente. Después de hacer click en “OK”, aparecerá una ventana en cuyo lado izquierdo aparece un listado de objetos, dentro de la cual encontrará uno llamado “Table 0”. Selecciónelo y verá que aparece una tabla al lado derecho. Haga click en “OK” para pasar al editor de consultas. d. Verá una nueva consulta llamada “Table 0”. Cámbiele el nombre, editando el texto correspondiente en la sección “Query Settings” al lado derecho en la ventana del editor de consultas. Póngale un nombre inspirador como “TablaUF”. Ahora miremos los datos. e. Ahora mire la consulta. Linda, ¿eh? Asumiendo que hizo el ejercicio 1, su configuración de Locale está en “Spanish (Chile)”. Con esto, verá que la primera columna se llama “Día” y que las siguientes tienen los nombres de los meses, abreviados. Dependiendo del momento del año (es Agosto de 2017 al momento de escribir este testamento documento), algunas columnas podrían aparecer sin ningún dato. f.

Fíjese que las columnas de meses con datos estén detectadas como números decimales (ícono “1.2”). Los números tienen 2 decimales después de la coma, y donde no hay valores está escrito el valor “null”. Si ve todo esto, estamos bien. Si aparecen columnas sin valores, estas serán interpretadas como texto, con ícono “ABC”. A todas las columnas vacías cámbieles el tipo de dato a número decimal. Como resultado, debería ver valores “null” en vez de vacíos.

g. Haga click en la columna “Día” y después, en el menú “Transform”, busque la opción “Unpivot Columns”, seleccione el triangulito ubicado al lado derecho, para seleccionar la opción “Unpivot Other columns” h. Cuando se recupere del shock, reflexione sobre la transformación que el editor de consultas realizó. Fíjese que lo que eran nombres de columnas ahora son valores de una columna nueva, y la relación entre día, mes y valor de la UF se preserva. Antes, la coordenada (fila, columna) de un valor de la UF lo relacionaba con la fecha (asumiendo un año fijo), porque podíamos decir, “para la columna Agosto, fila 3, el valor de la UF es $26.587,01  El valor de la uf del 3 de Agosto de 2017 es $26.587,01. Ahora tenemos una

Página | 10

columna con el día y otra con el mes, además del monto. Con eso también podemos deducir lo mismo. i.

Recordando que nuestro objetivo es tener fecha y monto, lo que tenemos ahora se aproxima, pero todavía no es exactamente eso. Tenemos que convertir de alguna manera los datos que tenemos en una columna de tipo Fecha. Para eso vamos a aprovecharnos de que el editor de consultas puede interpretar un texto como una fecha, si sigue un formato específico. Entonces, primero vamos a crear ese texto. Vaya al menú Add Column y seleccione “Custom Column”

j.

En el diálogo que va a aparecer, escriba “Año” en el cuadro para el nombre. En el cuadro para la fórmula, asegúrese de que quede como “= 2017”, y presione “OK”.

k. Reordene las columnas arrastrando sus nombres hacia los lados, para que las columnas que conforman la fecha queden en siguiente orden de izquierda a derecha: MES-DIAAÑO l.

Ahora seleccione las 3 columnas de la fecha (CTROL-Click) y en el menú “Transform” seleccione la opción “Merge Columns”. Ojo que también encontrará una opción idéntica en el menú “Add Column” ¿por qué?... Volviendo a lo anterior, aparecerá un cuadro de diálogo que le permitirá seleccionar un separador de los campos, ninguno, o uno “Custom”. Elija “Custom” y en el cuadro que aparecerá escriba un signo menos “-“. Más abajo escriba “Fecha” o algo así. Aprete “OK”

m. Ahora que tiene su columna con una fecha en formato de texto, vamos a transformarla a Fecha. Bueno, en realidad lo va a hacer usted. Yo sólo escribí este documento. Asumiendo Power BI en inglés, tendrá que hacer un par de reemplazos previos de valores. En el menú “Transform” seleccione “Replace Values”. Haga los siguientes cambios: a. Ene  Jan b. Abr  Apr c. Mar  March d. Ago  Aug e. Dic  Dec n. Una vez hechos los cambios, haga click sobre el tipo de dato de la columna (a la izquierda de su nombre) y seleccione “Date”. Si el paso de cambio de valores funcionó bien, entonces ahora debería ver su flamante columna en formato fecha, con el texto en itálica, por ejemplo: 01-02-2017. o. Estamos listos. Disfrute de 30 segundos contemplando lo que hizo.

Página | 11

5. Uso de parámetros en carga y transformación Si hizo el ejercicio 4, se dará cuenta de que al año siguiente va a tener que modificar el origen de datos para poder cargar los valores de la UF del 2018. Aunque sea una vez al año, implica un trabajo manual que podría ser olvidado, y más grave aun, podría tener que realizarlo en varios reportes Power BI. Al menos, podría ser algo más simple que cambiar el origen de datos a mano, ¿no? Afortunadamente, los desarrolladores de Power BI ya crearon la posibilidad de utilizar parámetros, poderosa característica con la cual, entre otras cosas, podremos solucionar el tema de la página de la UF. a. Primero vamos a crear un parámetro llamado “Año”. Este parámetro será utilizado para que carguemos la página web correcta de la UF mediante hacer que la URL sea dinámica. Vaya al menú “Home”, opción “Manage Parameters” y seleccione “New Parameter”. b. En el cuadro de diálogo que aparecerá, póngale nombre “Año”, en “Type”, seleccione “Text”. En “Suggested Values” seleccione “List of Values” y escriba 2015, 2016 y 2017. Más abajo, en “Default Value”, seleccione 2017, y para “Current Value” escriba 2016. c. Fíjese que en la lista de consultas a lado izquierdo, verá un ícono distinto al de las otras consultas, que dice “Año(2016)”. Cuando haga click en el parámetro, en el centro verá que puede escribir o seleccionar un valor. Disfrute este momento, porque ha creado su primer parámetro. d. Ahora vamos a utilizar efectivamente nuestro primer parámetro. Vaya al menú “Home”  “Data Source Settings”. En el listado que aparecerá, seleccione el orígen de datos correspondiente a la URL de la UF, y aprete el botón “Change Source”. e. Aparecerá el cuadro con la URL, y verá que a la izquierda del texto aparece una lista desplegable con las opciones “Text”, “Parameter” (bingo!!!!) y “New Parameter”. También verá que hay un cuadro de lista “Open File as” con un listado de formatos posibles. Eso puede servir cuando su URL apunta directamente a un formato como los listados, en vez de una página html. Haga click en la opción “Advanced” que aparece por encima del texto del a URL. f.

El cuadro se amplió. Ahora usted podrá definir su URL a pedacitos en la sección “URL Parts”. Actualmente aparece su URL arriba, y verá una segunda línea vacía, ¿cierto? Y verá que cada parte puede ser asociada a un parámetro. Nuestro parámetro es el año y, por su parte, el año en la URL está en medio. Quisiéramos que solamente esa parte de la URL se asociara a nuestro parámetro, y el resto siempre se mantuviera fijo (o hasta que al SII se le ocurra cambiar su sitio web, y ahí nos echa a perder el ejemplo…):

http://www.sii.cl/pagina/valores/uf/uf

Siempre igual

Variable

2017

.htm

Siempre igual

Página | 12

g. Haga click en “Add part” para que hayan 3 partes. En la primera dejemos la primera parte, en la segunda configuremos para que ahí vaya el parámetro “Año” y en la tercera parte pegamos el texto que va después del año, tal como la figura anterior. Si todo está bien configurado, en la zona “URL Preview” debería ver lo siguiente: http://www.sii.cl/pagina/valores/uf/uf{Año}.htm h. Bien. ¡Ahora a probar! Haga “Close & Apply” y vaya a mirar sus datos en la vista de tablas de Power BI. ¿todo bien?... i.

Chuta… ¿qué pasó?... tómese un minuto para pensar en posibles causas del problema.

j.

Ok, veamos… claramente sale todavía 2017 como el año en los datos. La razón de esto está en el paso j del ejercicio 4.

k. En la consulta “UF” cambiemos la definición de la columna “Año”. Hum, pero esa columna ya no existe. ¿qué hacemos?... Recuerde que puede navegar los pasos de transformación de una consulta. Vaya al paso “Added Column” y haga click en el ícono del engranaje al lado derecho. Ahí podrá configurar la creación de la columna. Reemplace el 2017 por “@Año”. l.

Repita el paso h.

m. Disfrute

Página | 13

Modelación En esta sección nos basaremos en los resultados de la sección anterior y crearemos un modelo de datos que permitirá cubrir nuestras necesidades de visualización. Esto contempla tablas relacionadas, columnas innecesarias escondidas del usuario final, con jerarquías, columnas calculadas, medidas, tablas escondidas, etc.

1. Conectando el modelo Vamos a generar las relaciones entre las tablas que permitirán que los datos se filtren y crucen de manera correcta, según la lógica del negocio. a. En la vista de modelo de la ventana de Power BI, revise las tablas creadas. b. El modelo original de base de datos desde el que se crearon los archivos de texto es el siguiente. Fíjese en las relaciones entre las tablas:

c. Ahora conectemos la tabla “InternetSales” con la tabla “Fechas”. Hay 3 posibilidades de conexión, y en realidad las haremos todas. “Internetsales” tiene OrderDateKey, DueDateKey y ShipDateKey. La llave de “Fechas” es DateKey. Conecte cada una de las columnas mencionadas de InternetSales hacia Fechas. Se generarán 3 relaciones en el modelo y deberemos escoger cuál es la relación activa. Como nuestro interés es analizar por la fecha de la orden, entonces la relación en que OrderDateKey esté involucrada debe quedar activa. d. Conecte InternetSales – Productos – SubCatproductos – CatProductos e. La tabla de la UF no tiene sentido de negocio en este modelo, pero fue tan linda de crear, ¿cierto?. Igual la puede conectar a la tabla de Fechas, pero ojo que no por la llave. ¿por qué?...

Página | 14

f.

Conecte InternetSales – clientes – Geografia - GDP.

g. Conecte InternetSales – Monedas – ExchangeRates h. Conecte Fechas – ExchangeRates i.

Vuelva a mirar el diagrama del punto b. Fíjese en que se están representando relaciones 1:N con el lado “1” como una llavecita y el “N” como un símbolo de infinito. Ahora mire el modelo que usted conectó en Power BI. Fíjese en los dibujos triangulares que aparecen en las líneas de las relaciones. Esos dibujos representan la dirección de filtrado cruzado o “Cross filter Direction”, el cual puede ser “Single” o “Both”. Cuando una relación es 1:N, y seleccionamos “Single”, los filtros aplicados sobre el lado 1 de la relación son difundidos hacia el lado N, pero no al revés. Con “Both”, los filtros aplicados en el lado N son difundidos al lado 1 además.

2. Limpiando visualmente el modelo Si por un momento nos sacamos el sombrero de modeladores y nos ponemos el de usuario final, encontraremos que hay columnas de las tablas que eventualmente nunca utilizaremos para fin analítico alguno, como las llaves de las tablas, por ejemplo, las cuales son vitales para conectar las tablas, pero nunca son usadas explícitamente para visualizar. A su vez, nos aseguraremos de que a. Hagámosle un favor al usuario final y escondamos todas las llaves de las tablas, y también las llaves foráneas. Haga click en una columna de una tabla en la vista modelo (por ejemplo, DateKey de la tabla Fechas), y seleccione “Hide in report view”. b. Pase a la vista de tablas y revise las tablas. Fíjese que las columnas escondidas están con un color más suaves. c. Pase a la vista de reporte, y verá que… ¡no están! Pero eso es bueno. ¿Se fija que ahora el modelo es más limpio para el usuario final, sólo mostrándole

3. Enriqueciendo la metadata de formato Una ventaja de Power BI sobre Excel y sus tablas dinámicas es que nosotros podemos definir cierta información de formato en el modelo de datos. Por ejemplo, si un valor es moneda, lo podemos definir como tal en el modelo, con lo que todas las visualizaciones lo mostrarán con signo de moneda. a. Vamos a centrarnos en la tabla InternetSales. Aquí hay varias columnas que deberían representarse como moneda (Currency). Modifíquelas para reflejar esto. Por ejemplo: SalesAmount

Página | 15

4. Corrigiendo la agregación por defecto (Summarize) Power BI automáticamente decide que ciertas columnas de una tabla son candidatas a mostrarse resumidas mediante alguna función de agregación. Eso explica los signos de sumatoria 𝛴 al lado del nombre de las columnas. Eso tiene el efecto de que cuando muestro una columna agregada con otra no agregada en una visualización, Power BI calcula la agregación y agrupa por la columna no agregada. Queremos que el comportamiento por defecto de esto esté bien definido. a. Ubique en las tablas del modelo las columnas que se agregan, pero no deberían. Haga click sobre ellas. En el menú “Format”, seleccione “Default Summarization: Don’t Summarize”. b. Ojo, que la agregación por defecto es simplemente la primera opción se agregación que Power BI asume para la columna cuando estoy creando visualizaciones. Esto se puede cambiar al momento de utilizar la columna.

Página | 16

5. Creando Jerarquías En Power BI podemos crear Jerarquías, es decir, la definición de agrupaciones anidadas entre columnas de una tabla. Por ejemplo: Año-Semestre-mes, Año-mes, Categoríasubcategoría-Producto, etc. Son utilizadas en operaciones de Drill Down de objetos gráficos. Esto es similar a lo que se hace a mano en las tablas dinámicas de Excel, lo que permite hacer drill down. Pero acá se puede dejar predefinido para facilitarle la vida a nuestro amigo el usuario con el drill down en distintas visualizaciones como gráficos de barra, por ejemplo. a. En la tabla de Fechas cree las siguientes jerarquías a. CalendarYear – CalendarQuarter – EnglishMonthName b. CalendarYear – EnglishMonthName b. En la tabla Productos cree la siguiente jerarquía a. EnglishCategoryName-EnglishSubCategoryName-EnglishProductName b. ¿cómo le fue?... ¿o no le fue? c. Ok, aquí haremos uso de un poquito del poderoso lenguaje de Power BI para cálculos de distinta complejidad, llamado DAX. d. Vaya a la vista de tablas y seleccione la tabla Productos. En el menú “Modeling”, vaya a “New Column” y cree una nueva columna, ingresando la siguiente formula:

subcat = RELATED(subcatproductos[EnglishProductSubcategoryName]) e. Repita el paso anterior con la siguiente fórmula:

cat = RELATED(catproductos[EnglishProductCategoryName]) f.

Felicitaciones. Acaba de encontrar un análogo DAX al BUSCARV() de Excel. Si es su primera vez, atesore este momento.

g. Ahora que tiene las 3 columnas de la jerarquía, puede repetir el paso a. h. Ya que estamos en esta, aproveche de crear la Jerarquía cat-subcat (sin producto) i.

Oiga… ahora que tiene el nombre de la categoría y subcategoría en la tabla de producto… ¿para qué le servirían al usuario las otras dos tablas?

6. Limpiando de tablas innecesarias ¿Vio la quemante pregunta que le hice al final del ejercicio anterior? Bueno. Si una tabla sirve para la modelación, pero ya no es práctica desde el punto de vista del usuario final, podemos esconderla completa a. En la vista de modelo, haga click derecho sobre las tablas de categoría y subcategoría de productos, y escóndalas. Aquí los sentimientos de las tablas no valen.

Página | 17

7. Modificando criterios de ordenación por defecto Si hacemos un gráfico de barras de las ventas por el EnglishMonthName, verá que la ordenación de las barras es por orden alfabético… lo que no sirve mucho, sobre todo si quiero graficar una evolución histórica. Power BI provee un mecanismo para ordenar una columna de acuerdo a valores de otra columna. a. En la vista tabla o reporte, haga click en la columna EnglishMonthName. En el menú “Modeling”, haga click en “Sort by Column” y seleccione la columna “MonthNumberofYear”. b. No parece ocurrir nada, pero cuando esté creando visualizaciones, ahí le encontrará la gracia.

8. Estudiando el efecto del Cross Filter Direction El Cross Filter Direction es una opción de la configuración de las relaciones en el modelo de datos, la cual define cómo el filtrado que afecta a una tabla afectará a la otra tabla en una relación. Cuando el CFD es “Single”, el efecto del filtrado se propaga desde la tabla del lado “1” de la relación hacia la tabla con el lado “N”, pero no al revés. Si es “Both”, se propaga en ambas direcciones, de manera que el efecto de filtrar la tabla en el lado “N” se propaga al lado “1” de la relación. Manos a la obra. a. En la vista reporte, cree una tabla de tipo “Matrix” b. Agregue EnglishEducation(Clientes) y CalendarYear(fechas) a la sección “Rows” c. Agregue la suma del SalesAmount(InternetSales) y el Count Distinct del ModelName (productos) a la sección “Values” d. Fíjese en la columna con el conteo del ModelName. ¿Le cuadra? e. Ahora vaya a la vista de modelo y cambie el Cross Filter Direction de la relación entre las tablas InternetSales y Productos desde “Single” hasta “Both” f.

Reflexiones sobre el por qué del cambio.

Página | 18

Visualización Por fin llegamos a la Visualización, que es uno de los dos objetivos de la reportería en general (el otro es la distribución de información) y en el cual Power BI es bastante atractivo como herramienta. Aquí realizaremos algunas labores previas para darle apariencia y funcionalidad profesional a un reporte, crearemos algunos gráficos y tablas típicos, importaremos visualizaciones nuevas, jugaremos con la interacción entre gráficos, jugaremos con la seguridad a nivel de fila (“row level security”)

1. Preparación previa para usabilidad y apariencia profesional. Crearemos una zona de filtros básica en la hoja y la replicaremos para tener varias hojas similares. a. En la vista Reporte, menú “Home”, elija “Shapes” y haga click en “line”. b. Cree una línea vertical que separe la hoja en dos zonas. La de la izquierda que ocupe a lo más un 20% de la hoja. c. En la vista Reporte, menú “Home”, elija “Shapes” y haga click en “Image”. Seleccione el archivo “AdventureWorks-Logo_blog.jpg” e insértelo en la esquina superior izquierda d. Agregue 2 “slicers”: CalendarYear y EnglishMonthName en la zona de la izquierda, bajo el logo. Configúrelos para mostrar los datos en modalidad “DropDown” e. Haga click derecho en la pestaña inferior que dice “Page 1” y elija “Duplicate Page”. De esta manera podrá copiarla replicando un conjunto de objetos que querrá conservar en otras páginas. f.

Disfrute.

2. Creación de tablas Crearemos una tabla y una matriz para visualizar datos. a. En la Hoja 1 cree una tabla que tenga EnglishCountryRegionName, City y suma de SalesAmount b. Al lado cree una tabla que muestre. a. Rows: EnglishOccupation e EnglishProductCategory b. Columns: Marital Status y HouseOwnerFlag c. Values: suma del SalesAmount c. Observe las opciones que la matriz da para Drill Down. Juegue un poco con ellas.

Página | 19

3. Creación de Gráficos de barra, líneas y tortas. Modificación de interacciones. Crearemos algunos gráficos y modificaremos la manera en que interactúan entre sí. a. En una hoja nueva a partir de la plantilla creada para el primer ejercicio, cree los siguientes gráficos: a. Barras Horizontales con suma de SalesAmount por EnglishCountryRegionName b. Líneas con suma de SalesAmount por FullDateAlternateKey c. Barras apilada al 100% con suma de SalesAmount por FullDateAlternateKey, con EnglishOccupation como leyenda. d. Torta de suma SalesAmount por CommuteDistance e. Torta de suma de SalesAmount por EnglishEducation b. Ahora haga click en el gráfico de barras de ventas por país. Haga click en cualquier barra de país para observar cómo el resto de los gráficos reacciona. c. Con el gráfico de barras por país seleccionado, vaya al menú “Format”, y haga click en “Edit Interactions”. Vea que en los gráficos aparecen unos botones nuevos en la parte superior derecha. Fíjese en los gráficos de torta y haga click en los distintos botones nuevos, sin dejar de tener el gráfico de barras seleccionado. d. Reflexione.

Página | 20

4. Importación de Custom Visuals Importaremos un filtro jerárquico. a. Haga click en el menú HomeFrom Store b. En la ventana que aparecerá, filtre por “Filters”, encuentre “HierarchySlicer” y haga click en Add. c. Este slicer permite utilizar jerarquías. Utilice la jerarquía de Categoría – Subcategoría de productos. Colóquelo dentro del área de filtros de la página.

5. Seguridad a Nivel de Fila (Row Level Security) Esta característica es espectacular cuando de filtrar los datos según quién los está viendo es una necesidad. a. Haga click en el menú ModelingManage Roles b. Cree un rol llamado “Americanos”. Posteriormente haga click en el menú de puntos suspensivos al lado derecho de geografía, seleccione “Add Filter”, EnglishCountryRegionName, y finalmente en el cuadro de la derecha, escriba lo siguiente: OR([EnglishCountryRegionName] = [EnglishCountryRegionName] = "Canada")

"United

States",

c. Repita el paso anterior, para sendos roles “Europa” y “Otros”, ampliando la fórmula correspondiente al nombre de los países que correspondan. d. Haga click en “Save” para volver a la vista Reporte. Haga click en “View as Roles”, seleccione un rol, apreté OK y observe lo que pasa. Repita para el resto de los roles. e. ¿Se fija que creamos una condición relativamente simple para definir el filtrado a priori de los datos según el rol?

Página | 21

Servicio Power BI en la nube En esta sección ejercitaremos algunas funcionalidades asociadas al servicio Power BI en la nube, que viene a resolver el tema de la distribución de los datos. Claramente, no querremos grabar nuestro archivo Power BI y enviarlo por correo para que nuestros colegas lo puedan utilizar. Querremos dejarlo en la nube para que cualquiera con acceso lo pueda ver. Veremos cómo publicar un reporte, cómo asignar los roles de seguridad

Página | 22