Cada iteração do seu grupo de comando produz uma nova tabela de resultados ou um arquivo CSV de dados e você deseja combinar todos eles em um único arquivo.
Abordagens comuns, mas arriscadas
- Opção 1: Definir uma variável de cadeia dinâmica
- Escalabilidade limitada: As variáveis dinâmicas têm um limite estrito de tamanho. Mesmo que seus dados se ajustem agora, eles podem atingir o limite no futuro, à medida que os dados crescem.
- Falhas silenciosas: Se a variável atingir o limite de tamanho, a cadeia não apresentará erro; ela simplesmente truncará os dados, o que resultará em registros ausentes.
- Processo extra: Você ainda precisa converter a string variável final de volta em um arquivo para usá-la.
- Opção 2: Gravar cada arquivo em uma tabela Wdata
- Desempenho lento: Isso requer várias chamadas de API com autenticação para cada iteração, o que torna a execução da cadeia significativamente mais lenta.
- Recuperação complexa: Você não pode usar os dados imediatamente; é necessário executar uma consulta para combinar tudo novamente.
- Limpeza necessária: Se precisar executar novamente a cadeia, você deve criar uma lógica extra para excluir ou substituir os arquivos antigos na tabela primeiro.
- Opção 3: gravar cada arquivo em uma planilha Workiva
- Desempenho lento: Assim como o método Wdata, as chamadas repetidas à API dentro de um loop causarão longos tempos de execução.
- Alto risco de erro: Você deve calcular o número exato da linha para cada inserção; caso contrário, corre o risco de sobrescrever dados ou deixar lacunas.
A melhor solução: Saída de arquivos de pilha anteriores
Se as colunas forem sempre as mesmas, com os mesmos cabeçalhos da coluna, a melhor solução será usar o comando Tabular Transformations Stack Files junto com sua opção integrada para empilhamento entre iterações de grupos de comando.
Nota: Para esse caso de uso, certifique-se de usar o arquivo de pilha "Tabular Transformations", e não o arquivo de utilitários de arquivo com o mesmo nome. Isso é importante porque o File Utilities não reconhecerá e removerá os cabeçalhos das colunas dos arquivos após o primeiro, enquanto o Tabular Transformations o fará.
Quando esse comando estiver em um grupo de comandos e a iteração estiver ativada, a opção variável "Previous Stack Files Output" aparecerá em sua própria seção "Stack Files" no painel de variáveis.
Use essa variável seguida de uma vírgula e, em seguida, o comando que contém os dados que você deseja empilhar entre os iteradores.
Nota: É vital que sua cadeia passe pelo comando de empilhar arquivos em cada iteração e não o ignore. Se a cadeia não fizer isso, todos os dados empilhados anteriormente a essa iteração serão perdidos e você terá dados faltando no arquivo finalizado.
Qualquer comando em sua cadeia após o grupo de comandos pode usar a variável Stack Files - "Stack Files Output", que será o arquivo completo com todas as iterações.
Outras notas
- O comando file utilities stack file é útil se você quiser combinar conjuntos de dados em que o cabeçalho da coluna não é necessário e tem a mesma opção "Previous Stack Files Output".
- Os comandos "Render Text Template" e "Render File Template" do Handlebars têm opções nomeadas "Previous Rendered Text" e "Previous Rendered File" que funcionam da mesma forma que a opção "Previous Stack Files Output" vista aqui e podem ser úteis para manter modelos e/ou arquivos JSON juntos entre iteradores.
- Não há problema se o novo arquivo a ser empilhado no comando empilhar arquivos não tiver resultados, desde que os cabeçalhos das colunas estejam lá.