Skip to main content
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: 
marcelvinicius
Creator III
Creator III

Buscar linha de Excel

Boa tarde comunidade,

Tenho o seguinte problema:

Tem varias planilhas em excel,e de cada uma quero buscar a informação contida na primeira linha, porém estou conseguindo buscar somente da primeira planilha e não das demais.

Alguém pode auxiliar?

Qlik Sense.

Atenciosamente

1 Solution

Accepted Solutions
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Marcel, faça o Left Join depois;

A solução do afurtado‌ provavelmente vai dar certo também, sem precisar utilizar o For... Se fizer o Left Join depois...

Exemplo:

Tabelas:

LOAD Distinct

  FileName()    as Tabelas

  FROM [lib://Realizado/DEF Caminhões*.xls]

(biff, no labels, table is Novos$);

LET vQtdArquito = FieldValueCount('Tabelas');

For vCiclo = 1 to vQtdArquito

  LET vNomeTabela = FieldValue('Tabelas',vCiclo);

  Tabela_Base:

  First 1

  LOAD

   @1 AS Empresa,

   FileName()    as NomeArquivo

FROM [lib://Realizado/$(vNomeTabela)]

(biff, no labels, table is Novos$);

Next

LEFT JOIN(Realizado_aux)

NoConcatenate

Load * Resident Tabela_Base;

Drop Tables Tabelas,Tabela_Base;

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti

View solution in original post

14 Replies
luciano_garcia
Contributor III
Contributor III

Já tentou "navegar" entre as abas, conectado ao SQLtables do arquivo Excel ?:

Loading Multiple Excel Sheets Dynamically along with file name and sheet name

No QView é perfeitamente possível esse código (eu já usei, inclusive)...No Sense eu não sei se haveria alguma dificuldade devido ao uso de Libs na conexão (talvez com alguma adaptação do código funcione).

luciano_garcia
Contributor III
Contributor III

Tem caso de sucesso relatado, habilitando o "Legacy Mode" no Sense:

Qlik Sense - Loop through Excel Files and Worksheets

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Marcel,

fiz um exemplo lendo 3 XLS com uma coluna e algumas linhas e li usando o script abaixo


Tabela:

first 1

LOAD

    Coluna1,

    FileName()    as NomeArquivo

FROM [lib://XLS/Coluna*.xlsx] (ooxml, embedded labels, table is Sheet1);

Segue resultado e os XLS

Qlik Sense Desktop---2018-02-27 21_57_24.png

Qlik Sense Desktop---2018-02-27 21_57_11.png

Coluna3.xlsx - Excel---2018-02-27 21_59_11.png

furtado@farolbi.com.br
luciano_garcia
Contributor III
Contributor III

Marcel, olá!

Se alguma das soluções apresentadas tiver sido útil para você resolver o problema, por favor, não​ esqueça de fechar a thread escolhendo uma para marcar como "Correta" e marcando aquelas respostas que lhe foram úteis com a flag "Útil".

Manual do usuário | Como criar e gerir minhas perguntas?

Grande abço!

marcelvinicius
Creator III
Creator III
Author

Bom dia Luciano,

Estou testando, por isso não marquei nada ainda, assim que eu testar tudo te aviso.

Atenciosamente.

marcelvinicius
Creator III
Creator III
Author

Bom dia afurtado

Utilizei conforme você mencionou, mas ainda busca somente o primeiro nome, dos demais não.

Atenciosamente

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Marcel, bom dia;

Tente utilizar esta lógica.

Só ajuste o nome das tabelas e campos para o seu modelo.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

perceba que uso um * no nome, assim pega todos os arquivos

furtado@farolbi.com.br
marcelvinicius
Creator III
Creator III
Author

Amigo mario.sergio.ti

Não funcionou.

Estou fazendo um join de informações com outra tabela, será que é por isso?

Tabelas:

LOAD Distinct

    FileName()    as Tabelas

  FROM [lib://Realizado/DEF Caminhões*.xls]

(biff, no labels, table is Novos$);

LET vQtdArquito = FieldValueCount('Tabelas');

For vCiclo = 1 to vQtdArquito

LET vNomeTabela = FieldValue('Tabelas',vCiclo);

LEFT JOIN(Realizado_aux)

  Tabela_Base:

  First 1

  LOAD

    @1 AS Empresa,

    FileName()    as NomeArquivo

  FROM [lib://Realizado/$(vNomeTabela)]

(biff, no labels, table is Novos$);

 

Next

Drop Table Tabelas;