Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Carregar um select multiplo em um QVD

Boa tarde, como realizo a gravação de um QVD de vários selects?

10 Replies
nicolett_yuri

André, cada qvd armazena apenas uma tabela do QlikView. Se você quer adicionar informação de várias tabelas dentro do mesmo QVD, então você deve uni-las por JOIN ou CONCATENATE.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

e depois de fazer o que o Yuri falou, usa-se o comando

store TABELA into nomedoarquivo.qvd (qvd);

furtado@farolbi.com.br
Not applicable
Author

Eu tenho no script o seguinte select;

OLEDB CONNECT TO [Provider=OraOLEDB.Oracle.1.....

SELECT DISTINCT

     a.escola, 

     b.materia,

       b.aluno

FROM

  dados a,

  alunoss b

WHERE....

......

  Vou ter que fazer um QVD para cara tabela do banco de dados?

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Andre,

o QVD é como o Qlik tem em memoria a tabela. Sendo para cada tabela um QVD.

Podes usar o script abaixo ao final do seu (que não fui eu que fiz,achei na comunidade e não lembro aonde, para poder valorizar o criador,....)

// Gerar varios QVDs

//

FOR i = 1 to NoOfTables()

  LET vTableName = TableName($(i)-1);

  LET vOutfile = '$(vTableName).qvd';

  STORE [$(vTableName)] INTO [$(vOutfile)] (qvd);

NEXT i

furtado@farolbi.com.br
joao_sp_campina
Creator II
Creator II

Andre,

Você deve carregar a tabela a, gerar um QVD e depois carregar a tabela b e gerar outro QVD. Após feito isto vc deve realizar o join ou concatenate entre as dois qvds gerados.

João Carlos Ferreira

Not applicable
Author

Resumindo então , se eu tenho um select na base de dados oracle, avançado com union all, subquerys, left joing, etc... onde nesses selects é realizado em diversas tabelas.

Terei que fazer um QVD para cada uma delas tabelas?

joao_sp_campina
Creator II
Creator II

Como boas práticas de ETL sim. Você primeiro realiza a extração dos dados (tabelas), depois você faz as transformações dos dados e os relacionamentos das tabelas e por ultimo você carrega as tabelas relacionadas com o modelo de dados pronto.

João Carlos Ferreira

nicolett_yuri

André, favor fechar o post caso sua dúvida tenha sido esclarecida

Not applicable
Author

André, apenas complementando o que o João citou, você não necessariamente precisa gerar um QVD para cada tabela do seu DB. Você pode montar um SELECT com JOINs, UNIONs, subqueries e gerar apenas um QVD para tudo isso, no entanto, com isso você estará "jogando todo peso" para seu DB.

As boas práticas de ETL seriam como já foi descrito:

  1. Realizar um SELECT
  2. Realizar um STORE da tabela
  3. Ler os dados a partir do QVD
  4. E realizar transformações e a futura carga a partir dos QVDs já transformados.

Ajudou? Marque a resposta!

Edécio Santos.