Actualización incremental
Los Datasets alojados en el servicio de Power BI pueden tener configurada la actualización incremental en una o varias tablas. Para configurar o modificar la actualización incremental en un Dataset de Power BI, puedes usar directamente el punto de conexión XMLA del servicio de Power BI, o puedes usar Tabular Editor conectado al punto de conexión XMLA, como se describe a continuación:
Important
La configuración de la actualización incremental con Tabular Editor 3 está limitada a los Datasets alojados en el servicio Power BI Datasets. En Analysis Services se requieren particiones personalizadas.
Configurar la actualización incremental desde cero con Tabular Editor
- Conéctate al punto de conexión XMLA R/W de Power BI de tu Workspace, y abre el Dataset en el que quieres configurar la actualización incremental.
- La actualización incremental requiere que se creen los parámetros
RangeStartyRangeEnd(más información), así que empecemos agregando dos nuevas expresiones compartidas en Tabular Editor:
- Asígnales los nombres
RangeStartyRangeEnd, respectivamente, establece su propiedadKinden "M" y define su expresión como sigue (el valor real de fecha y hora que especifiques no importa, ya que lo establecerá el servicio de Power BI al iniciar la actualización de datos):
#datetime(2021, 6, 9, 0, 0, 0) meta [IsParameterQuery=true, Type="DateTime", IsParameterQueryRequired=true]
4. A continuación, selecciona la tabla en la que quieres habilitar la actualización incremental
5. Establece la propiedad EnableRefreshPolicy de la tabla en "true":
6. Configura las propiedades restantes según la política de actualización incremental que necesites. Recuerda especificar una expresión M para la propiedad SourceExpression (esta es la expresión que se agregará a las particiones creadas por la política de actualización incremental, y debería usar los parámetros RangeStart y RangeEnd para filtrar los datos en el origen). El operador = solo debe aplicarse a RangeStart o a RangeEnd, pero no a ambos, ya que los datos podrían duplicarse.
7. Guarda el modelo (Ctrl+S).
8. Haz clic derecho en la tabla y elige "Aplicar política de actualización".

¡Eso es todo! En este punto, deberías ver que el servicio de Power BI ha generado automáticamente las particiones en tu tabla, en función de la política que especificaste.

El siguiente paso es actualizar los datos de las particiones. Para ello, puedes usar el servicio de Power BI o actualizar las particiones por lotes mediante XMLA/TMSL desde SQL Server Management Studio, o incluso con el scripting de Tabular Editor.
Actualización completa con la política de actualización incremental aplicada
Si has aplicado una política de actualización a tu tabla y quieres realizar una actualización completa, debes asegurarte de establecer applyRefreshPolicy a false en tu script. Esto garantiza que realices una actualización completa de todas las particiones de tu tabla. En nuestro ejemplo, el comando TMSL tendría este aspecto:
{
"refresh": {
"type": "full",
"applyRefreshPolicy": false
"objects": [
{
"database": "AdventureWorks",
"table": "Internet Sales"
}
]
}
}
Modificar políticas de actualización existentes
También puedes usar Tabular Editor para modificar las políticas de actualización existentes que se han configurado con Power BI Desktop. En este caso, simplemente sigue los pasos 6-8 anteriores.
Aplicar políticas de actualización con EffectiveDate
Si quieres generar particiones sobrescribiendo la fecha actual (para generar distintos rangos de ventana móvil), puedes usar un pequeño script en Tabular Editor para aplicar la política de actualización con el parámetro EffectiveDate.
Con la tabla de actualización incremental seleccionada, ejecuta el siguiente script en el panel "Advanced Scripting" de Tabular Editor, en lugar del paso 8 anterior:
var effectiveDate = new DateTime(2020, 1, 1); // Todo: replace with your effective date
Selected.Table.ApplyRefreshPolicy(effectiveDate);

Eliminar la actualización incremental con Tabular Editor
Puede que debas quitar la política de actualización para la actualización incremental de una tabla.
- Selecciona la tabla en la vista TOM, obtén el código M de la propiedad SourceExpression y guárdalo en algún lugar.
- Cambia el valor de EnableRefreshPolicy de TRUE a FALSE.
- Haz clic con el botón derecho en la tabla y crea una nueva partición M.
- Pega el código M del paso 1 anterior como la expresión de la partición.
- Edita el código M para quitar el paso que contiene la función Table.SelectRows() para los parámetros RangeStart/RangeEnd.
- Elimina todas las particiones históricas. Tienen el valor "Policy Range" en SourceType.
- Actualiza la tabla (en Tabular Editor 3) o, en el servicio, actualiza el Dataset para volver a poblarla.
- Opcionalmente, elimina las expresiones compartidas RangeStart/RangeEnd si no hay ninguna otra tabla en el modelo con una política de actualización para la actualización incremental configurada.