Manuais
PHC GO Workshop Framework PHC GO - Análises (Casos Práticos)
 
Neste tópico, iremos ver vários exemplos de casos práticos do Workshop de Análises

Em primeiro lugar, vamos criar um Add-on no Portfólio de add-ons chamado Workshop e com o plano mínimo Advanced. Depois, todas as peças da Framework que sejam desenvolvidas, devem ser adicionadas a este add-on.



Casos Práticos



1. Tipo de análise Anual

Comparação por mês dos artigos vendidos no ano atual com o ano anterior

Como Fazer?

Preencher os seguinte campos com os dados indicados na seguinte lista:

  1. Tipo de análise: Anual
  2. Tabela: sl
  3. Ano: Year (sl.datalc)
  4. Mês: Month (sl.datalc)
  5. Valor: qtt


2. Tipo de análise Comparação anual

Comparação anual dos artigos vendidos no ano atual com o ano anterior

Como Fazer?

Preencher os seguinte campos com os dados indicados na seguinte lista:

  1. Tipo de análise: Comparação anual
  2. Tabela: sl
  3. Data: sl.datalc
  4. Valor: qtt
  5. Campo agrupador: ref
  6. Título do agrupador: Referência


3. Tipo de análise Extrato

Análise de registo que apresente o extrato de movimentos de um artigo

Como Fazer?

Preencher os seguinte campos com os dados indicados na seguinte lista:

  1. Tipo de análise: Extrato
  2. Tabela: sl
  3. Data: sl.datalc
  4. Título da data: Data
  5. Campo para descrição: sl.cmdesc
  6. Título da descrição: Descrição
  7. Campo de valor positivo:

    Case When cm2.entrada = 1 Then sl.qtt Else 0 End

  8. Título do valor positivo: Entrada
  9. Campo de valor negativo:

    Case When cm2.entrada = 1 Then 0 Else sl.qtt End

  10. Título do valor negativo: Saída
  11. Título do saldo: Stock
  12. Filtro:

    st.ststamp = '#STAMP#'

  13. Tabela relacionada: cm2
  14. Origem 1: sl.cm
  15. Destino 1: cm2.cm
  16. Tabela relacionada: st
  17. Origem 1: sl.ref
  18. Destino 1: st.ref


4. Tipo de análise Mensal

Quantidades vendidas por mês

Como Fazer?

Preencher os seguinte campos com os dados indicados na seguinte lista:

  1. Tipo de análise: Mensal
  2. Tabela: sl
  3. Ano: Year (sl.datalc)
  4. Mês: Month (sl.datalc)
  5. Valor: qtt
  6. Campo agrupador: ref
  7. Título do agrupador: Referência


5. Tipo de análise Normal em SQL

Listagem com os utilizadores sem marcações

Como Fazer?



  1. Tipo de análise: Normal
  2. Código da análise:

    1
    2
    3
    4
    5
    SELECT us.username,
    us.userno
    FROM us
    WHERE us.usstamp NOT IN (SELECT [calendare ventuser].[usstamp]
    FROM [calendareventuser])

  3. Colunas expressão SQL: username; userno
  4. Tipo de dados para cada coluna: c;n0
  5. Títulos das expressões SQL: Utilizador; N.º


6. Tipo de análise Normal em SQL com dados inicias

Listagem com os utilizadores sem marcações num intervalo de datas

Como Fazer?



  • Tipo de análise: Normal
  • Dados iniciais:
  • Número: 1
  • Nome: Data inicial
  • Tipo: Data
  • Número: 2
  • Nome: Data final
  • Tipo: Data
  • Código da análise:

     1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT us.username,
    us.userno
    FROM us
    WHERE us.usstamp NOT IN (SELECT [calendareventuser].[usstamp]
    FROM [calendareventuser]
    JOIN [calendarevent]
    ON [calendarevent].[calendareventstamp] =
    [calendareventuse r].[calendareventstamp]
    WHERE [calendarevent].[scheduledfor] BETWEEN '#1#'
    AND '#2#'
    )

  • Colunas expressão SQL: username; userno
  • Tipo de dados para cada coluna: c;n0
  • Títulos das expressões SQL: Utilizador; N.º


7. Tipo de análise Normal em VB.NET

Listagem com os utilizadores sem marcações

Como Fazer?



  1. Tipo de análise: Normal
  2. Código da análise:

    1
    2
    3
    4
    5
    6
    7
    8
    Dim query As QueryVO = New QueryVO()
    query.entityName = "US"
    query.SelectItems.add("username")
    query.SelectItems.add("userno")
    query.filterItems.add(new FilterItem("us.usstamp", Comparison.NOTIN, "(Select [C
    ALENDAREVENTUSER].[usstamp] From [CALENDAREVENTUSER] )"))
    Dim result = SDK.Query.getEntityData(query)
    return result

  3. Colunas expressão SQL: username; userno
  4. Tipo de dados para cada coluna: c;n0
  5. Títulos das expressões SQL: Utilizador; N.º


8 . Tipo de análise Ranking

Artigos mais vendidos

Como Fazer?



  1. Tipo de análise: Ranking
  2. Tabela: sl
  3. Ano:Year (sl.datalc)
  4. Campo da descrição: sl.ref
  5. Título da descrição: Referência
  6. Campo de valor positivo: sl.qtt
  7. Título do valor positivo: Quantidade


9. Tipo de análise Normal com Gráfico

Gráfico de tarte com os utilizadores com mais marcações

Como Fazer?



  1. Título: Com mais marcações
  2. Tipo de gráfico: Tarte
  3. Gráfico tem expressão própia:

    1
    2
    3
    4
    5
    6
    SELECT us.username,
    Count(*) total
    FROM us
    JOIN calendareventuser
    ON [calendareventuser].usstamp = us.usstamp
    GROUP BY us.username

  4. Colunas: username; total
  5. Tipos para as colunas: c;n
  6. Títulos para as colunas: Utilizador; Total
  7. Campo para série 1: 1: 2
  8. Coluna para dados: 2
  9. Coluna(s) para legenda: 1


10. Tipo de análise Normal com Snapshot

N.º de total de utilizadores sem marcações

Como Fazer?



  1. Mostra snapshot no ecrã de análise total: Sim
  2. Título do snapshot: Total de utilizadores sem marcações
  3. Tipo de dados: interno
  4. Unidade: Utilizadores
  5. Expressão SQL:

    1
    2
    3
    4
    SELECT Count(*) uval
    FROM us
    WHERE us.usstamp NOT IN (SELECT [calendareventuser] .[usstamp]
    FROM [calendareventuser])




11. Tipo de análise Ecrã

Colocar a análise mensal disponível no ecrã

Como Fazer



  1. Aceder à análise criada anteriormente do tipo Mensal
  2. É uma análise de acrã: Sim
  3. Ecrã: Movimentos de stock