Aprendizajes de la sección “Optimize model performance” del módulo “Model the data”

  • Diego
    Participante

    ¿Qué aprendiste en la sección “Optimize model performance”?
    ¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?
    ¿Cómo te servirá esto que aprendiste al presentar el examen de certificación?

  • Isidre

      Lo aprendido :

      • La funcionalidad que hay detrás de la tecnología de VERTIPAQ y aquellos supuestos en los que realmente se aprovecha al máximo.
      • Para no perjudicar a VERTIPAQ debemos importar solo aquellas filas que sean objeto de análisis. Eliminar columnas innecesarias, que es la parte que perjudica más al motor de compresión.
      • Disminuir la cardinalidad de los datos al mínimo posible. Para ello podemos utilizar la opción de “Group by” para “resumir” los datos.
      • Para los modelos que se conecten en modo “Direct Query”, podemos utilizar la opción de “aggregations”
      • Aggregations nos permite utilizar lo mejor de Direct Query sin renunciar al rendimiento de las consultas.

      Utilidad :

      Mucha, aunque hasta el momento no he tenido la oportunidad de trabajar en modo Query de manera
      profesional.

      Para la Certificación :

      Al ser un apartado que no había trabajado antes seguro que será útil, e imagino que algún punto acabará apareciendo en el examen.

      sfnavarrete

        Buenas tardes estimados compañ[email protected],

        Lo aprendido fue:

        ¿Qué aprendiste en la sección “Optimize model performance”?

        • La importancia de importar las columnas que son necesarias.
        • No duplicar columnas, es decir solo tener una columna en una tabla y que no se repita en otra.
        • Siempre realizar un test del desempeño de nuestras visualizaciones antes de utilice el usuario final.
        • Trabajar con “aggregations” nos puede ayudar mucho a optimizar el tiempo de respuesta de la carga de una visualización.

        ¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?

        • A enfocarme en el desempeño de mi archivo (entregable) antes de presentarlo al usuario final.

        Saludos,
        Santiago

        chaffardet

          Buenos días,

          Lo aprendido:

          • Como funciona el motor Vertipaq, siempre es bueno tener noción de como funcionan las cosas.
          • La cardinalidad, aunque no lo conocía con ese concepto en un modelo que tengo ya lo había aplicado reduciendo el tamaño considerablemente.
          • El performance Analyzer está muy bien para tener una idea de como trabaja el modelo, en Excel usaba VBA para evaluar el tiempo que tomaba una macro en ejecutarse.
          • Agreggations está muy bien, solo que habría que practicar para poder afianzar mejor los datos.

          Siempre será mejor mantener el mínimo de columnas y filas necesarias que no afecten al modelo claro, para tener optimizado el modelo.

          Considerable cuanto disminuye el tiempo usando agreggations, una muestra de mi modelo.

          Performance Analyzer Power BI

          Diego
          Participante

            Es bastante diferencia, @chaffardet
            Gracias por compartir tus resultados :raised_hands:t2:

            Carlos_Figueroa

              ¿Qué aprendiste en la sección “Optimize model performance”?
              La importancia de tener un Modelo bien diseñado, te facilita la gestión de los datos, es más liviano, rápido, etc.

              ¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?
              La velocidad de ejecución es clave para los usuarios finales. He visto muchas aplicaciones de calidad fallar porque no funcionan rápido. Hoy en día un aspecto clave del éxito es la velocidad de ejecución.

              ¿Cómo te servirá esto que aprendiste al presentar el examen de certificación?
              Considero que el tema de los cardinality levels y los aggregations deberían ser preguntas fijas en el Examen.

              Diego
              Participante

                Bien dicho @Carlos_Figueroa .
                El modelo de datos es crucial para desarrollar una buena solución en Power BI.

                jburrull
                  • Aprendí cómo trabaja el motor Vertipaq Engine en cuanto a reducir o comprimir modelo de datos
                  • Aprendí técnicas para que modelo se reduzca, eliminando columnas innecesarias, cambiando formatos, etc.
                  • Finalmente usando conexiones Import Query para agrupaciones y Direct Query para detalles. Así se reduce considerablemente el tiempo de refresh del modelo.
                  josses

                    En esta sección he aprendido que hay que tener paciencia antes de hacer las visualizaciones para poder ordenar y optimizar el procesamiento de los datos. De nada sirve tener hermosas visualizaciones si van a tener un tiempo de carga y procesamiento elevado. Para ello, las herramienta que hemos podido ver en la sección, como Group by, eliminar columnas innecesarias, procesamiento de fechas y horas, decimales y varios detalles que son relativamente simples de manejar, nos pueden hacer mejorar la performance de nuestro modelo de datos.
                    El concepto de reducir la cardinalidad y el uso del Performance Analycer es fundamental antes de pasar a las visualizaciones.
                    No he tenido la posibilidad de poner en práctica aún las agregaciones, pero me pareció realmente una herramienta que será muy útil al momento de su aplicación.

                    llopez

                      Buenos dias

                      Esto fue lo aprendido en la presente sección:

                      • Eliminar filas y/o columnas no necesarias para el modelo a realizar ,quedarse con lo necesario y no tener información que se pueda sacar de otras tablas relacionadas
                      • Analizador de rendimiento, que nos permite ver el tiempo en milisegundos de lo que se demora en cargar los resultados y las visualizaciones, buen tip el revisar este tiempo para que no sea extenso, lo cual causaría incomodidad al usuario final
                      • La parte de “cardinality levels”, no enseña a que sea lo mas bajo la cardinalidad, mientras mas bajo es, se reducirá el peso de las tablas y por ende del archivo; se puede utilizar la opción de group by para tener los datos resumidos (a mi opinión, una opción, considero esto podría ser un data mart extraído desde una base de datos, y no necesariamente todas las tablas que ocuparían mas espacio)
                      • Aggregation: Este apartado aunque fue corto y directo, considero que se puede revisar mas a fondo y ver que ventajas nos da el usar el direct query con agregaciones, quizás para hacer reportes en tiempo real y que no demoren mucho.

                      Saludos.

                      jluis
                      Participante

                        Modulo muy interesante. Además me viene genial porque en mi empresa estoy trabajando en la creación de un reporte en PowerBI conectado a Dynamics, el cual contiene una gran cantidad de información y he realizado todo lo visto hasta este capitulo para intentar que sea lo menos pesado posible pero aún así buscaba mejorar más el rendimiento, por lo que este modulo me viene perfecto para intentar incorporar estas funcionalidades. En esta sección he aprendido:

                        • Como funciona muy por encima el VertiPag Engine. Siempre está bien conocerlo para poder adaptar tu trabajo a las necesidades que requiere PowerBI y así obtener el archivo lo más fino posible. Rebajando en la medida de lo posible la cardinalidad de nuestras columnas entre otras acciones.
                        • Ver los cuellos de botella de nuestros reportes con el botón de Perfomance Analyzer.
                        • Crear y manejar las agregaciones cuando estamos trabajando con grandes cantidades o tarden demasiado las consultas. Esta parte me ha encantado y voy a investigar más para poder incorporarlo a mis reports.

                        Tema interesantísimo.

                        PS: @Diego, te mandé un mensaje privado porque estoy teniendo problemas en las visualizaciones de las fichas de Repaso que hay tras los Quiz. Muchas gracias.

                        KevinRoger
                        Participante

                          ¿Cómo te servirá esto que aprendiste en tus desarrollos de Power BI?

                          1. Eliminar filas y Columnas no necesarias y el porque es útil.
                          • Este punto señala que un reporte independiente de su calidad en la información, también es importante fijarse en cuanto pesa el archivo y qué es lo que hace que pese más o menos.
                          • Para esta sección se trata el concepto de Vertipaq Engine, el cual es un mecanísmo que comprime los datos dentro de Power BI donde:
                            -Si hay + cantidad de datos en el modelo, + grande el archivo.
                            -Si hay - cantidad de datos en el modelo, + liviano es el archivo.
                          • Es por esto que se hace la recomendación de acceder a Power Query y decidir que columnas de la base a la que nos conectaremos, serán necesarias o no. Una vez tomada esa decisión proceder a eliminar las columnas y filas innecesarias (utilizando los filtros de la columna).
                          • Por último si una columna de una tabla está contenida en otra tabla, se recomienda eliminarla dado que se podrán obtener los datos al momento de relacionar las tablas usando la función RELATED()
                          • Optimizar modelo
                            1. Identificar medidas, relaciones y visualizaciones con mal desempeño.
                            • En este apartado aprendimos utilizar el Performance Analyzer, el cual cumple la función de ayudarnos a detectar cuanto tarda en cargar el reporte y todo lo que contiene, con el fin medir el desempeño del reporte antes de dejarlo en “Productivo”. Dentro de los datos que muestra esta función está.
                              -Gráficos, campos utilizados o medidas, tiempo que toma en actualizarse el reporte, etc.
                            1. Mejorar los niveles de cardinalidad (Cardinality Levels) al combinar el “Data Type”.
                            • Si tengo una columna del tipo tiempo donde en una sola celda se contiene hora:minutos:segundo y todos los valores de este campo son únicos, hará que el reporte pierda eficiencia, por lo que se recomienda: agregar columnas nuevas en Power Query, extrayendo la hora, minuto y segundo en columnas distintas y elimnando en un nuevo paso el campo original.
                            • En el caso de tener Fecha con tiempo, solo transformar la vista del dato a formato Fecha: dd/mm/aaaa.
                            1. Mejorar “Cardinality levels” mediante "Summarization"
                            • En este apartado hace mención a la misma idea anterior pero reduciendo el nivel de datos a través de la opción GROUP BY , donde puedes sumar, contabilizar datos respecto a fechas.
                              Ejemplo:

                              1. Utilización de Aggregattions.
                              • Aquí aprendimos que se puede utilizar para encontrar los Insight más importantes, siendo que la base maneja mucho volumen de información, creando así una tabla intermedia que será utilizada para consultar la información de manera más rápida.

                              ¿Cómo te servirá esto que aprendiste al presentar el examen de certificación?

                              • Creo que la mejor manera de definir la importancia de esta sección es su enfoque a La eficiencia de un reporte y creo que para la certificación es muy importante no solamente que sabemos crear buenos modelos de datos o limpieza de datos, si no que el reporte cumpla con el objetivo que ofrece la herramienta que es optimizar el tiempo.
                          Isidre

                            Hola Kevin,

                            ¡Qué manera de empezar el año!
                            Te vas comer con patatas el examen DA-100. Sin duda los resúmenes que se van acumulando son una fuente de repaso para el resto de la comunidad.

                            Sin prisas, pero con paso firme. Felicidades y sigue con tu objetivo, caerá como la fruta madura.

                            Un saludo!!

                            KevinRoger
                            Participante

                              Muchas gracias @Isidre, me animas mucho. Voy con todo el ánimo para preparar este examen. Fue un objetivo que nos propusimos y lo vamos a cumplir.

                              Una vez más felicidades por lograr tu certificación, ahora a seguir aprendiendo :smiley:.

                              Un abrazo a la distancia.

                              Piwichalower

                                Buenas noches:

                                Me ha sido de mucha ayuda entender esta sección.

                                Entender el modo de compresion del VertiPaq Engine.

                                Los conceptos de cardinalidad-levels me eran totalmente desconocidos y lo aplicaré en mis proyectos para reducir el tamaño de los archivos.

                                El concepto de agregaciones para agilizar las consultas en el direct query era totalmente ajeno. En casi todos los proyectos con conexión a direct query las consultas se demoraban y la visualización de los reportes excedian. Pondré en practica las agregaciones provenientes de conexioned import.

                                Saludos,

                                blardiles

                                  Lo que he aprendido en este módulo para optimizar la performance de nuestro modelo:

                                  1. Dejar filas por fuera a través de la utilización del filtro en el Power Query Editor
                                  2. Eliminar columnas innecesarias evitando información duplicada entre tablas.
                                  3. Utilizar el performance analyzer para monitorear cuanto tarda en actualizarse el gráfico seleccionado.
                                  4. Vertipaq Enginee
                                  5. Uso de agregations y funcionalidades.
                                Viendo 15 respuestas - de la 1 a la 15 (de un total de 23)
                                • Debes estar registrado para responder a este debate.