Respuestas de foro creadas
-
¿Qué aprendiste en la sección “Get data from different sources”?
DATA SOURCE
Que Power Bi se puede conectar a cualquier modelo de datos tanto de otros proveedores de bases de datos, como a modelos de datos creados en powerbi.
Que se puede conectar a informaciones en Excel, a páginas webs y carpetas para crear el modelo de datos.
Que los modelos de datos se pueden crear local ( local dataset ) o compartido en nube ( shared dataset ). Este ultimo modelo compartido no permite conexiones a otros modelos ni crear nuevas relaciones para que todo sea desde una fuente única de la verdad.
Aprendí a modificar la configuración de las conexiones a fuentes de datos que ya estén realizadas.
Aprendí que existen tres formas de almacenar los datos ( STORAGE MODE ) cuando se trabaja con bases de datos : La primera es “ Import ” que trae las tablas del modelo a nuestro archivo local. La segunda es trabajar con los datos en el servidor donde esta alojada la base de datos “ Direct ” y la tercera es la mixta “ Dual ” que combina las dos anteriores.
QUERY TYPE
Que PowerbBi se conecta a las fuentes de datos a través de uno de los conectores con los que cuenta. Y que prácticamente tiene conectores para todo tipo de fuente de datos y siguen ampliando constantemente.
Estos conectores se representan en forma gráfica pero se crea en forma automática un código de programación llamado lenguaje M, propio de PowerBi. Que se puede consultar desde el editor de consultas avanzado.
QUERY PERFORMANCE
Aprendí que se puede mejorar el desempeño de la ejecución de las consultas:
Reduciendo los pasos de transformación de las tablas
Cuando los pasos se aplican del lado del servidor a lo que se le llama plegado de consultas ( query folding ); en caso de el “ Storage Mode ” este configurado en modo directo “direct ”. Sin embargo en caso que se agregue un paso que solo se pueda hacer local ( como agregar una columna por ejemplo ) a partir de ahí los pasos subsiguientes se estarán realizando de manera local.
Creando Parámetros. Que también dan flexibilidad a los usuarios de los reportes de controlar las informaciones que desean ver.
Al compartir un archivo de powerbi como una plantilla: “TEMPLATE” ( EXTENCION PBIT ) , conserva el parámetro que se defina para que el usuario al abrir el archivo indique en el parámetro la información que desea ver y solo verá esa información.
MICROSOFT DATAVERSE
Sustituye al “Common Data Service”. Se trata de una aplicación de Microsoft que crea un entorno de trabajo desde donde se puede crear bases de datos desde cero o a partir de tablas de ejemplo prediseñadas por Microsoft.
Luego podemos crear un archivo de powerbi y mediante el conector creado para Dataverse conectarnos a la base de datos por las vías permitidas: STORAGE DATA ( directa o importar los datos ).
ARCHIVO EXTENCION “PBIDS”
Es un tipo de archivo que se puede compartir con otro usuario. Hereda la configuración de la conexión a una base de datos en nube y el usuario no tendrá que pasar por el proceso de conexión y además le permite seleccionar las tablas con las que desea trabajar, sin necesidad de abrirlas todas.
DATAFLOW
Es como el query editor en la nube, en powerbi service. Los usuarios autorizados tendrán acceso a las transformaciones. Es para trabajar transformaciones en equipo. Es para espacio de trabajo de organizaciones. Desde ahí se hacen las conexiones a las fuentes y las transformaciones en equipo.
Luego desde powerbi desktop los usuarios con acceso a la cuenta pueden conectarse a las bases de datos ya transformadadas y trabajar los reportes.
¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?
Para ser más productivo al seleccionar donde ubicar los datos; compartir archivos , y conectarme a fuentes en nube.
¿Cómo te servirá esto que aprendiste al presentar el examen de certificación?
Para responder a las diferentes formas de conectarse a una fuente de datos, las formas disponibles para la transformación, formas compartir las bases de datos y optimizar la ejecución de los recursos.
¿Qué aprendiste en la sección “Profile the data”?
Aprendí a analizar la estructura de las tablas de datos de una base de datos sql server. Vimos una matriz desde donde se puede inferir las relaciones que existen en las tablas mediante el nombre y el tipo de datos.
Aprendí a analizar el perfil de los datos. Esto puede lograrse mediante una gráfica de dispersión que muestre los valores distantes o fuera de rango normal y los valores atípicos.
También otra fuente de análisis son las opciones del view en el query editor. En esta opción existen tres opciones de analisis.
Una permite ver la distribución de los datos donde nos muestra los valores únicos y distintos. “Column distribution”
Otra opción es el “Column quality” que nos muestra la cantidad de datos con errores, cantidad de celdas vacías y la cantidad de celdas válidas.
La tercera es la opción de “Column profile”. Aquí podemos ver las estadísticas de los datos. El valor máximo, el mínimo, los ceros, el promedio, la desviación estándar, ect.
Estos análisis vienen por defecto para los primeros 1000 registros, pero se puede ampliar a todo el dataset.
¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?
Para mi es de suma importancia este análisis de los datos. Trabajo mucho con Excel y con fuentes basadas en reportes de varios sistemas. Ahora tengo mas claro las herramientas para estudiar y resolver los errores en los datos de mis fuentes.
¿ Cómo te servirá esto que aprendiste al presentar el examen de certificación?
Podría responder con mas propiedad a las preguntas relacionadas al perfil de los datos “ DATA PROFILE”.
En esta sección aprendimos a utilizar las medidas creadas con el lenguaje DAX. Para evitar usar columnas numéricas en nuestro modelo.
Recorrimos 9 temas:Usar DAX para construir medidas avanzadas: Aprendimos a ubicar el acceso al editor de DAX. Utilizar DAX es la forma mas eficiente de manejar nuestro modelo de datos ya que no utiliza espacio físico en el disco duro y tiene mucho mas flexibilidad que cuando creamos columnas y tablas calculadas. Creamos medidas con “Sum” y con “IF”.
Usar funciones estadísticas básicas para el análisis: En este tema aprendimos a calcular las funciones básicas de estadística utilizando DAX. Creamos el Mínimo, Máximo, Promedio y Desviación Estándar de la columna ventas de la tabla sales.
Reemplazar columnas numéricas con medidas ( parte 1 ): Aprendimos las razones porque mejor usar medidas que columnas numericas. Con las medidas no hay que arrastrar y definir las operaciones como con las columnas. Las medidas pueden utilizarse dentro de otras medidas. Es preferible ocultar las columnas que ya fueron reemplazadas con medidas, para evitar su uso y mantener el modelo mas eficiente para el usuario.
Reemplazar columnas numéricas con medidas ( parte 2 ) Iteradores X: Los iteradores X, son otra manera de reemplazar las columnas numéricas por medidas. Estos iteradores calculan fila por fila. Y trabajan con campos de diferentes tablas relacionadas.Por ejemplo si calculamos el promedio con “AVERAGEX” buscamos la columna de cualquier tabla relacionadas y luego la función calcula el promedio de cada fila y obteniene el promedio de la suma de promedios de cada fila. Lo que nos ahorraría tener una o varias columnas numérica en nuestro modelo.
Si solo usamos “AVERAGE” solo podemos obtener el promedio de la suma de las filas, lo que implica que debe existir una columna numérica con los promedios.
5. Usar CALCULATE para manipular filtros. Este tema consiste en hacer un análisis del porcentaje de ventas por vendedor y por región manipulando filtros con la función CALCULATE. Esto para no usar las columnas de la tabla de sales y seller directamente en el modelo.Primero utilizamos CALCULATE para obtener el porcentaje de ventas por vendedor:
Combinamos la función CALCULATE y ALL para obtener las ventas de todos los vendedores; luego usamos la función DIVIDE para dividir las ventas totales de todos los vendedores entre las ventas por vendedor y así obtuvimos el % de ventas por vendedor.
Aprendimos que ALL no evade todos los filtros pero que ALLSELECTED dirige los filtros que son seleccionados dentro esta función. En nuestro caso solo la columna de vendedores. A esta función se le puede agregar las columnas que se requieran .
Luego hicimos una prueba usando ALLSELECTED en la formula de CALCULATE para obtener los porcentajes de venta por región y vendedor : Agregamos la región en la vista del modelo para ver el comportamiento de los filtros y observamos que las ventas totales siguieron mostrándose por vendedor y por consiguiente el porcentaje de ventas por región estaba incorrecto. debido a que este filtro solo se aplica a la columna(s) que se selecciona(n) dentro de la formula, sin importar el orden, que era solo la de vendedor y no incluía región en nuestro caso.
Agregamos la columna región a la formula ALLSELECTED, y se mostraron las ventas totales y se corrigió el porcentaje por región.
En conclusión las columnas que van a describir nuestro análisis (región y vendedor en nuestro caso) deben estar incluidas en la formula ALLSELECTED sin importar el orden, para que el análisis tome los totales y los porcentajes correctos.
Y si solo vamos a usar una columna para describir el análisis solo debemos incluir esa sola columna en la formula ALLSELECTED.
También aprendimos que las buenas prácticas indican que la función CALCULATE debe combinarse con otras medidas, preferibles a usar columnas y tablas en el modelo.Capacitación exprés de CALCULATE.
*Contexto de evaluación: Existen dos tipos de contexto de evaluación; el Contexto de fila: se refiere a los campos dentro de una fila, sucede con las columnas calculadas y los iteradores X y el contexto de Filtro. Que hace referencia a columnas y tablas.El contexto de Filtro. Las herramientas que modifican este contexto son: los paneles de filtros, los Slicer, las columnas de visualización, filas de visualización y CALCULATE()
Los filtros son tablas.
Funciones que devuelven tablas:
FILTER(): Devuelve una tabla filtrada
ALL(): Quita todos los filtros de la visualización y devuelve una tabla.
ALLSELECTED(): Quita todos los filtros de la visualización y devuelve una tabla.
ALLEXCEP(): quita todos los filtros excepto los que se pongan en la funcion y devuelve una tabla.
FUNCIONES DE TIME INTELLIGENCE.
7. Implementar “Time intelligence” usando DAX.: El “Time intelligence” es una de las categorías de funciones de DAX.Usamos funciones de inteligencia de tiempo con CALCULATE; Primero utilizamos la funcion SAMEPERIODLASTYEAR” esta toma las ventas del mismo periodo evaluado pero del año anterior.
Luego acumulamos la información por año con la función DATESYTD”
8. Capacitación exprés de Time Intelligence. Las funciones de la categoría Time Intelligence, se utilizan para : a)Comparar la venta contra periodos previos, b)Obtener acumulados mensuales, trimestrales o anuales de ventas c)Obtener el promedio de ventas de los últimos 30 dias.
Estas funciones son diferentes a las de fecha y hora.
Los requisitos son que las columnas de fecha deben tener los rangos de fechas considerados en el análisis. B. la columna de fecha debe ser tipo fecha.
La inteligencia de tiempo trabaja con la columna fecha ( Dates ). Las demás columnas de la tabla calendario son para describir las fechas, como ej. Que día fue, que mes ect.
Los pasos que siguen estas funciones son: a. detectan el contexto de filtro actual para determinar el periodo de fecha de contexto. B. luego elimina ese contexto de filtros de la columna de fecha para tener todas las fechas disponibles. C. se desplaza en el tiempo para encontrar el nuevo periodo ( especificado con la función ). D. Aplica el filtro para obtener el periodo deseado.
Grupos de funciones: 1er grupo( que devuelven una fecha en especifico) FIRSTDATE(), STARTOFMONTH(), ENDOFMONTH(), STARTOFQUARTER(), ENDOFQUARTER().
2DO. Grupo( que devuelven una tabla con fechas ): DATEADD(), DATESMTD() DATESQTD(), DATESYTD(), DATESINPERIOD().
3ER Grupo ( que evalúan una expresión ): TOTALMTD(), TOTALYTD(), OPENINGBALANCE MONTH(), CLOSINGBALANCE, QUARTER().
9. Crea “semi-additive measures”: Son las que miden una sola dimensión.- ¿Qué aprendiste en la sección “Clean, Transform, and Load the data”?
Recorrimos diez temas que nos enseñan a limpiar , transformar y cargar correctamente nuestros datos al powerbi desktop.
1. "unexpected values, null values, data quality issues"
- En este tema aprendí a resolver las inconsistencias en los datos:
- Corregir errores ( Reemplazándolos, borrándolos o preferiblemente analizándolos para corregirlos ).
- Corregir datos nulos ( reemplazándolos o borrándolos ).
2. Aplicar “values replacements” agradables al usuario - Se trata de reemplazar valores de filas para hacer los datos mas comprensibles.
3. Identificar y crear “Keys” adecuadas para “joins” - Aprendí a definier las “Keys”: que son campos que nos permiten relacionar una tabla con otras.
- Aprendimos a crear nuevas columnas de “Keys” adecuadas, en caso de que no existan, para poder relacionar tablas.
- Vimos como podemos hacer varios tipos de “joins” , que significa combinar tablas.
4. "Combine queries" - Conocimos las dos maneras de combinar consultas: “Append Queries” y “Merge Queries”. Con la primera opción podemos unir dos tablas en una sola; En este caso los nombres de las columnas de las dos tablas deben ser idénticos. con la segunda opción ( Merge Queries ),podemos relacionar dos tablas mediante una “Keys” y extraer las informaciones de una o varias columnas que coincidan con la segunda tabla relacionada.
5. Evaluar y Transformar “columna data types” - Aprendimos a definir los tipos de datos en de las columnas.
6. Aplicar “Data Shape Transformations” a “ Table Structures”** - Vimos como cambiar la forma en la estructura de las tablas. Utilizamos el Trasnpose para que los valores de las filas de la tabla se conviertan en columnas y los valores de las columnas en filas.
- Utilizamos “Unpivot columns” coloca los valores de las columnas que tenga la tabla para cada una de las filas. Así se repiten las filas como tantas columnas tenga la tabla.
- En tercer lugar vimos el “Pivot Column” ; que hace lo contrario al Unpivot, o sea cambia la forma de la tabla repitiendo las columnas como tantas filas tenga la tabla.
- En cuarto lugar vimos el “Reverse Rows” ; que cambia el orden de las filas colocando la ultima en primer lugar.
- En quinto lugar vimos “ Count Rows ” que convierte la tabla en un numero que suma todas las filas de la tabla.
- En sexto lugar vimos “ Group By ”; que agrupa los datos por la columna que se indique. Tiene dos opciones una básica, que usa una sola columna para agrupar y la avanzada que usa varias columnas para agrupar.
- Por ultimo conocimos la pestaña “Add Column” que tiene todas las opciones para agregar nuevas columnas: de índice, personalizadas, condicionales. También en esta pestaña podemos eliminar y duplicar columnas.
7. Definir “Naming Conventions”, amigables para el usuario a columnas y “queries”. - Se trata de reemplazar o adecuar los nombres de las tablas, columnas y medidas para que sean comprensibles al usuario.
8. Utilizar el “Advanced Editor” para modificar el código M del Power Query. - Es un tema fascinante que me ayudo a descifrar la estructura que usa el lenguaje M para codificar los pasos que se realiza en el query editor.
9. Configurar el “Data Loading”. - conocí las opciones para cargar o no la tablas que queremos en nuestro modelo de datos. “ Enable Load, hace que la tabla no se cargue al power bi desktop. También se puede controlar si queremos que una tabla se actualize o no cuando aplicamos la opción Refresh en el power bi desktop. Sin embargo aunque desactivamos el refresh para una tabla, que esta vinculada a otra que requiere actualizarse la que desactivamos se va actualizar.
10. Resolver errores en el “Data Import” - En este temas trabajamos los errores que pueden venir en las tablas. El editor crea una carpeta con los registros de las tablas que tienen errores. Trabajamos también los errores que bloquean las consultas y no permiten que se carguen al modelo. Un caso es si se cambia el nombre del archivo al que nos conectamos. Las soluciones dependen del tipo de error que se presente.
¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?
Me sirve para manipular las tablas que voy a cargar al modelo de datos.
¿Cómo te servirá esto que aprendiste al presentar el examen de certificación?
Me parece que para responder a las preguntas referentes a la limpieza y transformación de los datos del modelo.
¿Qué aprendiste en la sección “Design a Data Model”?
En esta sección recorrimos 10 temas:
1. Definir las tablas: Aprendí la diferencia entre consulta y tabla.
En el Query Editor se realizan las consultas para definir las tablas que se usaran en el modelo. La ultima vista de cada consulta es la tabla del modelo. Las tablas se guardan en el modelo, las consultas no se guardan, solo generan códigos para definir las tablas.
2.Configurar las propiedades de las tablas y de las columnas: Desde la vista de relaciones, en el modelo de datos, están las propiedades de las tablas y columnas. Para las tablas podemos cambiarles el nombre, darles una descripción de su uso al usuario, agregarles sinónimos, definir una columna como el indicador de las filas, ocultar la tabla, y definir el modo de almacenamiento ( storage mode ).Para las columnas podemos cambiar el nombre, darle una descripción, agregar sinónimos, crear folder para agruparlas, ocultarlas, darle formatos ( cambiar el tipo de datos, formatear números y fechas ), opciones avanzadas ( podemos establecerle un orden ( sort ), categorizar los datos, opción de resumen y si admiten valores nulos ).
3. Definir “quick measures”: Aprendí que podemos usar este menú para realizar algunas medidas en forma rápida, sin tener que escribir el código DAX.
4. Flatten out a parent – chid hierarchy”: aquí aprendí hacer una tabla de jerarquía. Utilizando la función path de DAX. Nos permite crear una tabla con diferentes niveles que va sumarizando un nivel inferior a otro superior como lo hacen los catálogos de cuentas.
5. Diseñar el modelo de datos para conseguir el “performance requirement”: Es la sección mas importante del modelo de datos. Trata de la estructura que deben tener las bases de datos en el modelo para que funcione en armonía y optima con powerbi. La estructura recomendada es la “Estrella”, donde las tablas de dimensiones se relacionan directamente con las de hechos. Esto es el secreto del funcionamiento optimo de powerbi.
6. Crear una “Common date table”: Se trata de crear una tabla calendario maestra para todo el modelo. Facilita la inteligencia de tiempo y las relaciones de las tablas. Es de suma importancia.
7. Definir la “relationship’s cardinality” y las “ cross-filter direction”: Este tema trata de la manera como definir las relaciones y los flujos de informaciones entre las tablas.
8. Definir “ role playing dimensión”: En este tema aprendi a definir una tabla de dimensiones para facilitar las relaciones y la obtención de informaciones de las tablas de hecho.
9. Resolver las “many-to many relationships”: aqui aprendimos a resolver las relaciones de mucho a muchos entre tablas. Evitar este tipo de relaciones nos ayuda con la cardinalidad de las relaciones entre tablas, o sea la forma en que fluye la información de una tabla a otra, que debe ser preferiblemente de una a muchos y desde una tabla de dimensiones a una de hechos.
10. Definier el nivel apropiado para la “data granularity”: En este tema se trata el nivel de detalle adecuado de los datos. Para fines del modelo mientras mas detalles tenemos mejor, ya que nos aporta mas inteligencia en el modelo.
¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?
Es un tema importante para mi ya que me ayuda a diseñar un modelo de datos eficiente y bien estructurado.
¿Cómo te servirá esto que aprendiste al presentar el examen de certificación?
En la certificación podre hacer frente a los cuestionamientos relacionados al diseño del modelo de datos.¿Qué aprendiste en la sección “Develop a Data Model”?
En esta sección vimos 6 temas.
- Aplicar “cross-filter direction” y “security filtering ”: En este tema aprendimos a configurar las relaciones entre las tablas. Existen dos tipos de relaciones de uno a uno, de uno a varios, y de varios a varios. Aplicamos el security filtering cuando tenemos configurado roles de usuarios y usamos la relación varios a varios. Esto nos sirve para asegurarnos que los usuarios accedan solo a los accesos que les son permitidos.
- Crear “calculated tables”: Trata de como crear tablas calculadas utilizando funciones de DAX para esos fines. Aprendimos a usar la función SUMARIZECOLUMNS, CALENDARAUTO() dentro de la función ADDCOLUMNS() para agregar mas columnas de fecha generadas en el acto por la función CALENDARAUTO(). También existen otras funciones que crean tablas.
3.Crear “Hierarchies”: Aprendimos que son las jerarquías y como crearlas en power bi. Estas acumulan saldos desde una jerarquía inferior a una superior. Se pueden crear desde el modelo de datos con las columnas que ya están disponibles, también con la función dax: “PATH”. Es un excelente instrumento para ver niveles de información.
4.Crear columnas calculadas: Se pueden crear desde la visualización de datos. Desarrollan el modelo de datos pero los hace mas ineficiente, por lo que se recomienda crear las columnas con medidas.
5.Implementar “Row-Level Security ( RLS) roles”: Aprendimos a crear roles y a asociarlos a los usuarios de los datos. Nos sirve para controlar las informaciones que queremos mostrar ya sea por usuarios o por grupos de usuarios. Se crean desde powerbi desktop, y se comparte en el servicio de powerbi en nube.
6 Configurar la funcionalidad de “Q&A”: Esta funcionalidad sirve para que el usuario haga preguntas al modelo. Trabaja con los sinónimos que le asignamos a las tablas y columnas en sus propiedades. Se configura en la pestaña home o modeling. Se pueden crear sinónimos, preguntas establecidas, sugeridas por el usuario, ect.
¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?
Estos temas me servirán para desarrollar un modelo de datos con mas funcionalidades para compartir informaciones y crear mejores tablas para el modelo.
¿Cómo te servirá esto que aprendiste al presentar el examen de certificación?
Para el examen estaremos preparados para las preguntas relacionadas con el desarrollo de nuestro modelo de datos.