JDC Tech & People

Melhores práticas no Power Query – Por Renato Moreira

O Power Query é uma ferramenta poderosa e versátil que faz parte do conjunto de ferramentas do Power BI. Ele permite que os usuários realizem transformações de dados, limpezas e integrações de várias fontes diferentes, fornecendo uma base sólida para a criação de modelos de dados no Power BI. Neste artigo, discutiremos algumas das melhores práticas no Power Query que podem melhorar a eficiência e o desempenho do seu projeto.

1 – Uso de parâmetros: 
A utilização de parâmetros é uma prática recomendada que facilita as alterações necessárias em seu modelo. Com parâmetros, você pode definir valores que podem ser facilmente alterados posteriormente, permitindo a flexibilidade em seu fluxo de trabalho. Além disso, os parâmetros também contribuem para atividades específicas de automatização do seu projeto, como a atualização incremental, onde é possível atualizar apenas os dados modificados desde a última atualização.

2 – Atualização Incremental: 
A atualização incremental é uma das melhores práticas ao trabalhar com o desenvolvimento no Power BI. Essa abordagem envolve trabalhar em seu ambiente de desenvolvimento com o menor número possível de dados, por exemplo, apenas os últimos 3 meses de dados. Isso mantém seu modelo leve e ágil, facilitando o trabalho de desenvolvimento e teste. A configuração da atualização incremental envolve duas etapas: a primeira no Power Query, onde você pode utilizar filtros para limitar os dados carregados, e a segunda no Power BI, onde você pode configurar a atualização para trazer apenas os dados modificados desde a última carga.

3 – Filtros no Power Query:
É importante lembrar que quanto menos dados carregarmos para o modelo, melhor será o desempenho do seu projeto. Os filtros são seus melhores amigos nesse sentido. Sempre que possível, aplique filtros diretamente nas consultas do Power Query, permitindo que a fonte de dados faça o processamento necessário. Isso reduz a quantidade de dados carregados para o modelo e melhora a eficiência. Quando não for possível utilizar os filtros na origem, utilize os filtros disponíveis no Power Query para filtrar os dados desnecessários antes de carregá-los no Power BI.

4 – Tipagem de dados: 
A configuração correta dos tipos de dados é fundamental para um modelo de dados otimizado e com bom desempenho. Ao importar os dados para o Power Query, verifique se os tipos de dados estão sendo interpretados corretamente. Caso contrário, faça as devidas alterações para garantir a consistência e a correta interpretação dos dados. Isso evita retrabalhos posteriores e ajuda a otimizar o desempenho do modelo.

5 – Modelo Dimensional vs. Tabelão:
O Power BI foi projetado para se tornar otimizado a partir de um modelo dimensional. Um modelo dimensional é uma abordagem de modelagem de dados que organiza as informações em torno de fatos e dimensões, permitindo análises mais eficientes e flexíveis. Diferentemente de outras ferramentas do mercado, no Power BI é necessário trazer o modelo dimensional já da origem dos dados ou modelá-lo no Power Query.
Um modelo dimensional consiste em uma tabela de fatos, que contém as métricas ou medidas que você deseja analisar, e tabelas de dimensões, que contêm informações adicionais sobre os dados, como datas, produtos, clientes, entre outros. Essa estrutura de modelo ajuda a simplificar as consultas e facilita a criação de relacionamentos entre as tabelas.
Por outro lado, o “tabelão” é uma abordagem em que todos os dados são carregados em uma única tabela, sem distinção clara entre fatos e dimensões. Embora essa abordagem possa ser mais fácil de implementar inicialmente, ela pode levar a problemas de desempenho e dificuldades na criação de análises complexas. O modelo dimensional é mais adequado para projetos de BI de médio a grande porte, onde a organização e a otimização dos dados são essenciais.

6 – Remoção de colunas desnecessárias:
Mais uma vez, reforçamos a importância de sempre pensarmos em desempenho ao trabalhar em nossos projetos. Para isso, é recomendado remover colunas desnecessárias para o seu projeto. Manter colunas desnecessárias sobrecarrega o projeto com dados inúteis e torna o relatório mais lento.
Durante o processo de transformação dos dados no Power Query, é possível selecionar quais colunas são relevantes para o seu modelo e descartar as colunas não utilizadas. Isso reduz o tamanho do modelo de dados e melhora a eficiência das consultas. Portanto, sempre avalie as colunas disponíveis e remova aquelas que não são relevantes para suas análises.

7 – Colunas no Power Query vs. Colunas calculadas:
No Power BI, temos duas maneiras de criar novas colunas: no Power Query ou como colunas calculadas usando a linguagem DAX. É importante entender as diferenças entre essas abordagens e escolher a mais adequada para cada situação.

Ao criar colunas no Power Query, estamos realizando transformações nos dados durante o processo de carregamento. Essas colunas são adicionadas à tabela resultante e estarão disponíveis para serem utilizadas em análises posteriores. Essa abordagem é mais eficiente em termos de desempenho, pois as transformações são executadas na etapa de carregamento dos dados.

Por outro lado, as colunas calculadas são criadas usando a linguagem DAX e são calculadas durante a execução das consultas. Isso significa que o processamento das colunas calculadas é feito pela engine do Power BI, o que pode impactar o desempenho, especialmente em modelos de dados grandes. Portanto, sempre que possível, é recomendado criar as colunas necessárias no Power Query, na origem dos dados ou manualmente no Power Query, evitando o uso excessivo de colunas calculadas.

8 – Auto Date/Time:
Quando a opção “Auto Date/Time” está habilitada no Power BI Desktop, ele cria automaticamente uma tabela de data/hora oculta para cada coluna de data encontrada no conjunto de dados. Essa tabela de data/hora automática é, na verdade, uma tabela calculada que gera linhas de dados usando a função DAX. No entanto, como mencionado anteriormente, é recomendado evitar o uso excessivo de tabelas calculadas em um modelo de dados.

Portanto, é uma prática recomendada desabilitar a opção “Auto Date/Time” em seu modelo. Você pode fazer isso acessando as opções do Power Query e desativando essa configuração. Isso impedirá a criação automática de tabelas de data/hora ocultas e permitirá que você tenha um controle mais preciso sobre a modelagem de datas em seu projeto.

9 – Colunas de IDs: 
Ao lidar com colunas de identificação, é importante utilizar o tipo de dados inteiro para as chaves de identificação. Além disso, é recomendado configurar essas colunas como “Não resumir” no Power BI. Essa configuração evita que a coluna seja agregada de alguma forma, garantindo que ela seja tratada como uma coluna de identificação exclusiva.

Uma prática adicional é ocultar as colunas de IDs do modelo de dados depois que os relacionamentos foram estabelecidos. Isso ajuda a manter o modelo organizado e evita confusões durante a análise dos dados. Para ocultar colunas específicas, você pode selecioná-las na exibição do modelo de dados e usar a opção “Ocultar na Vista” no Power BI Desktop.

10 – Organização de pastas:
Para manter um fluxo de trabalho organizado e controlado, é recomendado criar pastas dentro do Power Query para controlar as transformações que você realiza em seus dados. Essa organização facilita a manutenção e a revisão das etapas de transformação, tornando o processo mais eficiente.

Além disso, é importante organizar suas tabelas de acordo com o modelo dimensional proposto. Isso significa agrupar as tabelas de fatos e dimensões em pastas separadas e manter uma estrutura lógica que reflita a estrutura conceitual do modelo de dados. Essa organização ajuda a melhorar a compreensão e a manutenção do modelo, tornando mais fácil a navegação entre as tabelas durante a criação de análises e relatórios.

8. Tabelas e colunas calculadas: O uso de tabelas e colunas calculadas no Power BI pode impactar o desempenho, pois o software precisa utilizar uma engine de processamento menos potente para calcular esses elementos. Para otimizar a performance, é recomendado reduzir o número de colunas calculadas no seu modelo. Além disso, evite o uso excessivo de colunas calculadas que utilizam a função RELATED, pois elas podem aumentar a complexidade do modelo. Da mesma forma, reduza o uso de tabelas calculadas sempre que possível. Essas práticas ajudarão a manter o desempenho do seu relatório em um nível alto.

Além disso, é importante remover a tabela de data automática gerada pelo Power BI, caso ela não seja necessária para o seu modelo. A tabela de data automática é criada automaticamente quando uma coluna de data é identificada no conjunto de dados, mas nem sempre é útil para a análise. Remover essa tabela desnecessária reduzirá a carga de trabalho do Power BI e melhorará o desempenho do modelo.

9. Ocultar colunas similares e IDs das tabelas: As colunas de IDs em uma tabela têm a função de aplicar relacionamentos entre tabelas, mas não devem ser usadas para outras finalidades além disso. É uma boa prática ocultar essas colunas do modelo, pois elas não são relevantes para a análise de dados e podem causar confusão. Além disso, é recomendado ocultar colunas similares em diferentes tabelas para evitar redundância e simplificar o modelo.

Outra prática importante é ocultar a tabela Fato após a conclusão do desenvolvimento de medidas. A tabela Fato geralmente contém informações detalhadas e pode ser desnecessária para os usuários finais. Ocultá-la torna o modelo mais limpo e evita que dados sensíveis ou confidenciais sejam expostos acidentalmente.

10. Performance Analyzer: O Performance Analyzer é uma poderosa ferramenta nativa do Power BI que permite avaliar e diagnosticar problemas de desempenho em seu relatório. Com o Performance Analyzer, você pode analisar o comportamento de objetos, como visualizações, consultas e funções DAX, e identificar gargalos ou áreas que podem ser otimizadas. Essa ferramenta fornece insights valiosos para melhorar a performance do seu relatório e garantir uma experiência mais ágil para os usuários.

Conclusão:
Ao adotar as melhores práticas no Power Query, você estará estabelecendo uma base sólida para o sucesso do seu projeto no Power BI. O uso de parâmetros facilita a flexibilidade e a automação do seu modelo, enquanto a atualização incremental garante um ambiente de desenvolvimento mais leve e eficiente.

A aplicação de filtros no Power Query, seja na própria consulta ou utilizando os recursos disponíveis, contribui para a otimização da performance, carregando apenas os dados necessários para o seu projeto. Além disso, a correta tipagem de dados evita retrabalhos e resulta em um modelo mais otimizado e performático.

A escolha entre um modelo dimensional e um “tabelão” é fundamental para a organização e a eficiência do seu projeto. O Power BI é projetado para ser otimizado a partir de um modelo dimensional, o que garante análises mais eficientes e flexíveis.

A remoção de colunas desnecessárias, a preferência por colunas no Power Query em vez de colunas calculadas e a desativação do recurso Auto Date/Time contribuem para um modelo de dados mais limpo, eficiente e de fácil manutenção.

Além disso, a organização das transformações em pastas e a estruturação das tabelas de acordo com o modelo dimensional proposto fornecem uma visão clara e organizada dos dados, facilitando a criação de análises e relatórios.

Ao implementar essas melhores práticas, você estará maximizando a eficiência do seu projeto no Power BI, garantindo um modelo de dados confiável, de alto desempenho e fácil de manter. Lembre-se de revisar e ajustar constantemente suas práticas, adaptando-as às necessidades e evoluções do seu projeto. Com o Power Query como uma ferramenta poderosa em suas mãos, você estará pronto para explorar todo o potencial do Power BI e obter insights valiosos a partir dos seus dados.