Como evitar a necessidade de GATEWAY para atualizar dados no Power BI?

Leonardo Karpinski

Leonardo Karpinski

Mestre do Power BI, criador do Curso Express de Power BI e Curso Completo de Power BI. Formou mais de 16 mil alunos nos últimos anos e participou de projetos em grandes empresas nacionais e multinacionais.

E aí, pessoal! Tudo bem?

Você trabalha com arquivos locais ? Sua empresa utiliza o Office 365 (OneDrive e SharePoint)? A última live mostrou como podemos atualizar os dados no Power Bi sem Gateway.

Há basicamente 3 formas de atualizar os dados no Power Bi Online:

1. Atualizando manualmente os dados no Power Bi Desktop e publicando novamente;
2. Configurando atualizações automáticas no serviço online (PBI Online) ou
3. Fazendo uma chamada de API para o respectivo endpoint.

Note que no caso 2, precisaremos de Gateway (se a fonte de dados for local). Em geral, o cenário padrão é: quem trabalha com desenvolvimento de Dashboards ou é da área de negócios / financeiro na empresa não possui permissão para instalar e configurar o Gateway, sendo necessário o time de TI para realizar essa etapa. Nosso objetivo é mostrar uma maneira de realizar a atualização dos dados sem precisar do Gateway . Note que se a fonte for online (Google Drive, SharePoint, SQL na Azure, etc) não precisaremos de Gateway.

Já no caso 3 (uso de API), é necessário um conhecimento mínimo de programação. Focaremos na forma 2, beleza?!

Importando dados de uma pasta

Pra exemplificar o cenário de atualização de dados, vamos importar uma pasta. Lembra como faz isso? Obter dadosPasta Copiar o caminho da pasta onde estão os arquivos e colar na área solicitada ⇒ OkTransformar Dados.
Agora, vamos resumir as etapas realizadas no Editor de Consultas (Power Query):

1. Adicionar uma coluna personalizada:
Clique na Guia Adicionar Coluna Coluna Personalizada digite a fórmula abaixo e clique em Ok:

Excel.Workbook([Content])

2. Remover colunas desnecessárias:
Selecione as colunas Content e Name com o botão CTRL e clique com botão direito em uma delas –> Selecione Remover Outras Colunas.


3. Expandir dados:
Vá até o botão da coluna adicionada e clique em expandir (selecione apenas Data) e clique em Ok.

Figura 1: Expandindo o conteúdo dos arquivos


4. Expandir colunas:
Clique no botão da coluna Data ExpandirOk

Figura 2: Expandindo as colunas de cada arquivo da pasta


5. Tranformar dados:
Durante a live, realizamos essa etapa rapidamente apenas para obter os arquivos tratados. Como não é um passo a passo “padrão” e não é o nosso objetivo hoje então não entraremos nos detalhes da transformação dos dados, ok?! Se precisar veja essa live aqui sobre estruturação de arquivos com Power Query.


Salvando os arquivos

Agora, vamos salvar esse arquivo .PBIX na Pasta do OneDrive.

O bacana do OneDrive é que você pode sincronizar os arquivos com sua máquina local.

Vamos acessar o PBI Online e procurar o arquivo que salvamos?! Para isso acesse https://app.powerbi.com, logue com seus dados e vá até o botão do canto esquerdo superior. Em seguida, clique em OneDrive.

Figura 3: Acessando o OneDrive


Agora vem o segredo: ao invés de conectar os arquivos através de uma pasta local, vamos realizar a conexão utilizando o endereço web dessa pasta do OneDrive. E detalhe: não precisaremos conectar em arquivos de forma individual! Agora, conseguimos realizar a conexão de uma pasta inteira!

Então, temos duas formas de evitar o uso de arquivos locais: usando o OneDrive ou o SharePoint. Basicamente o OneDrive for Business é um SharePoint ‘disfarçado’. O SharePoint tem recursos adicionais voltados principalmente para uso e compartilhamento de arquivos em times (colaborativo).

O OneDrive for Business é somente a parte de Documentos do SharePoint.

Agora vamos replicar essa etapa no SharePoint. Clique em SharePoint. Lembrando que se você tiver licença do OneDrive, automaticamente você terá licença do SharePoint.

Figura 4: Acessando o SharePoint


Após clicar nesse botão, veja que haverá um botão Criar site. O SharePoint trabalha dessa forma, com sites. Quando criamos um site, basicamente estamos criando um grupo de trabalho e por consequência também é criado um Workspace no Power Bi.

Clicando nesse botão Criar site e preenchendo as informações solicitadas teremos esse site criado:

Figura 5: Documentos de um site criado no SharePoint


Note que se clicarmos em Sincronizar será criada uma pasta na máquina local. Essa pasta estará conectada diretamente com o site e vice versa! Ou seja, se inserir um arquivo na pasta, esse arquivo vai para a nuvem. Se inserir um arquivo nesse site, ele vai aparecer na pasta. Gostou?! Ainda não acabou!

Agora vamos copiar aquela nossa pasta de arquivos (com arquivos Excel) nessa pasta nova. Ao clicar em Sincronizar, enviaremos ela para a nuvem. Agora, vamos copiar uma parte da URL e colar no Power Bi Desktop para substituir aquele caminho de Pasta Local que tínhamos antes.

Figura 6: Copiando a URL gerada no SharePoint


Veja na imagem acima que copiaremos somente a parte da URL em destaque (vai até o nome do Site que criamos – “Live19”).

Vamos voltar no Power Bi Desktop, clicar em Obter Dados ⇒ Digite Share no campo de busca ⇒ Selecione Pasta do SharePointConectar ⇒ Cole a URL que copiamos ⇒Ok. Ah, se quiséssemos fazer o mesmo pelo OneDrive, o modo de conexão no Power Bi seria Web, ok?! Mesmo esquema, copiar a URL e colar no campo solicitado do Power Bi Desktop!

Ah, uma dica: se tiver problema de credencial no Power Bi Desktop clique na setinha para baixo do botão Transformar DadosConfigurações da fonte de dadosPermissões Globais Limpar Todas as Permissões.

Figura 7: Limpando Permissões da Fonte de Dados


Voltando ao link que colamos, aparecerá uma janela para podermos nos conectar ao SharePoint. Selecione Conta da MicrosoftEntrar ⇒ Insira usuário e senha do Office 365 ⇒ Conectar.

Figura 8: Conectando no SharePoint através da Conta Microsoft.


Em seguida, aparecerá aquela janelinha com a lista de arquivos (semelhante nos conectamos a uma pasta local) e agora devemos clicar em Transformar Dados.

Agora vem o problema: todos os arquivos que estiverem naquela pasta do seu site vão aparecer na lista de arquivos do Editor de Consultas, independentemente se você deixou cada arquivo numa subpasta ou não. Isso acontece porque quando realizamos essas etapas, foi utilizada a função SharePoint.Files e como argumento aquele caminho que colamos. Não tem como conectar numa pasta específica assim… Lembra que o link do site que colamos só vai até o nome do site (“…sites/Live19/”)?!

Para resolver isso, no lugar de SharePoint.Files digitaremos SharePoint.Contents. Depois, clique em Table na linha de Documentos Compartilhados para expandir suas pastas. Faça esse procedimento até chegar nos arquivos que você desejar. Veja a imagem:

Figura 9: Navegando entre Pastas do SharePoint


Veja que ao navegar entre pastas apenas uma etapa foi adicionada. Conseguimos então encontrar os arquivos de uma pasta específica, veja como ficou:

Figura 10: Encontrando os arquivos de uma pasta específica


Agora, podemos publicar! Salve o arquivo novamente e clique em Publicar (Guia Página Inicial) ⇒ Selecione o local de publicação.

Agora, vamos programar a atualização automática! Para isso, vá até o Power Bi Online ⇒ Workspaces ⇒ Local onde você publicou o relatório. Procure pelo tipo Conjunto de Dados e clique no ícone para atualizar. Veja o erro que apareceu:

Figura 11: Erro ao atualizar conjunto de dados


Esse erro ocorre porque as credenciais do Power Bi Desktop não vão junto ! Ou seja, teremos que fazer login novamente na nossa fonte de dados! Vamos corrigir isso clicando no botão ao lado desse de atualizar (Agendar atualização). Depois clique em Editar Credenciais ⇒ Método de Autenticação OAuth2Entrar.

Figura 13: Editando credenciais do SharePoint


Após logar com sua conta, a opção Atualização agendada ficará disponível conforme imagem abaixo:

Figura 13: Configurações de agendamento disponíveis


Note que se voltarmos naquele botão de atualização, veremos que não aparecerá mais aquela mensagem de erro! Sucesso! Pronto, agora conseguimos agendar atualizações e/ou atualizar os dados! Legal, né?!


Se quisermos nos conectar à nossa fonte de dados com o OneDrive, basta irmos até o OneDrive, copiarmos a URL do local onde estão os arquivos e colar no argumento da função SharePoint.Contents no Editor de Consultas. Não precisaremos mudar a função SharePoint.Contents, veja só:

Figura 14: Conexão pelo OneDrive usando SharePoint.Contents


Depois, mesmo passo a passo: selecione Conta Microsoft ⇒clique em SharePoint (não vai aparecer o botão Entrar como na figura 8 porque já estamos usando o SharePoint, ok?!) ⇒ logue com sua conta do Office 365.


Perguntas e Respostas

Agora vamos listar algumas perguntas bacanas realizadas durante a live ao vivo.

Aquelas opções de Configurações e Privacidade (naquela janela de autenticação) serve para alguma coisa?!

Participante da Live
Figura 15: Configurações de nível de privacidade (editando credenciais)


No geral, se a fonte de dados pertence à sua empresa, selecione a opção Organizacional. Agora se a fonte for web (dados de um site na internet por exemplo), selecione Public, caso contrário você não vai conseguir se conectar ao site. E se a fonte de dados for privada (só você ou apenas determinados usuários podem ter acesso)?! Então, selecione a opção Private. Se precisar entender melhor a diferença entre elas, clique aqui.

Aquele limite máximo de 8 atualizações automáticas por dia continua valendo para métodos importação de dados do OneDrive e SharePoint?!

Participante da Live

Sim! Continua limitado a 8 atualizações por dia!

No OneDrive precisa ser a versão paga?

Participante da Live

Sim! Lembrando que se você já tiver o Office 365, já terá o OneDrive.

O Douglas Martins comentou:
Leo, compensa muito pegar o plano Premium. Pago 35,70 e vem o SharePoint e OneDrive normal e OneDriveforBusiness. Basicamente dinheiro de cerveja kk

No caso de conectar um arquivo do OneDrive (uma planilha), publicar o PBI e compartilhar um link público, o link público não atualiza porque?!

Oliveira, Gledson

Atualiza sim. Mas demora 30 min ou até 1h para atualizar.

Tabelas importadas de um modelo relacional e organizadas no Power Bi (Power Query) no modelo estrela, teria a mesma performance de tabelas importadas diretamente de um banco no modelo estrela?

Santos, Danilo

Depende de como será realizada a importação das tabelas e da complexidade de manipulações feitas. Com o Query Folding, se você for com o botão direito na última etapa aplicada no Editor de Consultas e clicar em Exibir Consulta Nativa, você consegue garantir que conseguiu levar todas essas transformações direto para a fonte. Lógico que trazer os dados prontos da fonte geralmente é mais garantido, beleza?! Ah, no curso completo explico melhor sobre Query Folding. Você também pode dar uma olhada nesse vídeo.

Bom pessoal, esse foi o conteúdo da Live #19! Até a próxima!

Abraços,

Leonardo!

Compartilhe este post:
Compartilhar no facebook
Compartilhar no linkedin
Compartilhar no twitter
Compartilhar no pinterest