Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
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
Marcio_Campestrini
Specialist
Specialist

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

View solution in original post

7 Replies
Marcio_Campestrini
Specialist
Specialist

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
Employee
Employee

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

Marcio_Campestrini
Specialist
Specialist

Sim, com certeza.

Márcio Rodrigo Campestrini
Not applicable
Author

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
Employee
Employee

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
Partner - Specialist
Partner - Specialist

Conseguiu amigo?

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

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Not applicable
Author

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!!