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

PL-300: cómo implementar particiones y optimizar el refresh de modelos Power BI

João Barros 20 de October de 2026 4 min de lectura

En esta lección te enseñaré la competencia: implementar particiones de tablas y estrategias de refresh para modelos Power BI. Esta habilidad es importante en el examen PL-300 porque influye en el rendimiento, el consumo de recursos y los requisitos de actualización en la práctica profesional.

Qué necesitas saber

Particionar una tabla significa dividirla lógicamente en segmentos (particiones) que pueden cargarse o actualizarse de forma independiente. En el contexto de Power BI existen dos escenarios principales:

  • Modelos importados (in-memory / VertiPaq): las particiones suelen gestionarse automáticamente por el servicio Power BI, pero cuando se usa el endpoint XMLA o herramientas externas (Tabular Editor, Analysis Services) puedes crear particiones para controlar el procesamiento incremental.
  • DirectQuery y modelos compuestos (Composite models): no hay particiones en el motor import para DirectQuery, pero puedes usar estrategias de particionamiento en la fuente (por ejemplo, views particionadas) para controlar los volúmenes devueltos.

Ventajas de las particiones y del refresh incremental:

  • Reduce el tiempo de refresh, procesando solo los datos nuevos o modificados.
  • Minimiza ventanas de mantenimiento y reduce el impacto sobre los usuarios.
  • Mejora la utilización de recursos y puede reducir costes en grandes conjuntos de datos.

Cómo funciona

El mecanismo básico para actualizaciones eficientes en Power BI es el refresh incremental. Aquí está el flujo conceptual:

  1. Identificar una columna de partición (ej.: OrderDate, ModifiedDate, PartitionKey) que permita filtrar por intervalo temporal o por claves de partición.
  2. Definir políticas: cuántos periodos (días/meses) reprocesar totalmente y cuáles solo anexar (incremental).
  3. En la primera carga se hace full refresh de la tabla; después se aplican solo los criterios incrementales para nuevos/modificados.

En Power BI Desktop (modelo import), configuras el refresh incremental en la configuración de tabla en Power Query y publicas en el servicio. En el servicio necesitas un Gateway cuando la fuente es on-premises.

En la práctica

Ejemplo práctico: tabla Sales con columna OrderDate. Proceso resumido (Power Query + Power BI Service):

1. En Power Query filtra OrderDate para una ventana, p. ej.: RangeStart y RangeEnd (parámetros DateTime).
2. Crear dos parámetros: RangeStart, RangeEnd (usados solo para query folding).
3. Aplicar filtros usando: OrderDate >= RangeStart and OrderDate < RangeEnd.
4. En Transform > Table > Incremental Refresh (en Power BI Desktop):
   - Enable incremental refresh for this table
   - Set store rows for (ex.: 5 years)
   - Set refresh rows for (ex.: 1 month)
5. Publicar en Power BI Service. El servicio usa esas definiciones para ejecutar refresh incremental durante la programación.

Notas importantes:

  • Query folding es crítico: el filtro entre RangeStart/RangeEnd debe traducirse a la fuente (SQL, Synapse, etc.). Sin folding, el servicio realizará full refresh.
  • Para fuentes que no soportan folding, considera usar una tabla intermedia o un proceso ETL en la fuente (ej.: Azure Data Factory) que ya particione los datos.

Errores comunes

1) Confiar en filtros locales: usar parámetros dinámicos sin query folding resulta en procesamiento completo y anula el beneficio del incremental. Verifica siempre si la query hace folding en la fuente (View Native Query / Diagnostics).

2) Elegir la columna equivocada para particionar: usar una columna poco fiable (ej.: fecha de carga que cambia) puede llevar a omisiones o duplicados. Preferir columnas de negocio estables (timestamp de modificación o fecha del evento).

3) Olvidar el comportamiento de retención: si guardas solo X periodos y luego necesitas datos más antiguos, tendrás que reprocesar históricamente (full reload) o restaurar backups.

Cómo practicar

Practica con un dataset real: crea una tabla de hechos con varios años y una columna ModifiedDate. Sigue los pasos anteriores y valida:

  • Comprueba el folding con herramientas como Power Query Diagnostics o la opción "View Native Query".
  • Realiza modificaciones en filas antiguas y verifica si las políticas de refresh incremental las capturan (por ejemplo, usando Refresh History en el servicio).
  • Experimenta combinar el Incremental Refresh con particiones definidas vía XMLA si quieres controlar particiones manualmente (requiere capacidades Premium o PPU para conectarse vía XMLA).

Para práctica específica del examen, usa el Practice Assessment OFICIAL de Microsoft (gratuito) y la Study Guide de Microsoft para PL-300 — ambos gratuitos y actualizados. No uses bancos de preguntas no oficiales ni dumps.

En resumen

  • Particiones y refresh incremental reducen el tiempo de actualización al procesar solo los datos nuevos/modificados.
  • Query folding y la elección de la columna de partición son determinantes para el éxito.
  • Prueba y valida en Power BI Service: consulta el historial de refresh y usa diagnósticos para garantizar el folding.
  • Para control avanzado (XMLA) y particiones manuales se necesita capacidad Premium/PPU.