Tablas Virtuales en Power BI con la Función Summarize #12

Lectura: 2 minutos

¡Hola, amigos de TutoLiber! Bienvenidos a un nuevo artículo en el que aprenderemos a utilizar la poderosa función Summarize en Power BI. Esta función nos permite crear tablas virtuales que revolucionarán la manera en la que manejamos nuestros datos y calculamos promedios. Hoy trabajaremos en un ejemplo práctico, donde aprenderemos cómo crear tablas virtuales que agrupan datos y calculan promedios por país. ¡Comencemos!

¿Qué es una tabla virtual y por qué es útil?

Las tablas virtuales son tablas que no están cargadas físicamente en Power BI, sino que se generan dinámicamente a partir de datos existentes. Esto tiene varias ventajas:

  1. Eficiencia en almacenamiento: No ocupan espacio en la memoria de Power BI porque no están materializadas.
  2. Flexibilidad: Permiten realizar cálculos y análisis sin modificar las tablas base.
  3. Reducción de redundancia: Podemos generar información nueva sin duplicar datos ni crear tablas adicionales en el modelo.

Por ejemplo, supongamos que tenemos una tabla de ventas que registra información detallada de cada transacción, como productos, regiones y cantidades vendidas. Con una tabla virtual, podemos resumir estos datos para mostrar únicamente el total de ventas por país. Esto nos permite analizar tendencias y comparaciones a nivel agregado.

Ejemplo práctico: Resumen de ventas por país

Paso 1: Crear una columna calculada

Para comenzar, vamos a trabajar con una tabla base llamada Ventas, que contiene las siguientes columnas relevantes:

  • País: Indica la región donde se realizó la venta.
  • Precio Unitario: El costo de un producto individual.
  • Cantidad Vendida: El número de unidades vendidas.

Nuestro primer objetivo es calcular el valor total de ventas para cada transacción. Para ello, crearemos una columna calculada:

  1. En la vista de datos, selecciona la tabla Ventas.
  2. Haz clic en Nueva columna y escribe la siguiente fórmula DAX:DAXCopiarEditarVenta Total = 'Ventas'[Precio Unitario] * 'Ventas'[Cantidad Vendida]
  3. Presiona Enter. Ahora tendrás una nueva columna llamada «Venta Total».

Paso 2: Crear una tabla virtual con Summarize

El siguiente paso es generar una tabla virtual que agrupe las ventas totales por país. Para ello, utilizaremos la función Summarize. Sigue estos pasos:

  1. Ve a la vista de modelo y selecciona Nueva tabla.
  2. Escribe la siguiente fórmula DAX:DAXCopiarEditarVentas por País = SUMMARIZE( 'Ventas', 'Ventas'[País], "Venta Total", SUM('Ventas'[Venta Total]) )
  3. Analicemos esta fórmula:
    • ‘Ventas’: Es la tabla base de la que extraeremos los datos.
    • ‘Ventas'[País]: La columna por la que agruparemos los datos.
    • «Venta Total»: Es el nombre de la nueva columna que se genera dinámicamente.
    • SUM(‘Ventas'[Venta Total]): Calcula la suma de las ventas totales para cada país.
  4. Presiona Enter. Ahora tendrás una tabla virtual que muestra el total de ventas por país.

Paso 3: Calcular el promedio de ventas por país

Hasta ahora, hemos obtenido el total de ventas por país. Sin embargo, nuestro objetivo final es calcular el promedio de ventas totales entre los países. Para lograrlo, utilizaremos la función AverageX.

Crear una medida para el promedio

  1. Ve a la pestaña de Inicio y selecciona Nueva medida.
  2. Escribe la siguiente fórmula DAX:DAXCopiarEditarPromedio por País = AVERAGEX( SUMMARIZE( 'Ventas', 'Ventas'[País], "Venta Total", SUM('Ventas'[Venta Total]) ), [Venta Total] )
  3. Aquí está lo que ocurre:
    • SUMMARIZE: Genera una tabla virtual con las ventas totales por país.
    • AVERAGEX: Calcula el promedio de la columna «Venta Total» en esta tabla virtual.
  4. Presiona Enter y arrastra esta medida a tu tabla visual en la vista de informes. Ahora podrás ver el promedio de ventas entre los países.

Paso 4: Comparar cada país con el promedio global

Un análisis interesante que podemos realizar con esta tabla virtual es comparar las ventas de cada país con el promedio global. Para ello, crearemos una nueva columna en nuestra tabla visual que muestre la diferencia entre las ventas de cada país y el promedio global.

Crear una medida para la diferencia

  1. Ve a la pestaña de Inicio y selecciona Nueva medida.
  2. Escribe la siguiente fórmula DAX:DAXCopiarEditarDiferencia con Promedio = SUM('Ventas'[Venta Total]) - [Promedio por País]
  3. Esta medida calcula la diferencia entre el total de ventas de un país y el promedio global.
  4. Añade esta medida a tu tabla visual. Ahora podrás identificar qué países están por encima o por debajo del promedio.

Ventajas y consideraciones al usar Summarize

Ventajas:

  • No afecta el almacenamiento: Las tablas virtuales solo existen durante el tiempo de ejecución.
  • Flexibilidad: Puedes generar diferentes niveles de agregación según tus necesidades.
  • Integración: Puedes usar tablas virtuales como base para otras medidas o visualizaciones.

Consideraciones:

  • Impacto en el rendimiento: Si las tablas base son muy grandes, las tablas virtuales pueden aumentar el tiempo de procesamiento.
  • No son persistentes: Al no estar almacenadas físicamente, no puedes usarlas en todas las áreas del modelo.

Codigo :

Promedio por país = 
IF(
    HASONEVALUE(base_ventas[País]),
    SUM(base_ventas[Vental total])-
    CALCULATE(
        AVERAGEX(
            SUMMARIZE(
                base_ventas,base_ventas[País],
                "Venta total",SUM(base_ventas[Vental total]),
                "Número países",DISTINCTCOUNT(base_ventas[País])
            ),
            [Venta total]/[Número países]
        ),
        ALL(base_ventas[País])
    ),
    CALCULATE(
        AVERAGEX(
            SUMMARIZE(
                base_ventas,base_ventas[País],
                "Venta total",SUM(base_ventas[Vental total]),
                "Número países",DISTINCTCOUNT(base_ventas[País])
            ),
            [Venta total]/[Número países]
        ),
        ALL(base_ventas[País])
    )
)

La función Summarize es una herramienta poderosa en Power BI que nos permite crear tablas virtuales y realizar análisis dinámicos. En este artículo, aprendimos a usar Summarize para agrupar datos por país, calcular promedios y comparar cada país con el promedio global. Recuerda que estas tablas no afectan el almacenamiento y son una solución eficiente para cálculos avanzados.

Espero que este artículo te haya sido útil y que puedas aplicar estos conocimientos en tus proyectos. Si tienes dudas o sugerencias, ¡déjalas en los comentarios! Nos vemos en el próximo contenido de TutoLiber. ¡Hasta pronto!

https://youtu.be/SDBO_9z4uRk

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 4.9 / 5. Recuento de votos: 898

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!