Consta que na vida, só a morte e os impostos são certos, mas se estivermos a falar da vida de uma empresa, podemos acrescentar o Excel. Podem aparecer ferramentas mais modernas ou mais eficazes, mas é certo que o Excel continua e continuará a ser uma ferramenta de eleição para quem precisa de analisar números.

Em demasiados casos os dados são colocados manualmente no Excel quando já existem em bases de dados e o ideal seria fazer essa ligação de modo a não ter de introduzir os dados mais que uma vez. Esse é um cenário que é simples de realizar.

Já um cenário mais complicado é quando queremos ter acesso aos dados mais recentes na base de dados quando nos encontramos fora da empresa. A solução mais profissional e “limpa” é usar uma VPN. Instalar uma VPN é uma solução que normalmente não fica barata. Digo normalmente porque há soluções em software para pequenas implementações que até ficam gratuitas, como é o caso do CloudConnexa da OpenVPN que permite acessos por VPN para 2 utilizadores gratuitamente e a preços acessíveis para mais utilizadores. Tenho essa solução implementada e posso confirmar que funciona, mas hoje quero falar de outra coisa.

Apesar de não ser possível ligar o Excel de fora a uma base de dados dentro da empresa, é possível fazê-lo com o PowerBI; e é possível ligar o Excel ao PowerBI. Assim usando o PowerBI como ponte podemos ter acesso em tempo real aos nossos dados dentro da empresa. Só há um pequeno “se”: os dados têm de estar numa base dados Microsoft SQL Server.

A configuração desta solução não é para os fracos de coração, mas também não é nada do outro mundo, mas antes de começar convém que estejam reunidas as condições para a conseguir implementar, a saber:

1.Os dados a consultar têm de estar em base de dados MS SQL Server;
2.É preciso uma licença PowerBi Pro (13,10€ / mês) para o utilizador que vai criar o “sistema”. Se não tiver uma licença PRO pode obter uma gratuita por 60 dias para testar. Se houver mais utilizadores a terem acesso, podem ter uma licença gratuita;
3.É preciso instalar o on-premises data gateway; o software que permite ao serviço PowerBi aceder à rede local. Não precisa de ser no servidor SQL, até pode ser numa estação de trabalho.

E para o texto em questão, acrescento uma quarta condição:
.

4.Estar familiarizado com o SQL Server e com o PowerBI tanto a aplicação como com o Serviço. Há muito que é preciso saber que não explico (nunca mais acabava o texto…)

Estando reunidas estas condições, podemos avançar.

Resultado Esperado

Vamos usar a base de dados AdventureWorks, uma base de dados de exemplos da Microsoft que pode ser obtida aqui, O objectivo vai ser ter acesso à lista de encomendas no Excel e poder ter acesso aos últimos dados em qualquer lugar, desde que tenhamos acesso à Internet, obviamente…

Não vamos fazer nada muito elaborado, a lista de encomendas chega para demonstrar:

A screenshot of a spreadsheet AI-generated content may be incorrect.

.

Do SQL ao PowerBI

A primeira parte é bastante simples, abrimos o PowerBI e indicamos que queremos ligar ao SQL Server. Colocamos os dados do servidor, base de dados (adventureworks) e o SQL que queremos executar, neste caso:

select salesordernumber,orderdate,shipdate,subtotal from sales.salesorderheader.

É aqui também que indicamos que queremos que os dados sejam consultados em tempo real com a indicação DirectQuery. Se escolhemos a opção Import iríamos ter a possibilidade de indicar no serviço PowerBi com que frequência queríamos os dados actualizados. Também é uma opção interessante se for aceitável ter um pequeno atraso na actualização dos dados, mas no nosso caso queremos mesmo os dados em tempo real.

De seguida indicamos que utilizador é usado para aceder aos dados. Eu gosto de criar um utilizador powerbiservice que uso em todas as ligações do PowerBi. O utilizador só precisa de ter acesso de leitura aos dados necessários, e até convém que seja só o acesso que tem.

E é só, podem, de imediato, ver a consulta criada dentro do PowerBI (aqui com o nome já alterado para Encomendas).

A screenshot of a computer AI-generated content may be incorrect.

Não é necessário, mas se quiserem podem criar umas visualizações para ver se os dados estão certos ou até se quiserem, podem usar este mesmo ficheiro para aceder aos dados a partir do Excel e para usar com visualizações do PowerBI.

Notem, no entanto, que estamos a trabalhar com dados ligados em tempo real à nossa base de dados na empresa, por isso não convém exagerar neste tipo de abordagem. Enquanto o PowerBI Service está a consultar dados a vossa base de dados pode ficar bloqueada para alterações deixando os utilizadores locais pendurados até a consulta acabar. Usem este método com parcimónia e vão sondando os utilizadores sobre alterações de comportamento nas aplicações que usam.

A screenshot of a computer AI-generated content may be incorrect.