Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
RafaMartins
Creator II
Creator II

Como dividir o store de um qvd em vários qvds?

Bom dia amigos,

Estou como uma duvida, como posso realizar o store de uma carga divido em mais de um qvd? sei que é possível porem mesmo pesquisando não encontrei nem um método.

Se alguém tiver conhecimento sobre isso e puder compartilhar fico agradecido!

1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Não tenho muita informação de como você quer separar.  

Vou mostrar uma forma que seria dentro do QVD tem um campo e gerar um QVD para cada distinção deste campo.

Então, se fosse o campo Empresa e dentro tivesse o conteúdo "Empresa A" e "Empresa B" geraria 2 qvds.

 

Filtro:
LOAD distinct Empresa FROM [lib://QVD/Tabela.qvd] (qvd);

For vQtde = 0 to (NoOfRows('Filtro')-1)
   Let vCampoDesc = Peek('$(vCampo)' ,$(vQtde)); 
   Tabela1:
    LOAD * FROM [lib://QVD/Tabela.qvd] (qvd) Where Empresa = '$(vCampoDesc)';

    if NoOfRows('Tabela1') >0 then
         Store Tabela1 into [lib://QVD Desktop/$(vDir)/$(vCampoDesc)/$(vArq).qvd] (qvd);
    End If;
    Drop Table Tabela1;

next
Drop Table Filtro;

furtado@farolbi.com.br

View solution in original post

4 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Não tenho muita informação de como você quer separar.  

Vou mostrar uma forma que seria dentro do QVD tem um campo e gerar um QVD para cada distinção deste campo.

Então, se fosse o campo Empresa e dentro tivesse o conteúdo "Empresa A" e "Empresa B" geraria 2 qvds.

 

Filtro:
LOAD distinct Empresa FROM [lib://QVD/Tabela.qvd] (qvd);

For vQtde = 0 to (NoOfRows('Filtro')-1)
   Let vCampoDesc = Peek('$(vCampo)' ,$(vQtde)); 
   Tabela1:
    LOAD * FROM [lib://QVD/Tabela.qvd] (qvd) Where Empresa = '$(vCampoDesc)';

    if NoOfRows('Tabela1') >0 then
         Store Tabela1 into [lib://QVD Desktop/$(vDir)/$(vCampoDesc)/$(vArq).qvd] (qvd);
    End If;
    Drop Table Tabela1;

next
Drop Table Filtro;

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

o codigo acima tinha uma variavel que esqueci de mudar....

 

 

Filtro:
LOAD distinct Empresa FROM [lib://QVD/Tabela.qvd] (qvd);

For vQtde = 0 to (NoOfRows('Filtro')-1)
   Let vCampoDesc = Peek('Empresa' ,$(vQtde)); 
   Tabela1:
    LOAD * FROM [lib://QVD/Tabela.qvd] (qvd) Where Empresa = '$(vCampoDesc)';

    if NoOfRows('Tabela1') >0 then
         Store Tabela1 into [lib://QVD/Tabela1_$(vCampoDesc).qvd] (qvd);
    End If;
    Drop Table Tabela1;

next
Drop Table Filtro;

 

furtado@farolbi.com.br
RafaMartins
Creator II
Creator II
Author

Boa tarde,

Tentei usando meu campo Ano como referencia;

Filtro:
LOAD distinct Ano FROM [lib://transformacao/BI_IV_52.qvd] (qvd);

For vQtde = 0 to (NoOfRows('Filtro')-1)
Let vCampoDesc = Peek('Ano' ,$(vQtde));
Tabela1:
LOAD * FROM [lib://transformacao/BI_IV_52.qvd] (qvd) Where Ano = '$(vCampoDesc)';

if NoOfRows('Tabela1') >0 then
Store Tabela1 into [lib://DropboxC/Tabela1_$(vCampoDesc).qvd] (qvd);
End If;
Drop Table Tabela1;

next
Drop Table Filtro;

Porem está me retornando um erro no drop table Tabela1 dizendo que a tabela não foi encontrada, aparentemente a Tabela1 não está sendo criada, ficou algo errado em meu script? 

RafaMartins
Creator II
Creator II
Author

Obrigado @afurtado , funcionou perfeitamente. Porem por algum motivo tive que criar um aplicativo só para realizar essa divisão separadamente da carga.