TECH SOLUTIONS PARTICIPA DO CONBRAI 2016 EM SÃO PAULO

Qua 21 Set - 14:35 por Miro



Comentários: 0


Script: Perfil dos Valores (Data, Máximo, Mínimo, Total, Média, Quantidade de Ocorrências)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Script: Perfil dos Valores (Data, Máximo, Mínimo, Total, Média, Quantidade de Ocorrências)

Mensagem  Miro em Sex 27 Abr - 19:32

COMMENT
**************************************************************************************************************************************
*
**       Objetivo:   Conhecer o perfil dos Valores das Faturas (Data, Máximo, Mínimo, Total, Média, Quantidade de Ocorrências)
**       utilizando as suas Datas de Emissão como campo de agrupamento/quebra destes valores.
*
**       Empresa:    It-Tech Solutions   - 55(61)3224-9874
**       Data:       11/04/2012
*
**       Entrada :   Contas_a_Receber
**       Campos  :   data_fatura / valor_fatura
**       Comandos:
**                   COMMENT / END                  - Possibilitar comentar o código
**                   SET SAFETY (OFF / ON)          - OFF substituí tabelas sem interromper para solicitar confirmação
**                   OPEN                           - Abre uma tabela (arquivo)
**                   INDEX                          - Cria indíces de odenação para a tabela
**                   SET INDEX                      - Aplica um indíce (uma ordenação)
**                   GROUP / END                    - Executa um grupo de comandos em uma única passada/leitura da tabela
**                   SUMARIZE (sem a opção PRESORT) - Por campos chaves, agrupa, conta a ocorrência, soma valores
**                   RELATION                       - Por campo chave, estabelece relacionamento entre tabelas
**                   DEFINE (FIELD / VIEW / COLUMN) - Cria novos Campos/Exibições/Colunas
**      Resultados:
**                   TABMaxMinTotal                 - Perfil dos Valores por data de faturamento = Data, Máximo, Mínimo, Total, Média, Quantidade de Ocorrências)    
**                   TABMax                         - Por data de faturamento o Maior Valor Faturado
**                   TABMin                         - Por data de faturamento o Menos valor Faturado
*
**       Obs:        Este Script pode ser excutado sem alterações, utilizando o Projeto Sample Project.ACL em português
*
**************************************************************************************************************************************
END

SET SAFETY OFF

COM *  Cria os indíces de ordenação por data na ordem crescente ("IndValMin") e decrescente ("IndTABMax") de valor

OPEN "Contas_a_Receber"
INDEX ON data_fatura valor_fatura  D  TO "IndTABMax"
INDEX ON data_fatura valor_fatura     TO "IndValMin"

COM *  Aplica o índice IndTABMax, colocando a Tabela em ordem: crescente de data + descescente de Valor
COM *  TABMax         = Resultado do comando sumarizar por Data levando Valor como "Outros Campos" (sem "Pré-Ordenar")
COM *  TABMaxMinTotal = Resultado do comando sumarizar por Data Totalizando por Valor

SET INDEX TO "IndTABMax"
GROUP
SUMMARIZE ON data_fatura OTHER valor_fatura TO "TABMax"
SUMMARIZE ON data_fatura SUBTOTAL valor_fatura TO "TABMaxMinTotal"
END

COM *  Aplica o índice IndValMin, colocando a Tabela em ordem: crescente de data + descescente de Valor
COM *  TABMin = Resultado do comando sumarizar por Data levando Valor como "Outros Campos" (sem "Pré-Ordenar")

SET INDEX TO "IndValMin"
SUMMARIZE ON data_fatura OTHER valor_fatura TO "TABMin"

COM *  A tabela "TABMaxMinTotal" será a tabela Pai buscando o Máximo e o Mínimo através de relacionamentos com "TABMax" e "ValMin"
COM *  os indíces "IndTabMax" e"IndTabMin" são criados para serem os indíces utilizados no comando Relacionamento

OPEN "TABMax"
INDEX ON data_fatura valor_fatura TO "IndTabMax"

OPEN "TABMin"
INDEX ON data_fatura valor_fatura TO "IndTabMin"

COM *  Monta os Relacionamentos e Cria o campo "valor_medio" usando o campo COUNT (quantidade de ocorrências por data)

OPEN "TABMaxMinTotal"
DEFINE RELATION data_fatura WITH TABMax INDEX IndTabMax
DEFINE RELATION data_fatura WITH TABMin INDEX IndTabMin
DEFINE FIELD valor_medio COMPUTED valor_fatura / COUNT

COM *  Cria a Exibição para a tabela "TABMaxMinTotal" e adiciona as colunas planejadas

DEFINE VIEW EMaxMinTotalMedia OK
DEFINE COLUMN EMaxMinTotalMedia  data_fatura         AS "Data da; Fatura"
DEFINE COLUMN EMaxMinTotalMedia  TABMax.valor_fatura AS "Valor;Máximo"
DEFINE COLUMN EMaxMinTotalMedia  TABMin.valor_fatura AS "Valor;Mínimo"
DEFINE COLUMN EMaxMinTotalMedia  valor_fatura        AS "Valor;Total"
DEFINE COLUMN EMaxMinTotalMedia  valor_medio         AS "Valor;Médio"
DEFINE COLUMN EMaxMinTotalMedia  COUNT               AS "Qtde de;Registros"

COM *   Cria um conjunto de Indíces para que a Exibição possa ser utilizada em diferentes ordenações

INDEX ON data_fatura         D  TO "IndDtMaisRecente"
INDEX ON data_fatura            TO "IndDtMaisAntigo"
INDEX ON valor_fatura        D  TO "IndMaiorValorTotal"
INDEX ON valor_fatura           TO "IndMenorValorTotal"
INDEX ON TABMax.valor_fatura D  TO "IndMaiorValorMax"
INDEX ON TABMax.valor_fatura    TO "IndMenorValorMax"
INDEX ON TABMin.valor_fatura D  TO "IndMaiorValorMin"
INDEX ON TABMin.valor_fatura    TO "IndMenorValorMin"

SET SAFETY ON

Miro

Mensagens : 119
Data de inscrição : 24/02/2012

http://www.it-tech.com.br

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum