Agreggate + Filtro

Delphi

25/01/2011

Galera, boa tarde!        A situação é o seguinte... eu tenho uma tabela que possui o consumo de cada mês dos produtos de uma loja de equipamentos de segurança. Nesta tabla eu tenho campos agreggates que calculam o consumo geral do mês. Entretanto, ao filtrar o banco de dados, como exemplo: óculos, o campo agreggate continua somando todos os consumos. Ele não dá o valor somente dos óculos. Como eu faria isso?   Atenciosamente,
Rafael Ribeiro

Rafael Ribeiro

Curtidas 0

Respostas

Efraim Santana

Efraim Santana

25/01/2011

tem como vc colocar a estrutura da tabela.
fica mais facil entender e ajudar.
GOSTEI 0
Marco Salles

Marco Salles

25/01/2011

Por acaso vc esta se Referindo a campos Aggregates em ClientDataSet ???   Se for é so fazer isto :    criar um Novo campo Aggregate  com a Instrução   Count(Oculos) >>> Numero de Registro onde o Oculos não esta em branco   Ou   Sum(Oculos) -->>Medira a quntidade de Oculos   E o Filtro se aplica normalmente nesta condiçoes
GOSTEI 0
Rafael Ribeiro

Rafael Ribeiro

25/01/2011

Vou tentar exemplificar melhor. Sim, o campo agreggate é do ClientDataSet.   Vamos supor o seguinte, eu tenho uma tabela (PRODUTO) que está vinculada aos Datasets: IDPRODUTO, DESCRICAO, GRUPO, QUANTIDADE.   Dentro do ClientDataSet eu crio um campo aggregate: QUANTIDADE_TOTAL, onde sua Expression é SUM(QUANTIDADE).   Para o field GRUPO eu tenho as seguintes opções de dados: CARTEIRA, CORDÃO, MOCHILA, ÓCULOS.   Quando eu vou analisar os dados, meu campo agreggate dá o somatório da quantidade de todos os produtos, independente do GRUPO.   Dessa forma, eu resolvo fazer um filtro onde eu seleciono o GRUPO em uma "combo". Até aqui legal, porque minha DBGrid fica somente com os ítens do grupo que eu escolhi, entretanto, o campo agreggate continua somando a quantidade de todos os produtos e eu preciso que some, por exemplo, apenas a quantidade de óculos.   Espero ter ficado mais claro. Grato pela ajuda de todos!   Rafael Ribeiro
GOSTEI 0
Marco Salles

Marco Salles

25/01/2011

Talves vc esteja falando de Indices e Agrupamento . Um campo Aggregado pode ser agrupado por indices   Mas antes de atacar o problema utilizando o agrupamento , fiquei sem entender o sequinte   o campo quantidade de refere a UNIDADES de CARTEIRA, CORDÃO, MOCHILA, ÓCULOS.   Assim qd vc aplica o filtro por exemplo para Oculos vc so tera Registro com Oculos , cuja a quantidade se refere a Oculos .. Correto ???     IDPRODUTO, DESCRICAO, GRUPO, QUANTIDADE. 1-----------babababbabba-Oculos-----2 2-----------babababbabba-Oculos-----1 3-----------babababbabba-Oculos-----2 4-----------babababbabba-Oculos-----1 5-----------babababbabba-Oculos-----2 6-----------babababbabba-Oculos-----1   Totalizando = 9 Oculos ... É o que deveria retornar na Expressão SUM(Quantidade)   E como esta Retornando ?????  
GOSTEI 0
Rafael Ribeiro

Rafael Ribeiro

25/01/2011

Olá Bom Dia!        O sistema retorna a quantidade de todos os produtos, não somente dos óculos.   Grato,   Rafael Ribeiro
GOSTEI 0
Marco Salles

Marco Salles

25/01/2011

Fiz um exemplo aqui , e esta diferente do que vc postou. Como disse desde do inicio o Filtro esta aplicando corretamente no Somatorio do Campo Agrregate   Se quiser lhe envio por emai este exemplo
GOSTEI 0
Rafael Ribeiro

Rafael Ribeiro

25/01/2011

SHOW!!! ENVIE SIM... rafael.marins.ribeiro@hotmail.com ... por favor!!!!   Grato,   Rafael Ribeiro
GOSTEI 0
Marco Salles

Marco Salles

25/01/2011

SHOW!!! ENVIE SIM... rafael.marins.ribeiro@hotmail.com ... por favor!!!!   Grato,   Rafael Ribeiro
..   enviado
GOSTEI 0
Rafael Ribeiro

Rafael Ribeiro

25/01/2011

Marco, boa tarde!            O seu exemplo me ajudou muito. Meu sistema estava certinho. O erro era ridiculo. O resultado era jogado pra uma statusbar, entretanto, quando eu aplicava o filtro eu não mandava atualizar a statusbar. Mas, valeu! Ajudou! Ainda estou em ritmo de férias... até o cérebro resolver funcionar... já viu né!   Abçs Rafael
GOSTEI 0
Marco Salles

Marco Salles

25/01/2011

Imagino .. Não tinha o porque não funcionar . O filtro tb se aplica ao Aggregate . A questao era tirar isto da sua cuca
GOSTEI 0
José

José

25/01/2011

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0
POSTAR