Prezados, estou com dificuldade para quebrar um arquivo de EFD FISCAL no alteryx.
alguem poderia me ajudar ?
Fábio, boa noite.
Poderia fornecer mais detalhes? Não estou conseguindo replicar o fluxo.
Devo ter errado alguma fórmula...
Obrigado.
Olá Fábio, bom dia.
Estou compartilhando dois fluxos:
1 - o que eu tentei reperfomar; 2 - o que eu tentei fazer uma quebra diferente.
O arquivo em si não é um txt de sped fiscal.. é um exemplo de contribuições maaaaas que eu adicionei um c100 e c170 pra fingir. Pois não tenho acesso a txt de empresas.
Se puder dar uma olhada eu agradeço.
Obrigado
Olá @CainaClimaco
Aparentemente voce fez tudo certo no fluxo 1 que vc mandou (Quebra Sped.yxmd)...
Só restou vc separar os campos desejados usando filtros no campo "First_RegistroSPED" e depois renomear cada um dos resultados de acordo com os campos que constam no manual.
Exemplo do Trecho:
Exemplo 0150 :
O Manual do SPED onde consta as informações de cada registro pode ser encontrado neste link:
http://sped.rfb.gov.br/arquivo/download/4202
Espero ter ajudado!!!
T+
Achei que havia errado algo em relação aos IDs Pai e ID...
Uma dúvida mesmo, o segundo fluxo não faz a mesma coisa? Tentei deixar ele mais simples mas não sei se o resultado ficou satisfatório. O problema é que seria bem mais manual: (select de colunas para cada registro, renomear cada registro, etc)
Olá...
Na verdade existem algumas coisas que podem ser feitas para vc evitar o trabalho de renomear os campos um por um...
Vamos lá,
Eu criei uma tabela contendo os nomes dos campos para os registro que eu uso aqui.
Neste arquivo eu aplico uma formula para transformar a ORDEM 1 em 2. Pq isso? Se vc reparar a linha do SPED começa com o PIPE, fazendo com que o 1 campo seja sempre vazio e o REG fique no campo 2.
Basta colocar uma formula para ajustar este campo:
ORDEM = ToString([ORDEM] + 1)
Em paralelo, quebrarmos o arquivo inteiro do sped usando o componente Texto para Colunas
E depois usamos uma ferramenta para transpor as colunas em um formato Chave/Valor. Lembra que a quebra de Texto para Colunas gerou colunas denominadas 1, 2, 3 ,4 ,5 ,6, 7.... etc?
Então... agora basta fazer uma Junção entre o resultado da Quebra e o Arquivo de nomenclatura de campos.... usando os campos
A.REG = B.REG AND A.ORDEM = B.Name (Campo gerado no Transpor)
Fazendo isso vc vai ter uma tabela contendo alguns campos. Porém 3 campos são importantes neste caso....
São Eles :
- CAMPO
- Name
- Value
neste momento vc vai ter encontrado o nome do CAMPO para os valores extraídos na ferramenta Transpor.
Agora basta FILTRAR o registro que vc quer... e então usar uma ferramenta 'Tabela de Referencia Cruzada' para fazer tudo virar uma tabela denovo.
Deu pra entender essa bagunça toda? kkkkk
T+
Obrigada por toda a ajuda @fabioabr.
@CainaClimaco nos avise se conseguiu dar uma olhadinha nas recomendações do Fabio ou se ainda tem alguma dúvida. 😉
Ahhh... só mais uma coisinha...
Quando houver necessidade de unir registros pais e filhos... (por exemplo C100 e C170)
é necessario usar o JOIN da sequinte forma:
Filho.IDPai = Pai.ID AND
Filho.IDSped = Pai.IDSped
(Usamos o IDSped também pois podemos importar mais de 1 arquivo)
T+
Oi gente. Desculpem a demora.
Preciso analisar melhor a dica, por enquanto estou usando dynamic rename pros campos de 0150, C100, etc.
Acredito que desse jeito eu não irei precisar criar um dynamic para cada um dos registros do manual. O que iria facilitar bastante.. Assim que conseguir analisar melhor passo aqui para dar um feedback.
Sobre os registros Pais e Filhos acredito que deu tudo certo. Havia ficado um pouco confuso mas deu tudo certo. Foi apenas uma questão de aplicação do meu Join..
Obrigado pela disposição e valiosas dicas, Fábio.
Perfeito, @CainaClimaco!
Continuamos por aqui se precisar de alguma coisa. Apenas como referência, aqui está a documentação de ajuda da Ferramenta Junção (Join). 😉