Você que trabalha com Power BI já deve ter ouvido falar sobre a nova funcionalidade adicionada pela Microsoft chamada “Conjunto de dados de streaming”. Com esse tipo de conjunto de dados podemos analisar os valores que foram inseridos em tempo real. Nesse artigo irei demonstrar de uma maneira bem simples como receber as respostas das perguntas elaboradas no Microsoft Forms e inseri-las dentro do Power BI para serem analisadas, além de tudo iremos enviar uma mensagem no Teams avisando qual foi a pessoa que preencheu o formulário. Vamos lá?
Para começarmos, vamos ao Microsoft Forms onde criaremos o nosso formulário, vou deixar o link dele aqui para facilitar o acesso. Para o nosso exemplo, iremos inserir apenas três perguntas básicas. Seu formulário ficará parecido com a imagem abaixo:
Figura 1 – Formulário de pesquisa do Microsoft Forms.
diferença será que os dados não serão inseridos em tempo real no Power BI. O motivo disso veremos logo abaixo.
Com o formulário pronto, iremos para o local onde iremos armazenar esses dados, ou seja, o conjunto de dados do Power BI. Nele iremos acessar um Workspace de nossa preferência e no canto superior esquerdo iremos selecionar a opção “Novo”, nele selecionaremos a opção “Conjunto de dados de streaming”, conforme abaixo:
Figura 2 – Opção selecionada para criação do DataSet de streaming.
Na tela que será aberta, iremos selecionar a opção “API”, conforme abaixo:
Figura 3 – Origem dos dados.
Basta clicarmos na opção avançar e iremos configurar nossa API. Nessa parte iremos planejar onde cada resposta do Forms será armazenada e qual formato ela terá (Texto, Número, DateTime). Logo abaixo selecionaremos a opção “Análise de dados histórica” para que o Power BI armazene nossos dados.
Figura 4 – Construção da API do Power BI.
Até o momento nosso projeto está da seguinte forma: De um lado temos a entrada de dados através do Microsoft Forms. Do outro lado temos o conjunto de dados do Power BI esperando para receber as respostas inseridas no que serão enviadas. A pergunta que nos vem a mente é: Como iremos fazer para que o Power BI e o Forms se comuniquem? A resposta é: Power Automate.
O Power Automate anteriormente chamado “Power Flow”, é um serviço onde podemos criar fluxos de trabalho para automatizar rotinas, sincronizar arquivos e muito mais. Basicamente o Power Automate trabalha com “Triggers”, ou seja, gatilhos que são disparados conforme uma determinada ação é realizada. Quando esse gatilho é disparado, podemos pedir para que ele faça uma tarefa preestabelecida.
Vamos acessar a página inicial do Power Automate. Nessa tela, vamos clicar sobre o botão “Criar” no menu lateral esquerdo. Na tela que será aberta, selecionaremos a opção “Fluxo da nuvem automatizado”. Nessa nova tela que será aberta, iremos inserir o nome do nosso fluxo e no campo “Escolha o gatilho do seu fluxo” selecionaremos a opção “Quando uma nova resposta é enviada”, a figura abaixo demonstra os passos a serem seguidos. Nessa parte você pode observar a quantidade de gatilhos que o Power Automate possui. São várias opções de automatização que ele oferece.
Figura 5 – Criação do fluxo do Power Automate.
Selecionado o gatilho que acionará o nosso fluxo de automação, precisaremos informar qual formulário será a fonte dos dados imputados. Basta selecionarmos o nosso formulário do Microsoft Forms que criamos lá no início.
Figura 6 – Seleção do formulário que será usado como gatilho do fluxo.
Dessa forma, toda vez que uma resposta for enviada pelo formulário, ela acionará esse gatilho. Após isso iremos adicionar uma nova etapa e a ação que deverá ser executada será “Obter os detalhes da resposta”. Conforme abaixo.
Figura 7 – Seleção da operação a ser executada.
Nesse campo iremos informar novamente o “ID do formulário” e o “ID da resposta”. Note que o Power Automate já sugere o conteúdo dinâmico na resposta. Basta selecionarmos conforme figura abaixo.
Figura 8 – Inserindo o ID da resposta.
Até esse ponto temos os detalhes das respostas enviadas. Vamos agora inseri-las no conjunto de dados do Power BI. Para isso vamos inserir a ação “Adicionar linhas a um conjunto de dados” conforme figura abaixo.
Figura 9 – Seleção da ação a ser executada.
Nessa ação iremos informar o Workspace onde está o conjunto de dados que criamos anteriormente, qual será o conjunto de dados selecionado e o nome da tabela existente dentro desse conjunto de dados, conforme abaixo:
Figura 10 – Seleção do Workspace, conjunto de dados e tabela.
Note que ao preencher esses três campos acima, o Power Automate irá habilitar os campos que cadastramos lá no início quando criamos nossa API. Nesses campos iremos fazer um mapeamento onde informaremos qual campo de nossa API deverá receber a resposta de nosso formulário. Perceba que ele traz todas as perguntas do formulário, algo simples e intuitivo. O resultado você pode conferir abaixo:
Figura 11 – Mapeando os campos do formulário no conjunto de dados.
Para finalizar nosso fluxo, vamos enviar uma mensagem no Teams informando o nome de quem preencheu o formulário. Para isso vamos adicionar uma nova etapa conforme abaixo:
Figura 12 – Configurando a ação do Teams.
Nessa etapa você terá a opção de postar como um “bot” ou como o usuário que está logado na conta. Deveremos especificar onde iremos postar a mensagem o texto que deverá ser enviado. No nosso caso concatenamos uma mensagem com o campo do nosso formulário. O resultado pode ser visto abaixo.
Figura 13 – Definição do local onde será postado a mensagem no Teams.
Pronto, seu fluxo de automação está pronto. Você pode testar esse fluxo clicando sobre o botão no canto superior direito. Após preencher o formulário, os passos serão executados e apresentados conforme abaixo.
Figura 14 – Resultado do fluxo do automate.
Por fim, basta criarmos um Dashboard no Power BI usando o conjunto de dados de streaming que acabamos de usar. Assim que o formulário for preenchido as respostas aparecerão instantaneamente no Dashboard do Power BI.
Mas não é apenas isso, se esse artigo te despertou curiosidade e abriu sua mente para novas possibilidades de integrações, saiba que podemos usar a API do Power BI para fazermos muito mais. Para concluir esse artigo vou deixar o exemplo de um código simples em Python que capta informações do seu computador como memória RAM utilizada e processamento e insere esses dados em tempo real no Power BI. Para isso basta usarmos os passos apresentados no início desse artigo. Crie um Conjunto de dados de streaming com os campos conforme abaixo. Em um terminal de sua preferência execute o código Python abaixo passando a URL da API do Power BI como parâmetro da função. Desenvolva seu Dashboard no Power BI. Enquanto o script estiver sendo executado os dados do seu Dashboard serão atualizados em tempo real.
Figura 15 – Criação da API no Power BI
Figura 16 – Código Python para enviar os dados para a API
Figura 16 – Dashboard com os dados recebidos via Python em tempo real.
Essa é apenas uma demonstração de como podemos integrar a API do Power BI a diversas aplicações e fazer uso do conjunto de dados em tempo real.
Diego Ferrarini
Analista de Business Intelligence
Comentarios