Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

leitura de arquivos XML

Boa noite!

Estou lendo vários arquivos XMLs de uma pasta e estou com o seguinte problema.

Quando leio mais de um arquivos os valores estão retornando errado segue abaixo script.

//BLOCO 1

tipoGlosa_temp:
LOAD codigoGlosa,
descricaoGlosa,
%Key_dadosProcedimento_675CE3F00CE2AC65   // Key to parent table: mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia/procedimentos/dadosProcedimento
FROM [XML BB\01082015_BB_1.xml] (XmlSimple, Table is [mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia/procedimentos/dadosProcedimento/relacaoGlosa/tipoGlosa]);
//FROM [XML BB\*.xml] (XmlSimple, Table is [mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia/procedimentos/dadosProcedimento/relacaoGlosa/tipoGlosa]);



dadosProcedimento_temp:
LOAD quantidadeExecutada,
valorProcessado,
NUM(replace([relacaoGlosa/valorGlosa],'.',',')) as valorGlosa_BB,
NUM (replace(valorLiberado,'.',',')) AS valorLiberado,
// valorLiberado,
  // [relacaoGlosa/valorGlosa] as valorGlosa,
   [procedimento/codigo] as codigo,
[procedimento/tipoTabela] as tipoTabela,
[procedimento/descricao] as descricao,
[procedimento/descricaoGrau] as descricaoGrau,
%Key_dadosGuia_932648AE386CACC8// Key to parent table: mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia
   %Key_dadosProcedimento_675CE3F00CE2AC65   // Key for this table: mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia/procedimentos/dadosProcedimento
FROM [XML BB\01082015_BB_1.xml] (XmlSimple, Table is [mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia/procedimentos/dadosProcedimento]);
//FROM [XML BB\*.xml] (XmlSimple, Table is [mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia/procedimentos/dadosProcedimento]);


LEFT JOIN
LOAD
codigoGlosa,
descricaoGlosa,
%Key_dadosProcedimento_675CE3F00CE2AC65

Resident tipoGlosa_temp;
DROP Table tipoGlosa_temp;

DADOS:

LOAD numeroGuiaPrestador,
dataRealizacao,
valorProcessadoGuia,
valorLiberadoGuia,
valorGlosaGuia,
[beneficiario/numeroCarteira] as numeroCarteira,
[beneficiario/nomeBeneficiario] as nomeBeneficiario,
%Key_mensagemTISS_AE9B42D256CCB348// Key to parent table: mensagemTISS
   %Key_dadosGuia_932648AE386CACC8   // Key for this table: mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia
FROM [XML BB\01082015_BB_1.xml] (XmlSimple, Table is [mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia]);
//FROM [XML BB\*.xml] (XmlSimple, Table is [mensagemTISS/operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/guia/dadosGuia]);



MENSAGEM:
LOAD [xmlns:ansTISS],
[epilogo/hash] as hash,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/valorProcessadoGeral] as valorProcessadoGeral,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/valorLiberadoGeral] as valorLiberadoGeral,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/valorGlosaGeral] as valorGlosaGeral,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/numeroFatura] as numeroFatura,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/valorProcessadoFatura] as valorProcessadoFatura,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/valorLiberadoFatura] as valorLiberadoFatura,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/valorGlosaFatura] as valorGlosaFatura,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/numeroLote] as numeroLote,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/dataEnvioLote] as dataEnvioLote,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/numeroProtocolo] as numeroProtocolo,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/valorProtocolo] as valorProtocolo,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/fatura/dadosFatura/lote/dadosLote/valorGlosaProtocolo] as valorGlosaProtocolo,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/dadosPrestador/nomeContratado] as nomeContratado,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/dadosPrestador/numeroCNES] as numeroCNES,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/dadosPrestador/identificacao/CNPJ] as [identificacao/CNPJ],
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/cabecalhoDemonstrativo/numeroDemonstrativo] as numeroDemonstrativo,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/cabecalhoDemonstrativo/dataEmissao] as dataEmissao,
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/identificacaoFontePagadora/operadoraRegulada/registroANS] as [operadoraRegulada/registroANS],
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/identificacaoFontePagadora/operadoraRegulada/CNPJ] as [operadoraRegulada/CNPJ],
[operadoraParaPrestador/demonstrativosRetorno/demonstrativoAnaliseConta/identificacaoFontePagadora/operadoraRegulada/nomeOperadora] as nomeOperadora,
[cabecalho/versaoPadrao] as versaoPadrao,
[cabecalho/identificacaoSoftwareGerador/nomeAplicativo] as nomeAplicativo,
[cabecalho/identificacaoSoftwareGerador/versaoAplicativo] as versaoAplicativo,
[cabecalho/identificacaoSoftwareGerador/fabricanteAplicativo] as fabricanteAplicativo,
[cabecalho/destino/codigoPrestadorNaOperadora/CNPJ] as [codigoPrestadorNaOperadora/CNPJ],
[cabecalho/origem/registroANS] as [origem/registroANS],
[cabecalho/identificacaoTransacao/tipoTransacao] as tipoTransacao,
[cabecalho/identificacaoTransacao/sequencialTransacao] as sequencialTransacao,
[cabecalho/identificacaoTransacao/dataRegistroTransacao] as dataRegistroTransacao,
[cabecalho/identificacaoTransacao/horaRegistroTransacao] as horaRegistroTransacao,
FileBaseName() AS NOMEARQUIVO,
%Key_mensagemTISS_AE9B42D256CCB348   // Key for this table: mensagemTISS
FROM [XML BB\01082015_BB_1.xml] (XmlSimple, Table is [mensagemTISS]);
// End of [01082015_BB_1.xml] LOAD statements
//FROM [XML BB\*.xml] (XmlSimple, Table is [mensagemTISS]);
// End of [01082015_BB_1.xml] LOAD statements



2 Replies
nicolett_yuri

Carlos, você não pode fazer a leitura de múltiplos arquivos com a utilização de JOIN. Desta forma você não vai ter o resultado desejado.

Você deve fazer a leitura múltipla de um determinado padrão de arquivo e armazenar em uma tabela temporária, depois disso você faz o JOIN em um segundo passo.

Você leu o material que te passei? Lá explica passo a passo como fazer isso

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada