
O suporte de tabelas híbridas no Power BI Premium é a mais recente atualização oferecida pela Microsoft. Obtenha mais detalhes técnicos sobre a atualização incremental consultando o artigo sobre “Atualização incremental para conjunto de dados no Power BI” diretamente na documentação do produto.
A Microsoft acaba de anunciar um novo aprimoramento empolgante e inovador para atualização incremental – estamos falando de uma atualização incremental aumentada com dados em tempo real. Ou seja, a partir de agora o desempenho do Power BI Premium será extremamente rápido no modo de importação e as alterações de dados mais recentes no Data Warehouse serão refletidas nos relatórios do usuário sem precisar realizar qualquer atualização do conjunto de dados.
Até este exato momento, os criadores de conjuntos de dados precisavam fazer escolhas difíceis entre o desempenho da consulta e a atualização dos dados. O modo de importação oferece o melhor desempenho, contudo a atualização dos dados apresenta novos desafios se novos dados chegarem em uma cadência muito alta. Ou seja, é intensivo em recursos e ineficiente em importar dados para um conjunto de dados em intervalos muito curtos.
O modo DirectQuery, por outro lado, oferece atualização de dados, mas às custas do desempenho do relatório. Como o Power BI não importa dados, mas converte consultas de relatório em consultas de fonte de dados, as alterações de dados mais recentes são captadas mais rapidamente, porém, as viagens de ida e volta de consulta/resposta entre o Power Bi e a fonte de dados demoram e tornam os relatórios mais lentos.
Como o diagrama a seguir ilustra, uma tabela híbrida pode ajudar a encontrar o equilíbrio certo entre o desempenho da consulta e a atualização dos dados. Uma tabela híbrida é essencialmente uma tabela (grande) que possui uma ou várias partições no modo de importação, bem como outra partição no modo DirectQuery. Se a partição do DirectQuery for suficientemente pequena em comparação com as partições do modo de importação, as viagens de ida e volta de consulta/resposta entre o Power BI e a fonte de dados ainda devem ser razoavelmente rápidas, enquanto o acesso à maior parte dos dados já é super-rápida no modo de importação. Os dados de importação e DirectQuery são apresentados aos usuários como uma única tabela com definições e cálculos de negócios.

Benefícios do suporte para o Power BI Premium
O suporte de tabelas híbridas no Power BI Premium oferece os seguintes benefícios:
- Desempenho extremamente rápido no modo de importação: As partições do modo de importação oferecem desempenho de consulta extremamente rápido, pois os dados importados durante a atualização de dados estão prontamente disponíveis na memória local para responder às consultas do cliente.
- Atualizações mais recentes do data warehouse sempre incluídas: solicitações DirectQuery são enviadas para a fonte de dados, portanto, os resultados da consulta incluem as atualizações de dados mais recentes. O desempenho depende de quanto tempo a fonte de dados leva para responder com os resultados, mas as consultas são mais rápidas se apenas uma pequena parte dos dados for consultada, como atualizações de dados que ocorreram após a última atualização.
- Melhor utilização de recursos, especialmente para conjuntos de dados muito grandes: Com as atualizações de dados mais recentes disponíveis em tempo real, são necessárias menos atualizações de dados para obter as alterações mais recentes. Com menos ciclos de atualização consumindo seus recursos de capacidade Premium, mais desses recursos estão disponíveis para fornecer um bom desempenho de relatório e experiência do usuário. Você não precisa mais atualizar seus conjuntos de dados em uma cadência muito alta se os dados no Data Warehouse mudarem com frequência!
- Políticas de atualização incremental com suporte em tempo real: A atualização incremental aplica um esquema de particionamento sofisticado no modo de importação para que as atualizações sejam concluídas muito, muito mais rapidamente do que se você importasse todo o volume de dados em uma única partição de tabela todas as vezes. Apesar dessa complexidade, no entanto, é relativamente simples configurar uma política de atualização incremental no Power BI Desktop. O criador do relatório não requer nenhuma habilidade de particionamento. E agora, com tabelas híbridas, os criadores de relatórios podem adicionar facilmente uma partição DirectQuery para obter os dados mais recentes em tempo real. Basta configurar a atualização incremental como de costume e habilitar a caixa de seleção.
Obtenha os dados mais recentes em tempo real com DirectQuery (somente Premium)!
A captura de tela a seguir mostra como configurar uma política de atualização incremental em tempo real no Power BI Desktop. Depois de publicar o conjunto de dados em um Workspace Premium por usuário (PPU) ou em um Workspace com capacidade Premium, o Power BI aplicará automaticamente a política de atualização e particionará a tabela como uma tabela híbrida durante a atualização de dados. Para obter detalhes sobre as etapas de configuração, consulte o artigo Atualização incremental para conjuntos de dados no Power BI na documentação do produto.

Embora a configuração seja tão simples quanto habilitar uma única caixa de seleção (Obter os dados mais recentes em tempo real com DirectQuery – somente Premium), observe que a presença de uma partição DirectQuery em uma tabela limita a tabela aos recursos disponíveis no modo DirectQuery.
As expressões complexas do Power Query não podem ser dobradas, o que significa que a partição DirectQuery não pode usar essas expressões. E as colunas calculadas também podem causar problemas de dobra. Além disso, as tabelas de tipo de dimensão com relacionamentos com sua tabela híbrida devem estar em modo duplo para garantir um bom desempenho.
Por esse motivo, recomendamos recriar seu conjunto de dados no modo DirectQuery antes de configurar uma política de atualização incremental em tempo real.
O conjunto de dados no modo DirectQuery garante que não há problemas de dobra ou compatibilidade. Em seguida, converta a tabela de fatos desejada em modo de importação e as tabelas de dimensão em modo duplo para garantir um bom desempenho e, em seguida, configure sua tabela de fatos como uma tabela híbrida.
Conforme mencionado anteriormente, não se esqueça de realizar pelo menos uma atualização de dados depois de publicar seu conjunto de dados no serviço do Power BI para que o Power BI possa aplicar a atualização incremental com política em tempo real. Essa é uma etapa importante porque a partição DirectQuery não existe no conjunto de dados até que o Power BI aplique a política e particione a tabela. Isso só acontece durante a atualização de dados agendada ou manual no serviço do Power BI.
Assim que a partição DirectQuery for adicionada, também é uma boa ideia configurar a atualização automática da página do relatório, se desejado, no serviço do Power BI para que seu relatório sempre mostre as atualizações de dados mais recentes da fonte de dados. A atualização automática de página faz com que seus visuais de relatório consultem novos dados, em uma cadência predefinida. Para obter detalhes, consulte Atualização automática de página no Power BI na documentação do produto.
Obviamente, você também pode aplicar uma atualização incremental com política em tempo real a uma tabela programaticamente usando as bibliotecas de cliente do Analysis Services com pontos de extremidade XMLA no Power BI Premium. O trecho de código a seguir demonstra como fazer isso. Apenas certifique-se de definir o RefreshPolicyMode como Hybrid e IncrementalPeriodsOffset como -1 para que não haja atraso ou período inicial para a cabeça da janela de atualização contínua, pois as políticas híbridas suportam apenas atualizações de dias completos.
Também é uma boa ideia acionar uma atualização junto com a atualização da política para que o serviço do Power BI possa particionar a tabela adequadamente.
using System;
using TOM = Microsoft.AnalysisServices.Tabular;
namespace Hybrid_Tables
{
class Program
{
static void Main(string[] args)
{
using (var server = new TOM.Server())
{
server.Connect("powerbi://api.powerbi.com/v1.0/myorg/AdventureWorksTarget");
TOM.Database database = server.Databases.FindByName("AdventureWorks");
if (database == null)
{
throw new ApplicationException("Database cannot be found!.");
}
if(database.CompatibilityLevel < 1565)
{
database.CompatibilityLevel = 1565;
database.Update();
}
TOM.Model model = database.Model;
TOM.Table salesTable = model.Tables["Sales"];
// Apply a RefreshPolicy with Real-Time to the Sales table.
TOM.RefreshPolicy hybridPolicy = new TOM.BasicRefreshPolicy
{
Mode = TOM.RefreshPolicyMode.Hybrid,
IncrementalPeriodsOffset = -1,
IncrementalGranularity = TOM.RefreshGranularityType.Day,
RollingWindowGranularity = TOM.RefreshGranularityType.Month,
IncrementalPeriods = 2,
RollingWindowPeriods = 4,
SourceExpression =
"let\n" +
" Source = Sql.Database(\"awsampledw.database.windows.net\", \"AdventureWorksDW\"),\n" +
" dbo_FactInternetSales = Source{[Schema=\"dbo\",Item=\"FactInternetSales\"]}[Data],\n" +
" #\"Filtered Rows\" = Table.SelectRows(dbo_FactInternetSales, each [Date] >= RangeStart and [Date] < RangeEnd)\n" +
"in\n " +
" #\"Filtered Rows\""
};
salesTable.RefreshPolicy = hybridPolicy;
model.RequestRefresh(TOM.RefreshType.Full);
model.SaveChanges();
}
}
}
}
O suporte a tabelas híbridas também está disponível sem uma política de atualização incremental. Por exemplo, você pode particionar uma tabela programaticamente por meio de endpoints XMLA para aplicar qualquer esquema de particionamento que desejar.
Você também pode adicionar uma partição DirectQuery a uma tabela para dados históricos antigos (e possivelmente muito grandes). Isso é o oposto da abordagem de atualização incremental em que os dados mais recentes são buscados no Data Warehouse. Se seus relatórios consultarem dados mais recentes com muito mais frequência do que os dados históricos, pode fazer sentido manter os dados históricos no Data Warehouse e importar os novos dados.
Este não é um cenário em tempo real, mas é uma estratégia útil para soluções de Big Data em que o volume de dados históricos é muito grande para o modo de importação, mas você ainda deseja disponibilizá-lo em um relatório. Uma futura postagem no blog está planejada para mostrar com mais detalhes como adicionar uma partição DirectQuery a uma tabela programaticamente, portanto, fique atento!
Esperamos que você possa aproveitar esse novo recurso inovador em suas soluções de BI corporativas para fornecer desempenho de relatórios extremamente rápido para seus usuários e, ao mesmo tempo, incorporar as alterações de dados mais recentes do lado do Data Warehouse à medida que ocorrem, sem precisar recorrer a uma alta cadência de ciclos de atualização de dados que consomem recursos.
Source: Power BI.
Continue a acompanhar nossos posts sobre as novidades do Power BI toda sexta-feira aqui no blog DataEX. E para não perder nenhuma novidade do Universo dos Dados, nos siga em nossas social networks.
Tenha acesso aos melhores dashboards criados com o Power BI.
Construa a base de dados do seu negócio com o apoio de um time especialista em BI. Contacte a DataEX e saiba como transformar seu negócio.
Preencha o formulário e converse com um de nossos especialistas.
