(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Power BI

Reducir el tamaño del modelo Power BI: cómo funciona VertiPaq

João Barros 18 de April de 2025 2 min de lectura

Power BI usa el motor VertiPaq (también llamado xVelocity), un motor columnar en memoria. Entender cómo comprime los datos es la clave para construir modelos pequeños y rápidos.

Compresión por columna

VertiPaq usa dos algoritmos principales:

  • Run-Length Encoding (RLE) — eficaz para columnas con valores repetidos (p. ej. Estado con "Activo"/"Inactivo").
  • Hash Encoding — crea un diccionario de valores únicos; cada fila almacena solo el índice del diccionario.

Una columna con 5 valores únicos en 10 millones de filas comprime mucho mejor que una columna con 1 millón de valores únicos.

Identificar problemas con DAX Studio

DAX Studio es gratuito e indispensable. Conéctese al modelo y use Advanced → View Metrics:

-- Ver columnas por tamaño
SELECT TOP 20
    [TableName], [ColumnName],
    [TotalSize], [DataSize], [DictionarySize]
FROM $SYSTEM.DISCOVER_STORAGE_TABLE_COLUMNS
ORDER BY [TotalSize] DESC

Acciones de reducción

  • Elimine columnas no usadas en informes ni en medidas DAX.
  • Reduzca la precisión de decimales (DECIMAL(18,2) vs DECIMAL(18,6)).
  • Use tipos de datos correctos: INT en lugar de STRING para claves surrogate.
  • Desactive la auto-jerarquía de fechas en File → Options → Data Load.
  • Use incremental refresh para tablas de hechos grandes en lugar de importar todo.

Benchmark

Un modelo bien optimizado con 50 millones de filas puede ocupar menos de 500 MB en memoria. El mismo modelo sin optimizar puede ocupar 5 GB. La diferencia está sobre todo en columnas innecesarias y tipos de datos incorrectos.

Conclusión

Conocer VertiPaq no es académico — es práctico. Los modelos más pequeños se refrescan más rápido, cuestan menos en Premium/Fabric, y los usuarios están más satisfechos con informes que se abren en segundos.

Compartir: