Em muitos cenários do dia a dia as equipes que desenvolvem em Power BI, necessitam de ferramentas que permitam a colaboração e ganho de escala no desenvolvimento de relatórios e outros artefatos.
Pensando nisso, a Microsoft disponibilizou a integração nativa do Git com o Power BI. E nós aqui da Compass UOL já estamos utilizando esta solução que proporciona grandes ganhos para nossas equipes de desenvolvedores e nos permite agregar maior valor para nossos clientes.
Como era
Até outubro de 2023 existiam várias formas de se versionar e até fazer comparações de códigos entre relatórios do Power BI desenvolvidos por diferentes desenvolvedores. Estas formas ajudavam um pouco no dia a dia, mas ainda não traziam todo o poder que as ferramentas Git traziam há muito tempo para desenvolvedores de sistemas, por exemplo, como versionamento com identificação de alterações linha a linha, colaboração de equipes trabalhando no mesmo arquivo ou projeto simultaneamente e a realização de rollback de alterações pontuais se necessário.
Como está
Em outubro de 2023 a Microsoft disponibilizou a integração nativa do Git com o Power BI, integração esta que trouxe muitos benefícios para desenvolvedores e empresas, como por exemplo:
- Colaboração simultânea entre os desenvolvedores;
- Versionamento linha a linha, analisando e comparando o código em JSON interno de cada relatório e modelo semântico.
- Possibilidade de vinculação de branchs do repositório em workspaces independentes, possibilitando a visualização em ambientes distintos (ex: dev, homolog e prod).
- Realização de merge entre arquivos produzidos por desenvolvedores distintos ou entre repositório local e repositório online.
- Tratamento de conflitos de merge de forma visual, identificando linha a linha as diferenças de código e permitindo a escolha de qual versão manter.
- Possibilidade de criar pull-requests de uma branch para outra e até mesmo possibilitando a existência de aprovadores para estas requests ou automatizando este processo através de pipelines.
Como a Compass UOL está utilizando
Existem muitas maneiras e metodologias de aplicar esta utilização, do Power BI integrado nativamente ao Git, ao dia a dia das equipes e empresas.
- Trabalhamos em duas branches (dev e main) Workspace Power BI vinculado à main.
- Todo o desenvolvimento e ajuste nos relatórios e modelos é realizado na branch dev dos repositórios locais de cada desenvolvedor e assim que finalizados, commitados e feito pull para branch dev do repositório online e após verificado que não existem conflitos é realizado o pull-request para a branch main para que seja disponibilizado em produção no workspace.
- Após serem disponibilizadas as alterações na Branch main, utilizamos o componente de Versionamento de Código fonte no Workspace do Power BI para efetivá-las em produção.
- Com a utilização do Git não mais utilizamos o método tradicional de publicação do Power BI (botão “Publicar” do PBI Desktop), exceto quando for a primeira disponibilização de um relatório em produção no workspace.
- Os possíveis conflitos de merge podem ser tratados tanto localmente no VS Code, quanto online no repositório do Azure DevOps, a depender da natureza do conflito. O tratamento é feito utilizando gerenciador de conflitos de forma visual, nas duas ferramentas.
Boas práticas adotadas
- Credenciais: remover arquivos e pastas referentes a credenciais de conexões do rastreio do Git, através do “.gitignore”, para evitar necessidade de configuração das mesmas a cada utilização de arquivos que já foram manipulados por outros usuários.
- Modelos de dados: evitar que mais de um desenvolvedor trabalhe no mesmo modelo, pois o entendimento e tratamento de conflitos de merge podem ser mais desafiadores.
- Página do relatório: evitar o trabalho simultâneo em uma mesma página de um relatório, reduzindo os riscos de conflitos de merge. Sempre que possível, salvar na página inicial do relatório e combinar isso com os outros desenvolvedores evitando também conflitos.
- Medidas DAX: combinar com a equipe para não criar medidas com o mesmo nome, evitando duplicidade.
- Evitar “acumular”: evite acumular alterações realizadas em commits no repositório local, realizando sincronização pelo menos duas vezes ao dia, a fim de que as diferenças entre repositórios não sejam drásticas e por consequência evitando conflitos de merge.
*Apesar da solução Power BI + Git facilitar o trabalho colaborativo, não é a solução para todos os problemas, a comunicação entre a equipe de desenvolvimento continua a ser fundamental.
Ferramentas Utilizadas no dia a dia
Microsoft Power BI, Azure DevOps e Visual Studio Code.
Benefícios para cliente e time
- Aumento da produtividade: a colaboração simultânea entre os desenvolvedores fornecida pelo Git em um mesmo relatório Power BI viabiliza entregas de valor mais ágeis ao cliente.
- Excelência na qualidade de entrega: a organização do versionamento em branches evita criar diversas versões de relatório em produção e minimiza o lançamento errôneo em produção de elementos defasados. Este nível de organização aumenta a qualidade das entregas.
- Flexibilidade de mudanças: caso a área de negócio requisite rollback de layout ou de regras de negócio entre outros, o Git viabiliza a recuperação destes elementos de forma simples e rápida com o controle de versionamento.
- Aumento do potencial criativo: a criação de ambientes separados permite aos desenvolvedores testarem novos layouts e recursos para apresentar insights e melhorias ao cliente.
A Compass UOL busca sempre estar a frente na utilização de novas ferramentas e tecnologias que possam agregar valor aos nossos clientes e potencializar o trabalho dos nossos times de desenvolvimento. E é por este motivo que estamos desde o lançamento desta integração do Git ao Power BI, aplicando em várias frentes de trabalho e tirando proveito de todo o potencial desta solução.
*As opiniões aqui colocadas refletem a minha opinião pessoal e não necessariamente a opinião da Compass UOL.