Integração de sistemas legados com Power Automate
Os sistemas legados frequentemente formam a base de muitas organizações, mas integrá-los com fluxos de trabalho modernos pode ser um…
O Dataverse permite que você armazene, de forma segura, dados usados por aplicativos empresariais. Os dados dentro do Dataverse são armazenados dentro de um conjunto de tabelas. Uma tabela é um conjunto de linhas (antes conhecido como registros) e colunas (antes conhecido como campos/atributos). Cada coluna da tabela se destina a armazenar um certo tipo de dados; por exemplo, nome, idade, salário e assim por diante. O Dataverse inclui um conjunto base de tabelas padrão que cobrem cenários típicos, mas você também pode criar tabelas personalizadas específicas de sua organização e preenchê-las com dados usando o Power Query. Os criadores de aplicativos podem usar o Power Apps para criar aplicativos avançados que usam esses dados.
Se você já trabalhou com bancos de dados SQL, provavelmente sabe como é simples unir duas tabelas. Mas e o Dataverse? Existe alguma maneira fácil de conectar duas tabelas não relacionadas no fluxo do Power Automate? Sem muitos loops e um fluxo muito lento?
Juntar duas tabelas não é diferente de mesclar dois arrays – afinal, as tabelas são apenas dois arrays com linhas. Você precisa de um valor compartilhado em ambas as tabelas, para este exemplo vamos usar uma coluna de pesquisa (e esquecer por um momento que as tabelas estão realmente conectadas). Uma tabela tem o valor de pesquisa = id da linha, a outra tabela tem a linha real com esse id. Sabendo disso, há um bom artigo de Paul Murana sobre como mesclar matrizes com eficiência.
Para aplicar essa abordagem em tabelas do Dataverse:
Em primeiro lugar, liste as linhas em ambas as tabelas.
Em segundo lugar, use ‘Selecionar’ para selecionar as colunas relevantes na segunda tabela. Esta etapa é necessária para a eficiência do fluxo.
Em terceiro lugar, inclua a matriz de saída em elementos adicionais e transforme-a em XML.
E uma vez que você tenha um XML, você pode usar a expressão xpath(…) , nesta situação em outra ação ‘Select’. Prefiro usar ‘Selecionar’, pois a ação padrão ‘Listar linhas’ fornece muitas colunas quando você geralmente precisa apenas de algumas delas.
Selecione os valores da primeira tabela e, para os valores da segunda tabela, use uma expressão xpath(…) conforme abaixo.
xpath (outputs('XML'), concat('//Array[<UniqueIDFromSelect>/text()="', <LookupColumn Value>, '"]/<ColumnNameFromSelect>/text()'))?[0]
Observação: < … > são espaços reservados, substitua-os incluindo < e >!
Para minhas tabelas, ficará como abaixo:
xpath (outputs('XML'), concat('//Array[GUID/text()="', item()?['_cr09b_lookupcolumn_value'], '"]/AnotherLookupColumn/text()'))?[0]
E pronto, você acabou de selecionar os dados de duas tabelas do Dataverse e transformá-los em um único array de objetos.
Ao mesclar duas tabelas do Dataverse, o Power Automate oferece várias opções de como uni-las. Você pode fazê-lo linha por linha, usando um ‘Aplicar a cada’, e esperar para sempre que o fluxo termine, ou você pode usar um pouco de código. Com algumas ações para preparar os dados, você pode usar um ‘Select’ com a expressão xpath(…) que juntará tudo.
Para mais artigos como este continue acessando o blog da Trinapse.
Os sistemas legados frequentemente formam a base de muitas organizações, mas integrá-los com fluxos de trabalho modernos pode ser um…
Sistemas legados, embora tenham sido essenciais no passado, frequentemente se tornam barreiras para o crescimento e a eficiência à medida…
O Microsoft Purview é uma solução robusta para governança, conformidade e gestão de dados. Quando integrado ao SharePoint, ajuda as…