Atualização Incremental - Power BI
Atualizado por Manu da Silva
Criar parâmetros
Nesta tarefa, use o Power Query Editor para criar os parâmetros RangeStart e RangeEnd com valores padrão. Os valores padrão se aplicam somente ao filtrar os dados a serem carregados no modelo no Power BI Desktop. Os valores inseridos devem incluir apenas uma pequena quantidade dos dados mais recentes de sua fonte de dados. Quando publicados no serviço, esses valores são substituídos pela política de atualização incremental.
- No Power BI Desktop, clique em Transformar dados para abrir o Editor do Power Query.
- Clique em Gerenciar parâmetros > Novo parâmetro.
- Em Gerenciar Parâmetros > Nome, digite RangeStart (diferencia maiúsculas de minúsculas), em Tipo, selecione Data/Hora e em Valor Atual insira um valor de data/hora inicial.
- Crie um segundo parâmetro chamado RangeEnd. Em Tipo, selecione Data/Hora e, em Valor Atual , insira um valor de data/hora de término.
Agora que você tem os parâmetros RangeStart e RangeEnd, filtre os dados a serem carregados no modelo com base nesses parâmetros.
Antes de iniciar o próximo passo é necessário fazer a conversão da coluna, na qual você deseja fazer a atualização incremental, para o tipo Data/Hora. Geralmente elas estarão com o formato de texto. Para isto, vá até a coluna no Power Query, clique no símbolo de texto
a esquerda na coluna > Data/Hora
Filtrar dados
Com os parâmetros RangeStart e RangeEnd definidos, aplique um filtro com base nas condições nos parâmetros RangeStart e RangeEnd.
- No Editor do Power Query, selecione a coluna de data, já convertida para Data/Hora, na qual deseja filtrar e clique no ícone de filtro > Filtros de data/hora > Filtro personalizado.
- Em Filtrar Linhas, para especificar a primeira condição, selecione é posterior ou é posterior ou igual a, selecione Parâmetro e selecione RangeStart.
Para especificar a segunda condição, se você selecionou é posterior na primeira condição, selecione é anterior ou igual a, ou se você selecionou é posterior ou igual a na primeira condição, selecione é anterior para a segunda condição e selecione Parâmetro e selecione RangeEnd. Por exemplo: - No Editor do Power Query, clique em Fechar e Aplicar. O Power Query carregará os dados com base nos filtros definidos nos parâmetros RangeStart e RangeEnd e em quaisquer outros filtros que você definiu.
O Power Query carrega apenas os dados especificados entre os parâmetros RangeStart e RangeEnd. Dependendo da quantidade de dados nesse período, o carregamento deve ocorrer rapidamente. Se parecer lento e com muitos processos, é provável que a consulta não esteja dobrando.
Definir política
Depois de definir os parâmetros RangeStart e RangeEnd e filtrar os dados com base nesses parâmetros, você define uma política de atualização incremental. A política é aplicada somente depois que o modelo é publicado no serviço e uma operação de atualização manual ou agendada é executada.
- Em Visualização de dados > Campos > abra o menu de contexto da tabela e clique em Atualização incremental.
- Em Atualização incremental e dados em tempo real > Selecionar tabela, verifique ou selecione a tabela. Por padrão, a caixa de listagem Selecionar tabela é padronizada para a tabela selecionada na exibição de dados.
- Especifique as configurações necessárias:
Em Definir intervalos de importação e atualização > Atualizar esta tabela incrementalmente, clique no controle deslizante para Ativar. Se o controle deslizante estiver desabilitado, significa que a expressão do Power Query para a tabela não inclui um filtro com base nos parâmetros RangeStart e RangeEnd.
Em Dados do arquivo começando:, especifique o período de armazenamento histórico que você deseja incluir no conjunto de dados. Todas as linhas com datas neste período serão carregadas no conjunto de dados no serviço, a menos que outros filtros se apliquem.
Em Atualizar dados incrementalmente iniciando:, especifique o período de atualização . Todas as linhas com datas neste período serão atualizadas no conjunto de dados sempre que uma operação de atualização manual ou agendada for executada. - Especifique as configurações opcionais:
Em Escolher configurações opcionais, selecione Obter os dados mais recentes em tempo real com DirectQuery (somente Premium) para incluir as alterações de dados mais recentes que ocorreram na fonte de dados após o último período de atualização. Essa configuração faz com que a política de atualização incremental adicione uma partição DirectQuery à tabela.
Selecione Atualizar apenas dias completos para atualizar apenas dias inteiros. Se a operação de atualização detectar que um dia não foi concluído, as linhas desse dia inteiro não serão atualizadas. Essa opção é habilitada automaticamente se você selecionar Obter os dados mais recentes em tempo real com DirectQuery (somente Premium).
Selecione Detectar alterações de dados para especificar uma coluna de data/hora usada para identificar e atualizar apenas os dias em que os dados foram alterados. Uma coluna de data/hora deve existir, geralmente para fins de auditoria, na fonte de dados. Esta não deve ser a mesma coluna usada para particionar os dados com os parâmetros RangeStart e RangeEnd. O valor máximo desta coluna é avaliado para cada um dos períodos no intervalo incremental. Se não mudou desde a última atualização, o período atual não é atualizado. Para conjuntos de dados publicados em capacidades Premium, você também pode especificar uma consulta personalizada.
Dependendo de suas configurações, sua política deve ter esta aparência:
- Revise suas configurações e clique em Aplicar para concluir a política de atualização. Os dados de origem não são carregados com esta etapa.
Salvar e publicar no serviço
Quando seus parâmetros RangeStart e RangeEnd, filtragem e configurações de política de atualização estiverem concluídos, salve seu modelo e publique no serviço. Se o seu conjunto de dados se tornar grande, certifique-se de habilitar o formato de armazenamento do conjunto de dados grande antes de invocar a primeira atualização no serviço.
Atualizar conjunto de dados
No serviço, atualize o conjunto de dados. A primeira atualização carregará dados novos e atualizados no período de atualização, bem como dados históricos de todo o período de armazenamento. Dependendo da quantidade de dados, isso pode levar muito tempo. As atualizações subsequentes, manuais ou agendadas, geralmente são muito mais rápidas porque a política de atualização incremental é aplicada e apenas os dados do período especificado na configuração da política de atualização são atualizados.