Actualización incremental en Power BI. Configuración desde Power BI Desktop
La configuración del refresco incremental se puede hacer de varias maneras. Para este artículo nos centraremos en como configura esta política desde Power BI Desktop.
Seguimos con nuestra serie de artículos:
- Introducción
- Configuración desde Power BI Desktop ← ESTAMOS AQUÍ
- Configuración desde Tabular Editor 2
Ahora sí, metámonos en el meollo del asunto.
¿Qué necesitas para configurar el refresco incremental?
Asegúrate de que tus datos están preparados para admitir una actualización incremental. Deberás tener una columna en tus datos que sea de tipo fecha/hora.
Vamos a Power Query
- Crear los parámetros
RangeStart
yRangeEnd
Los datos de tabla se filtran mediante los parámetros de fecha y hora de Power Query con los nombres reservados RangeStart
y RangeEnd
, que distinguen mayúsculas de minúsculas. Al configurar inicialmente la actualización incremental en Power BI Desktop, los parámetros se usan para filtrar solo un período de datos que se va a cargar en el modelo.
- Para crearlos deberemos ir a Administrar parámetros>Parámetro nuevo
- Se te abrirá una ventana donde podrás configurar los parámetros.
¡RECUERDA!
RangeStart
yRangeEnd
son palabras reservadas que deberás escribir tal cual. ¡TAL CUAL!
Puedes ir al Editor avanzado para comprobar que tus parámetros tienen esta pinta.
Puedes ir al Editor avanzado pulsando botón derecho sobre el parámetro que te aparece en la columna de Consultas o desde la cinta de inicio.
2. Configurar la columna de actualización
- Debes especificar la columna que se utilizará para identificar las filas nuevas o modificadas. Esta columna se conoce como “Columna de actualización.” Esta columna debe ser una columna en tu tabla que cambie cada vez que haya datos nuevos o modificados. Ahora deberemos usar esos parámetros a modo de filtro en nuestra columna de tipo fecha/hora que vayamos a usar para configurar el refresco.
El resultado en código M deberá ser algo parecido a esto:
#"Filas filtradas" = Table.SelectRows(Origen, each [DATE] > RangeStart and [DATE] <= RangeEnd)
Vamos a Power BI Desktop
Una vez que se aplican los filtros y se carga un subconjunto de datos en el modelo, se define una directiva de actualización incremental para la tabla. Para ello deberemos ir a la tabla y hacer botón derecho.
En la parte superior tenemos un mensajes con información significativa:
Una vez se aplique la directiva no podrás descargar de nuevo el archivo .pbix del servicio.
1.Seleccionar tabla
Selecciona la tabla de hechos donde hayas aplicado el filtro con los parámetros RangeStart
y RangeEnd.
2. Establecer intervalos de importación y actualización
Mueve el control deslizante Actualizar esta tabla de forma incremental y te aparecerán el resto de opciones. Si el control deslizante está deshabilitado, significa que la tabla no incluye un filtro basado en los parámetros RangeStart
y RangeEnd
o el origen de datos no permite la actualización incremental.
→ Iniciando de datos de archivo. Aquí deberás especificar el período de almacenamiento histórico que quieras incluir en el conjunto de datos. Todas las filas con fechas dentro de este periodo se cargarán.
→ Iniciando actualización incremental de datos. Y aquí especificar el período de actualización. Todas las filas con fechas de este periodo se actualizarán cada vez que se realice una operación de actualización manual o programada en el servicio.
¿No es maravilloso? Hemos pasado de tener que cargar dos años de datos cada vez que se actualiza a solo un mes.
3. Elegir configuración opcional
Y ahora sí, mi parte favorita. Ese señor me representa cuando aprendí que esto se podía hacer.
→ Obtenga los datos más recientes en tiempo real con DirectQuery (solo Premium) .Esta configuración hace que la directiva de actualización incremental agregue una partición de DirectQuery a la tabla. Si activamos esta opción, por defecto nos marcará Actualizar solo periodos completos. También podemos observar como el periodo que nos indicaba el Iniciado de la actualización incremental varia.
→ Actualizar solo períodos completos. Creo que con un ejemplo se puede ver mejor. Imagina un contexto en el que trabajas con la información de un sistema financiero donde los datos del mes anterior se aprueban pasado el inicio del siguiente. Puede establecer el período de actualización en un mes y programar la actualización para que se ejecute un día determinado del mes siguiente. Así, con esta opción activada, los datos de enero se actualizarían el día que configuraras de febrero.
Esta configuración también cambia el rango del inicio de la actualización incremental.
→ Detectar cambios de datos. Es esencial detectar cambios en los datos. Para ello necesitamos especificar una columna de fecha y hora. Esta columna, estará destinada a identificar y actualizar días con cambios, no debe coincidir con la usada para particionar datos. La columna designada debe ser persistente y almacenarse en la memoria caché. En la documentación de Microsoft te dan más detalles sobre esta configuración.
4. Revisar y aplica
¿Y en el Servicio tengo que hacer algo?
Una vez que se publica el modelo, el servicio usa la directiva para crear y administrar particiones de tabla y realizar operaciones de actualización.
Para terminar
Para saber si se ha configurado bien la directiva de refresco incremental hasta hace nada debíamos ayudarnos de herramientas externas como Tabular Editor. Ahora, desde la vista de modelo
Para terminar
Para saber si se ha configurado bien la directiva de refresco incremental podemos ayudarnos de herramientas externas como Tabular Editor. En unas semanas veremos como configurarlo desde allí, de momento, os enseño la pinta que debería tener la configuración que hemos creado.
Con la actualización de Octubre de 2023 está disponible la opción de Model Explorer, donde desde Power BI Desktop se puede ver esta configuración.
Referencias
Actualización incremental avanzada: Consultas personalizadas para detectar cambios de datos.