A poucos dias eu compartilhei dois artigos (Parte 1 e Parte 2) demonstrando o “Coração” do Power BI, onde foi explicado o funcionamento do Power BI utilizando a VertiPaq Engine através de uma instância local do Analysis Services, como nesse artigo ele estava somente demonstrando os conceitos decidi nesse artigo mostrar esse funcionamento na prática. (Nesse artigo não irei abordar os conceitos do Vertipaq Engine e sim como o Power BI utiliza-se dessa engine)
O primeiro passo é abrir qualquer relatório no Power BI Desktop.
Nesse exemplo irei utilizar o relatório de teste que eu criei no meu artigo anterior, se você quiser ver o passo a passo onde eu crio esse relatório e demonstro a funcionalidade de segurança por contexto de usuário logado clique no texto em azul a seguir :
Tornando o RLS dinâmico com contexto de usuário no Power BI
Chega de enrolação, vamos abrir esse relatório 😉
Após abrir o relatório vamos abrir o gerenciador de tarefas e nele podemos observar dentro dos subprocessos do Power Bi um processo do Analysis Services.
-Ok ¯\_(ツ)_/¯ , você mostrou que tem um processo do analysis services, mas é só isso?
Não, após visualizar o processo do analysis services vamos descobrir em que porta (que quase sempre é aleatória), o analysis services abriu para realizar a conexão com o Power BI.
Existem algumas formas de descobrir a porta do analysis services
Nesse exemplo irei abordar duas dessas (se quiserem se aprofundar nisso indico esse Artigo)
A primeira e mais trabalhosa na minha opinião é via CMD através do comando netstat.
O primeiro passo é digitar netstat -b dentro do prompt de comandos do windows e após ele terminar a execução, devemos procurar pelo processo msmdsrv.exe, onde iremos conseguir achar a porta utilizada para a conexão local com o analysis services.
netstat -b
Segunda forma, através do Dax Studio.
Essa é uma ótima ferramenta que irá ajudar muito no desenvolvimento e depuração dos seus relatórios, ela pode ser baixada através desse link.
Após baixar e instalar e abrir o Dax Studio, vamos ter uma tela parecida com essa :
Clicando no check box onde está escrito PBI / SSDT Model e após selecionando no pick list o nosso relatório (Ele só vai aparecer se o relatório do Power BI estiver Aberto na sua Máquina).
Após clicar em connect, no canto inferior direito será informado a porta e o ip de conexão com o analysis services, um pouco mais simples que o processo feito com o CMD.
Com esse ip e porta em mãos, no caso do exemplo é o localhost:50105, iremos finalmente se conectar com esse conjunto de dados.
Se conectando via Excel
Abra o seu excel e vá até a aba de dados depois clique em outras conexões e selecione o analysis services
Após selecionado essa tela irá aparecer e nela você irá digitar o ip e porta descobertas anteriormente. (Em credenciais deixe a autenticação do windows).
Após clicar em avançar, iremos ver que ele encontrou um cubo chamado de Model
Após clicar em avançar ele ira pedir para guardados essa conexão em um arquivo .odc esse tipo de conexão é semelhante a quando queremos analisar um conjunto de dados que está no serviço do Power BI Web no Excel.
Continuando…
Após clicar em concluir o excel abre um modal para importação desses dados do analysis services, no nosso exemplo iremos selecionar a tabela dinâmica e clicar em “Ok”.
Pronto, será criado uma tabela dinâmica com os dados do conjunto de dados criados no Power BI.