Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde Pessoal
Me pediram apra fazer um coisa aqui que nunca fiz :
criar um lista com Alguns campos que possuo no qvd....ja tentei usando fields mas trouxe tudo.
Olá Thiago,
Tenho esse script que busca todos os campos de um arquivo QVD, pode ser oq vc quer.
//Lista das tabelas Fatos envolvidas no projeto
TMPFato:
First 1
LOAD FileBaseName() AS TMPNomeFato FROM $(vDadosExtraidos)FAT*.qvd (qvd);
Fato:
LOAD Concat(Chr(39)&TMPNomeFato&Chr(39),',') as NomeFato Resident TMPFato;
LET vFatos = Peek('NomeFato');
DROP Tables TMPFato, Fato;
//Laço para leitura de todas as fatos informadas na tabela
FOR Each vNomeFato in $(vFatos)
LET vNroCamposFato = QvdNoOfFields('$(vDadosExtraidos)$(vNomeFato).qvd');
// LET vNomeFato1 = QvdTableName ('$(vNomeFato).qvd');
//Laço para leitura de todos os campos das fatos
FOR c=1 to vNroCamposFato
LET vCampo = QvdFieldName('$(vDadosExtraidos)$(vNomeFato).qvd',$(c));
FatoCampos:
LOAD
'$(vNomeFato)' AS Fato,
'$(vCampo)' AS FatCampo
AutoGenerate(1);
NEXT c
NEXT vNomeFato
Abraços,
Tonial.
Olá Thiago,
Tenho esse script que busca todos os campos de um arquivo QVD, pode ser oq vc quer.
//Lista das tabelas Fatos envolvidas no projeto
TMPFato:
First 1
LOAD FileBaseName() AS TMPNomeFato FROM $(vDadosExtraidos)FAT*.qvd (qvd);
Fato:
LOAD Concat(Chr(39)&TMPNomeFato&Chr(39),',') as NomeFato Resident TMPFato;
LET vFatos = Peek('NomeFato');
DROP Tables TMPFato, Fato;
//Laço para leitura de todas as fatos informadas na tabela
FOR Each vNomeFato in $(vFatos)
LET vNroCamposFato = QvdNoOfFields('$(vDadosExtraidos)$(vNomeFato).qvd');
// LET vNomeFato1 = QvdTableName ('$(vNomeFato).qvd');
//Laço para leitura de todos os campos das fatos
FOR c=1 to vNroCamposFato
LET vCampo = QvdFieldName('$(vDadosExtraidos)$(vNomeFato).qvd',$(c));
FatoCampos:
LOAD
'$(vNomeFato)' AS Fato,
'$(vCampo)' AS FatCampo
AutoGenerate(1);
NEXT c
NEXT vNomeFato
Abraços,
Tonial.
Bom Dia Fernando
Ajudou um pouco por que na verdade faço leitura de qvd's então vou ter que criar todos assim com mesmo nome para fazer a chave sintetica disso?
outra duvida de : $(vDadosExtraidos)
troco pelo nome do meu qvd?
Bom Dia Thiago,
Nesse exemplo que te passei, vc fica com apenas uma tabela, sendo essa tabela com dois campos Fato e FatCampo, assim vc tem todos os campos de todos os seus arquivos QVD.
$(vDadosExtraidos) é uma variável que possui o diretório dos meus arquivos QVD que foram extraidos das bases de dados.
Abraços,
Tonial.
Bom Dia Fernando
obrigado pela resposta, eu fiz a alteração aqui mas toda vez que estou depurando está vindo valores NULL
LET vFatos = Peek('PLACAVEICULO');
vCampo <NULL> vNomeFato <NULL> c <NULL> vPath "C:\Users\tcn\Desktop\QlikviewDesenvolvimento\qvd\Qv1.qvd" vFatos <NULL> PLACAVEICULO <NULL>
deixei os mesmo nomes, apenas mudei para um qvd meu e coloquei um campo que eu queria coloquei no quote acima só que vem null, fiquei confuso.
só que sei que esse campo está preenchido.
sds
Resolvi aqui, Obrigado fernando funcionou!