Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Yuri.!
Ainda com relação aos arquivos Qvd.
Quando eu utilizo as variáveis $table e $rows ele acumula todos os registros (Soma tudo)
Gostaria de saber a quantidade de registros que foi gerada em cada tabela que eu gerei de histórico.
Neste caso, usando o drop, tem como saber a quantidade de registros que foi gerada em cada uma desta tabelas.
Exemplo:
Tabela1 = 300 Registros
Tabela2 = 550 Registros
Existe alguma outra forma ?????????
Obrigado.
Renato
O conceito que você precisa entender é o da auto concatenação, o que seria isso?
Se o qlikview encontrar duas tabelas com as mesmas colunas, ele junta as duas em uma só (isso é o que esta acontecendo com a sua aplicação).
O que fiz foi utilizar o comando Qualify *; para alterar o nome de todas as colunas e assim as duas ficarem diferentes.
Da uma olhada no exemplo que te mandei.
Você pode usar a função NoOfRows, segue exemplo:
Tabela1:
LOAD A, B, C FROM x.qvd
STORE Tabela1 INTO Tabela1.qvd (qvd);
LET vNumRegistro = NoOfRows('Tabela1'); //Coloca o número de registros da tabela dentro da variável.
DROP TABLE Tabela1;
Trace Número de registros gerados: $(vNumRegistro);
Yuri, estou fazendo da seguinte forma, mas não esta retornando nada.
Inclusive, nem gera a variável....!!!
Como eu faço para retornar os valores no QlikView?
Desculpe, é que sou meio inexperiente com arquivos qvds.
LOAD CODIGO,
NOME,
DATA
FROM
C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Teste.xlsx
(ooxml, embedded labels, table is Plan1);
store Plan1 into 'C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Historico_1.qvd';
LET vNumRegistro = NoOfRows('Historico_1');
DROP TABLE Plan1;
Trace Número de registros gerados: $(vNumRegistro);
//-----------------------------------------------------------------------------------------------------------------------------------------------
// JOGAR Plan2 para Historico //
LOAD CODIGO,
NOME,
DATA
FROM
C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Teste.xlsx
(ooxml, embedded labels, table is Plan2);
store Plan2 into 'C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Historico_2.qvd';
LET vNumRegistro = NoOfRows('Historico_2');
DROP TABLE Plan2;
Trace Número de registros gerados: $(vNumRegistro);
Boa tarde Renato,
voce esta tentando pegar a qtde de registro da tabela Historico_1, mas ela existe? Deveria colocar antes do load ou nao foi copiado. Da mesma forma o nome da tabela no drop esta outro nome.
Historico_1:
LOAD CODIGO,
NOME,
DATA
FROM
C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Teste.xlsx
(ooxml, embedded labels, table is Plan1);
store Plan1 into 'C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Historico_1.qvd';
LET vNumRegistro = NoOfRows('Historico_1');
DROP TABLE Plan1;
Trace Número de registros gerados: $(vNumRegistro);
AMF
Tente usar um Set Analysis
=sum({<$Table={'Sua tabela'}>}$Rows)
Renato, você precisa colocar sempre colocar o nome da tabela, assim evita qualquer problema desse tipo.
Antes do load, coloque o nome da tabela, por exemplo: "Historico1:"
ficaria mais ou menos assim:
Historico_1:
LOAD CODIGO,
NOME,
DATA
FROM
C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Teste.xlsx
(ooxml, embedded labels, table is Plan1);
store Historico_1 into 'C:\PROJETOS\PROJETOS_QLIKVIEW\TESTES_QVD\Historico_1.qvd';
LET vNumRegistro = NoOfRows('Historico_1');
DROP TABLE Historico_1;
Trace Número de registros gerados: $(vNumRegistro);
Pessoal
Vou anexar meu qvw e minha pasta excel para ver se facilita.
O que eu estou tentando fazer como teste:
1. Tenho 1 planilha em excel com 3 pastas (Cada uma seria uma base de dados)
2. Quero criar 2 arquivos qvd com as 2 primeiras pastas.
3. O terceiro seria a minha base atual.
Eu queria trazer a quantidade de linhas de cada tabela para meu controle, porém ele acumula tudo na tabela Historico_1 e eu gostaria de ver os registros de cada tabela separado.
Não sei se isso é possível também ...!!!
Obrigado.
Renato
Segue
O conceito que você precisa entender é o da auto concatenação, o que seria isso?
Se o qlikview encontrar duas tabelas com as mesmas colunas, ele junta as duas em uma só (isso é o que esta acontecendo com a sua aplicação).
O que fiz foi utilizar o comando Qualify *; para alterar o nome de todas as colunas e assim as duas ficarem diferentes.
Da uma olhada no exemplo que te mandei.
Olá Yuri
Boa Tarde.!
Eu entendi.
É que eu estava pensando, no caso do cliente ter uma tabela com 2.000.000 de registros por exemplo dos últimos 2 anos, sendo 500.000 do 1 ano e 1.500.000 do 2 ano e o mesmo quisesse acompanhar essa evolução.
Daí ele queria saber a quantidade de registros anual e a evolução dessas cargas com relação a performance, entre outras.
Essa era a minha ideia. Como a tabela é a mesma, só efetuaria a carga do ano corrente e entraria naquilo que você falou da concatenação das tabelas quando os campos são iguais.
Você sabe me dizer, o que o pessoal costuma fazer nestes casos ?
Qual seria a melhor prática ?
Muito Obrigado.
Renato