Actualización Incremental - Power BI
Updated by Manu da Silva
Crear parámetros
En esta tarea, utiliza el Power Query Editor para crear los parámetros RangeStart y RangeEnd con valores predeterminados. Los valores predeterminados se aplican solo para filtrar los datos que se cargarán en el modelo en Power BI Desktop. Los valores ingresados deben incluir solo una pequeña cantidad de los datos más recientes de tu fuente de datos. Cuando se publiquen en el servicio, estos valores serán reemplazados por la política de actualización incremental.
- En Power BI Desktop, haz clic en "Transformar datos" para abrir el Editor de Power Query.
- Haz clic en "Gestionar parámetros" > "Nuevo parámetro".
- En "Gestionar Parámetros":
Nombre: escribe RangeStart (diferencia entre mayúsculas y minúsculas).
Tipo: selecciona Fecha/Hora.
Valor Actual: ingresa un valor de fecha/hora inicial.
- Crea un segundo parámetro llamado RangeEnd:
Tipo: selecciona Fecha/Hora.
Valor Actual ingresa un valor de fecha/hora de finalización.
- Ahora que tienes los parámetros RangeStart y RangeEnd, filtra los datos a cargar en el modelo basándote en estos parámetros.
Antes de iniciar el siguiente paso, es necesario convertir la columna en la que deseas hacer la actualización incremental al tipo Fecha/Hora. Generalmente, estarán en formato de texto. Para ello, ve a la columna en Power Query y haz clic en el símbolo de texto a la izquierda en la columna > Fecha/Hora.
Filtrar datos
Con los parámetros RangeStart y RangeEnd definidos, aplica un filtro basado en las condiciones de los parámetros RangeStart y RangeEnd.
- En el Editor de Power Query, selecciona la columna de fecha, ya convertida a Fecha/Hora, que deseas filtrar y haz clic en el ícono de filtro > Filtros de fecha/hora > Filtro personalizado.
- En "Filtrar Filas", para especificar la primera condición, selecciona "es posterior" o "es posterior o igual a", selecciona "Parámetro" y elige RangeStart
Para especificar la segunda condición, si seleccionaste "es posterior" en la primera condición, selecciona "es anterior o igual a", o si seleccionaste "es posterior o igual a" en la primera condición, selecciona "es anterior" para la segunda condición y elige "Parámetro" y selecciona RangeEnd. Por ejemplo:
- En el Editor de Power Query, haz clic en "Cerrar y Aplicar". Power Query cargará los datos según los filtros definidos en los parámetros RangeStart y RangeEnd, así como en cualquier otro filtro que hayas establecido.
Power Query carga solo los datos especificados entre los parámetros RangeStart y RangeEnd. Dependiendo de la cantidad de datos en ese período, la carga debe ocurrir rápidamente. Si parece lenta y con muchos procesos, es probable que la consulta no esté optimizada.
Definir política
Después de definir los parámetros RangeStart y RangeEnd y filtrar los datos según esos parámetros, debes definir una política de actualización incremental. La política se aplica solo después de que el modelo se publica en el servicio y se ejecuta una operación de actualización manual o programada.
- En Visualización de datos > Campos, abre el menú contextual de la tabla y haz clic en "Actualización incremental".
- En Actualización incremental y datos en tiempo real > Seleccionar tabla, verifica o selecciona la tabla. Por defecto, la casilla de selección "Seleccionar tabla" está configurada para la tabla seleccionada en la vista de datos.
- Especifica las configuraciones necesarias:
- Definir intervalos de importación y actualización > Actualizar esta tabla incrementalmente, haz clic en el control deslizante para Activar. Si el control deslizante está deshabilitado, significa que la expresión de Power Query para la tabla no incluye un filtro basado en los parámetros RangeStart y RangeEnd.
- En Datos del archivo comenzando: especifica el período de almacenamiento histórico que deseas incluir en el conjunto de datos. Todas las filas con fechas en este período serán cargadas en el conjunto de datos en el servicio, a menos que se apliquen otros filtros.
- En Actualizar datos incrementalmente comenzando:, especifica el período de actualización. Todas las filas con fechas en este período serán actualizadas en el conjunto de datos cada vez que se ejecute una operación de actualización manual o programada.
- Especifica las configuraciones opcionales:
- En Elegir configuraciones opcionales, selecciona Obtener los datos más recientes en tiempo real con DirectQuery (solo Premium) para incluir los cambios de datos más recientes que ocurrieron en la fuente de datos después del último período de actualización. Esta configuración hace que la política de actualización incremental añada una partición DirectQuery a la tabla.
- Selecciona Actualizar solo días completos para actualizar solo días enteros. Si la operación de actualización detecta que un día no ha terminado, las filas de ese día entero no serán actualizadas. Esta opción se habilita automáticamente si seleccionas Obtener los datos más recientes en tiempo real con DirectQuery (solo Premium).
- Selecciona Detectar cambios de datos para especificar una columna de fecha/hora utilizada para identificar y actualizar solo los días en que los datos han cambiado. Debe existir una columna de fecha/hora, generalmente para fines de auditoría, en la fuente de datos. Esta no debe ser la misma columna utilizada para particionar los datos con los parámetros RangeStart y RangeEnd. El valor máximo de esta columna se evalúa para cada uno de los períodos en el intervalo incremental. Si no ha cambiado desde la última actualización, el período actual no se actualiza. Para conjuntos de datos publicados en capacidades Premium, también puedes especificar una consulta personalizada.
Dependiendo de tus configuraciones, tu política debe tener este aspecto:
- Revisa tus configuraciones y haz clic en "Aplicar" para completar la política de actualización. Los datos de origen no se cargan con esta etapa.
Guardar y Publicar en el Servicio
Cuando tus parámetros RangeStart y RangeEnd, el filtrado y las configuraciones de la política de actualización estén completos, guarda tu modelo y publícalo en el servicio. Si tu conjunto de datos se vuelve grande, asegúrate de habilitar el formato de almacenamiento del conjunto de datos grande antes de invocar la primera actualización en el servicio.
Actualizar Conjunto de Datos
En el servicio, actualiza el conjunto de datos. La primera actualización cargará datos nuevos y actualizados en el período de actualización, así como datos históricos de todo el período de almacenamiento. Dependiendo de la cantidad de datos, esto puede llevar mucho tiempo. Las actualizaciones subsecuentes, manuales o programadas, suelen ser mucho más rápidas porque se aplica la política de actualización incremental y solo se actualizan los datos del período especificado en la configuración de la política de actualización.