Quando fazemos análise de dados, rapidamente sentimos a necessidade de enquadrá-la num contexto de evolução temporal, por exemplo, ao longo de períodos de anos, meses ou até dias. Como podemos fazê-lo?
O Power BI tenta ajudar-nos com a opção “Time Intelligence” (auto date/time for new files). Conforme definição da Microsoft, quando esta opção está ligada, “por defeito é criada uma tabela de data escondida, para novos ficheiros, para cada campo no modelo que tenha um tipo de dados Date ou Date type”.
As atualizações de Outubro do Power BI trazem algumas opções bastante interessantes nomeadamente ao nível da modelação dos datasets e do serviço, vejam as novidades abaixo.
Com a possibilidade de criação de Field Parameters, temos o potencial de realizar diversas tarefas no Power BI, sendo que o dinamismo e flexibilidade desta funcionalidade aumenta a facilidade das soluções.
Outro dia tive uma questão sobre como se poderia criar uma diferença entre datas de forma dinâmica, ou seja, tendo um modelo com várias colunas de datas como poderíamos selecionar duas datas e encontrar o número de dias entre as mesmas sem existir a necessidade de criar todas as variações.
Recentemente deparei-me com o pedido de um cliente que pretendia um relatório sobre a qualidade dos seus dados nas suas múltiplas fontes. Pretendia detetar diferenças entre os estados de vendas nessas mesmas fontes. Rapidamente foi elaborado o relatório, e posteriormente foi solicitado que essas mesmas diferenças fossem enviadas por e-mail a um parceiro que faz a gestão de umas das fontes de dados. Sendo fora do tenant e não pretendendo dar acesso como utilizador externo foi explorada como poderíamos usar o Power Automate e o Power BI Service para satisfazer o pedido.
Os dados para enviar são dados simples, um ID de venda e a descrição do seu estado (neste caso apenas os pendentes) .
OrderID
Status
XYZ_1
Pendente
WZT_2
Pendente
1º Passo – criar uma tabela no Power BI Desktop com a informação que pretendemos enviar e ter o dataset publicado no Power BI Service
2º Passo – vamos precisar da query que é executada para mostrar os dados da tabela , par isso vamos ter de usar o “Performance analyzer” para vermos essa mesma query
3º Passo – criar o fluxo no Power Automate para enviar diariamente as informações por e-mail
Selecionar “Create”
Escolher “Scheduled cloud flow” de modo a criarmos uma recorrência diária
Definir hora e modo de repetição , no nosso caso vamos fixar todos os dias para as 09:00 AM
Vamos selecionar as ações para o Power BI e escolher “Run a query against a dataset”
Escolhemos o worksapce , dataset e colamos a query que retiramos a pouco da tabela do Power BI Desktop:
Para entendermos um pouco melhor o que esta a ocorrer vamos salvar e correr o fluxo:
Depois de correr clicar na parte do Power BI
Assim conseguimos ver na parte dos outputs como esta a ser criada a informação
Vamos copiar para um editor de texto o output, pois vamos necessitar do formato mais a frente.
Voltamos para a edição do fluxo:
Agora vamos transformar o output de modo a conseguirmos colocar essa mesma informação num corpo de e-mail.
Para tal vamos começar por usar “Parse JSON”
Neste passo precisamos adicionar a “tabela” criada pelo output anterior e adicionarmos o “Schema”
Neste passo vamos colar o exemplo que tiramos a pouco do output no passo anterior.
De seguida precisamos pegar neste JSON e criamos o conteúdo para o corpo de e-mail.
Vamos usar o “Create HTML table”:
Chamo a atenção que optamos por criar “Custom columns” de modo a ir buscar a informação ao JSON. Assim temos uma tabela HTML que podemos usar no corpo de e-mail.
Clicar em salvar e testar o fluxo
4º passo – validar o e-mail enviado , para testar o envio utilizei um e-mail pertencente a empresa e outro fora da empresa, isto é, dentro do tenant e fora do tenant :
– E-mail enviado para o e-mail da empresa:
– E-mail enviado para o e-mail fora da empresa:
Conclusão;
Na minha opinião, esta técnica pode ser benéfica aos utilizadores no momento de partilhar determinadas informações, tendo sempre em atenção o GDPR.
Foi publicado recentemente um vídeo pela CURBAL no qual ela vai um pouco mais além fazendo transformações no aspeto do design da tabela enviada, caso tenho curiosidade partilho o link:
Aproveito ainda para deixar um agradecimento ao PBI Portugal e ao Miguel Felix pela disponibilidade em deixar publicar o artigo no blog.
Na atualização de junho do Power BI foi adicionada uma função no Power Query que não foi referida no resumo. Essa função é Table.AddRankColumn.
Esta função como nome indica permite adicionar uma coluna de Ranking a uma tabela. Anteriormente para adicionar uma coluna de ranking, através de M language tínhamos que fazer alguns passos avançados como Group By ou Add Index, com a introdução desta nova função já não precisamos.
Um dos requisitos que surge frequentemente no desenvolvimento de relatórios no Power BI é a possibilidade de dinamicamente colunas ou medidas nas visualizações. Esta funcionalidade tinha diversas formas de ser ultrapassada, fosse através da criação de bookmarks, tabelas auxiliares ou calculation groups.
Apesar de muitas delas não serem complexas em termos de funcionamento a sua configuração era trabalhosa, além de que a sua alteração não era fácil sem conhecimento da solução inicial.
Na atualização de maio 2022 tivemos a apresentação dos Field Parameter que permitem simplificar essas transformações.