Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Reduzir quantidade de registros de tabela

Amigos, boa tarde.

     Mais uma vez preciso da ajuda de vocês, eu procurei por todo o fórum e pelo google sobre isso e não conseguir encontrar, talvez eu não esteja sabendo procurar, mas só vocês poderão me dizer isso.

     Vamos lá, hoje estou fazendo um BINARY de uma aplicação do servidor e a partir dela gerando um QVD para cada tabela presente nesta aplicação. A tabela FATO possui mais ou menos 110 milhões de registro, no entanto eu não preciso ter o mesmo nível de detalhe desta tabela e por isso eu comento diversos campos desta tabela quando vou carregar o QVD na minha aplicação. No entanto, a quantidade de registros da minha aplicação está se mantendo e não deveria, pois os campos que comento são os campos que tornam a tabela extensa.

     Por favor, sabem me dizer como consigo deixar essa nova tabela com registros únicos? Seria com group by? Se sim, como seria a expressão?

Segue SCRIPT de como estou fazendo a carga com o QVD:

Fato:

LOAD pk_atividade,

     pk_empresa,

     COD_OPERACAO_ORIGEM,

     pk_relatorios_receita,

     pk_estrutura_book_qlik,

     pk_cod_receita_ajuste,

     Fato_Cenario,

     Fato_Empresa_Unidade,

//     Fato_ContaContabil,

//     Fato_CentroCusto,

     Fato_Empresa_Origem,

     Fato_Tipo_Lanc,

     Fato_RecDesp,

     Fato_CodigoBook,

     Fato_CodigoBook_Desc,

     Fato_CodigoDRE,

     Fato_AtividadeSub,

     Fato_Periodo_Ano,

     Fato_Periodo_Mes,

     Fato_Periodo,

     Rateio_Percentual,

     Fato_AMX_Atividade,

     Segmentacao,

//     Fato_ContaContabil_Desc,

//     Fato_CentroCusto_Desc,

//     Fato_ContaContabil_Origem,

//     Fato_CentroCusto_Origem,

//     Fato_BaseRateio,

     Fato_Valor,

     pk_atividade_dre_Rateio

FROM

QVD\Fato.qvd

(qvd);

Desde já obrigado.

Abraços.

1 Solution

Accepted Solutions
MCampestrini
Not applicable

Re: Reduzir quantidade de registros de tabela

Diego

Se entendi corretamente você está somente diminuindo o número de campos, e não de registros.

Se você pode eliminar esse detalhamento (que você está fazendo com os comentários), você vai ter que partir para um group By. É mais ou menos assim:

Load   <campo dimensão 1>,

       <campo dimensão 2>,

       <campo dimensão N>,

       Sum(<campo fato 1>) As <campo fato 1>,

       Sum(<campo fato 2>) As <campo fato 2>,

       Sum(<campo fato N>) As <campo fato N>

From   <arquivo>

Group  By  <campo dimensão 1>,

           <campo dimensão 2>,

           <campo dimensão N>


Lembrando que no lugar do SUM pode ser qualquer função de agragação.


Márcio Rodrigo Campestrini
7 Replies
MCampestrini
Not applicable

Re: Reduzir quantidade de registros de tabela

Diego

Se entendi corretamente você está somente diminuindo o número de campos, e não de registros.

Se você pode eliminar esse detalhamento (que você está fazendo com os comentários), você vai ter que partir para um group By. É mais ou menos assim:

Load   <campo dimensão 1>,

       <campo dimensão 2>,

       <campo dimensão N>,

       Sum(<campo fato 1>) As <campo fato 1>,

       Sum(<campo fato 2>) As <campo fato 2>,

       Sum(<campo fato N>) As <campo fato N>

From   <arquivo>

Group  By  <campo dimensão 1>,

           <campo dimensão 2>,

           <campo dimensão N>


Lembrando que no lugar do SUM pode ser qualquer função de agragação.


Márcio Rodrigo Campestrini
Clever_Anjos
Not applicable

Re: Reduzir quantidade de registros de tabela

Lembrando que um group by de 110 milhoes vai tomar um tempinho considerável

MCampestrini
Not applicable

Re: Reduzir quantidade de registros de tabela

Sim, com certeza.

Márcio Rodrigo Campestrini
Not applicable

Re: Reduzir quantidade de registros de tabela

Estou rodando já tem 40min e nada ainda! Mas como não gerou nenhum erro, acredito que o Group By está funcionando. 

Estou aguardando!

Clever_Anjos
Not applicable

Re: Reduzir quantidade de registros de tabela

Pega um cafezinho, relaxa, uma hora vai dar certo.
Só tome cuidado com alocação de memória deve estar assim

meZaoA0.jpg

mario_sergio_ti
Not applicable

Re: Reduzir quantidade de registros de tabela

Conseguiu amigo?

Dependendo do cenário... Possa ser mais interessante extrair direto da base já com o agrupamento.

Not applicable

Re: Reduzir quantidade de registros de tabela

Bom dia!! O processo realmente é muito lento, mas a tua resposta foi correta!! Mas devido à morosidade estou pensando em uma nova alternativa!!!

Muito obrigado pelo apoio!

Abraços!!