(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Incremental refresh en Power BI: actualizar solo lo que cambia en modelos grandes
Power BI

Incremental refresh en Power BI: actualizar solo lo que cambia en modelos grandes

Equipa bConcepts 03/06/2025 7 min

Hay un momento en la vida de casi todos los informes de Power BI exitosos en que el éxito se vuelve en su contra. El informe es útil, la gente lo usa, los datos se acumulan — y un día la actualización, que antes era rápida, empieza a tardar una eternidad. Recargar años de histórico todas las noches se vuelve una carga insostenible: horas de procesamiento, una carga enorme sobre la base de datos de origen, y el riesgo constante de que la actualización falle por ser demasiado grande. La buena noticia es que Power BI tiene una respuesta diseñada exactamente para este problema, y se llama incremental refresh, o actualización incremental.

La idea es tan simple que parece obvia después de oírla: si los datos antiguos ya no cambian, ¿por qué los recargamos todas las noches? Las ventas de hace tres años son lo que son — no van a cambiar. Y, sin embargo, el comportamiento por defecto de Power BI recarga todo, siempre, desde cero. La actualización incremental corrige este desperdicio, actualizando solo la porción reciente que aún cambia y dejando el histórico estable intacto. Es una de esas funcionalidades que separan a quien hace informes de quien construye soluciones que aguantan el crecimiento.

El problema de la actualización total

Cuando un informe importa datos, el comportamiento normal es sustituir todo en cada actualización. Con pocos datos, esto es instantáneo y nadie lo nota. Pero a medida que el histórico crece — de meses a años, de miles a millones de filas — el tiempo de actualización crece con él, de forma lineal e implacable. Lo que empezó tardando dos minutos pasa a tardar dos horas, y esa ventana empieza a colisionar con el inicio del día de trabajo o a agotar los límites de tiempo del servicio.

Incremental refresh en Power BI: actualizar solo lo que cambia en modelos grandes

Hay además un costo escondido del lado del origen. Cada actualización total vuelve a pedir a la base de datos operativa que devuelva todo el histórico — precisamente la base de datos que se está usando para gestionar el negocio. Hacer esto todas las noches sobre volúmenes grandes sobrecarga el sistema de origen en el peor momento y transforma el informe de BI en un vecino indeseable para los sistemas que lo alimentan. La actualización total no solo es lenta; es pesada para todos.

La idea central: separar lo que cambia de lo que ya no cambia

La actualización incremental divide los datos en dos zonas. Hay una zona histórica, más antigua, que ya está estable y no necesita ser tocada — las ventas del año pasado, por ejemplo. Y hay una zona reciente, de los últimos días o semanas, donde los datos aún pueden llegar o ser corregidos. En cada actualización, Power BI recarga solo la zona reciente y deja la histórica exactamente como estaba. Como la zona reciente es una fracción minúscula del total, la actualización pasa de horas a minutos.

Por debajo, Power BI implementa esto particionando la tabla por períodos de tiempo. Cada partición — cada mes, por ejemplo — se carga una vez y después se congela; solo las particiones más recientes se reprocesan. El usuario final no ve nada de esto: sigue viendo el informe completo, con todo el histórico. La diferencia está toda en los bastidores, en la cantidad de trabajo que la actualización evita hacer sin necesidad.

Qué hace falta para configurarla

  • Una columna de fecha fiable: la actualización incremental necesita saber a qué período pertenece cada fila, por eso exige una columna de fecha en la que se pueda confiar.
  • Filtros dinámicos de intervalo: se definen dos parámetros que marcan cuánto histórico guardar y qué ventana reciente reprocesar en cada actualización.
  • Una fuente que acepte filtrar a la entrada: para que la ganancia sea real, el origen tiene que poder devolver solo el período pedido, en vez de todo — si no, se ahorra poco.

La ganancia va más allá de la velocidad

El beneficio obvio es el tiempo de actualización, que cae drásticamente. Pero hay ganancias que se suman a esa. La carga sobre la base de datos de origen baja en la misma proporción, aliviando los sistemas operativos. Las actualizaciones se vuelven más fiables, porque un trabajo pequeño tiene mucha menos probabilidad de fallar por alcanzar límites de tiempo o memoria que un trabajo gigante. Y el modelo puede, en la práctica, guardar mucho más histórico del que sería viable con actualización total, porque el costo de mantenerlo deja de crecer sin control.

Un caso concreto

Una empresa tenía un informe central de ventas con cerca de tres años de histórico, y la actualización diaria corría durante la madrugada. Al inicio, cuando el histórico era de pocos meses, todo corría en minutos. Pero a lo largo de dos años los datos se acumularon a decenas de millones de filas, y la actualización se estiró a más de dos horas — al punto de que, algunos días, aún estaba corriendo cuando el equipo comercial ya quería abrir el informe por la mañana, encontrando datos incompletos. La base de datos de origen, a su vez, sufría con el peso de devolver todo el histórico todas las noches. La solución no exigió más hardware ni una nueva herramienta: configuraron la actualización incremental, guardando tres años de histórico pero reprocesando solo los últimos diez días en cada actualización, que era la ventana en que los datos aún podían cambiar. El tiempo de actualización cayó de más de dos horas a pocos minutos, la carga sobre el origen casi desapareció, y los datos pasaron a estar siempre listos mucho antes del inicio del día. Un problema que amenazaba con volver el informe inutilizable se resolvió con una configuración bien pensada.

Cuándo no hace falta

Como casi todo, la actualización incremental es una respuesta a un problema específico, no un dogma. Si tu modelo tiene pocas filas y se actualiza en segundos, configurarla es añadir complejidad sin retorno — la actualización total simple es más fácil de mantener y la ganancia sería imperceptible. Entra en escena cuando el histórico es grande, la actualización empieza a doler, y el origen sufre con recargas totales. Aplicarla sin esa necesidad es resolver un problema que aún no se tiene.

En la práctica

Si la actualización de tu informe más importante se está estirando noche tras noche, o si temes añadir más histórico por miedo a volverla imposible, la actualización incremental es probablemente la respuesta que aún no configuraste. Empieza por identificar las tablas de hechos grandes con una buena columna de fecha — son las candidatas naturales. Unos pocos ajustes transforman una actualización insostenible en una rápida y fiable. ¿Tu informe está recargando años de datos que ya no cambian, todas las noches, sin necesidad?

← Volver a Insights
¿Hablamos?

¿Listo para transformar sus datos?

Reserve una reunión gratuita de 30 minutos y descubra cómo podemos ayudar a su equipo a tomar mejores decisiones.

Agendar Reunión Gratuita
bConcepts