Agregação !!

Discussão em 'Progress 4GL' iniciado por roinfo, Julho 12, 2010.

  1. roinfo

    roinfo Sem Pontuação

    Pessoal, tenho uma tabela Produto e tenho um campo por exemplo tipo de produto que pode ter os valores: 1,2,3 e 4
    eu gostaria de saber quantas ocorrências tenho para cada tipo de produto e no final totalizar todos os tipos de produtos. Por exemplo:
    tipo de produto 0 = 8
    tipo de produto 1 = 12
    tipo de produto 2 = 7
    tipo de produto 3 = 9
    tipo de produto 4 = 6
    Total = 42

    Fiz o código abaixo:
    DO:
    FOR EACH Produto BREAK BY Produto.Tipo-Produto: ACCUMULATE Produto.Tipo-Produto (COUNT BY Produto.Tipo-Produto).
    IF LAST-OF (Produto.Tipo-Produto) THEN
    DISPLAY Produto.Tipo-Produto ACCUM COUNT Produto.Tipo-Produto.
    END.
    END.

    Tipo-produto COUNT
    4 6
    3 15
    2 22
    1 34
    0 42

    Alguem poderia me ajudar a encontrar o erro?

    Obrigado.

    Roni.
  2. jalegria

    jalegria Membro Participativo

    Saudações...

    Tente usar o SUB-COUNT ao invés do COUNT.
    O COUNT só para o contador total.
  3. roinfo

    roinfo Sem Pontuação

    Obrigado Jalegria, substitui pelo código abaixo aí funcionou.

    DO:
    FOR EACH Produto BREAK BY Produto.Tipo-Produto BY Produto.Tipo-Produto DESCENDING:
    ACCUMULATE Produto.Tipo-Produto (SUB-COUNT BY Produto.Tipo-Produto).
    IF LAST-OF (Produto.Tipo-Produto) THEN
    DO:
    DISPLAY Produto.Tipo-Produto COUNT Produto.Tipo-Produto.
    END.
    END.

    END.

Compartilhe esta Página