Manuais
PHC GO Como configurar uma análise secundária
 
Uma análise secundária constitui uma análise que só pode ser executada a partir de uma análise Principal. A análise secundária apresenta dados mais detalhados sobre os resultados obtidos na análise principal.

Para um melhor entendimento de como criar criar uma análise secundária, iremos abordar nesta explicação, um exemplo prático de criação de uma análise global de Vendas por família.
Nota

De forma a seguir as boas práticas, a configuração de análises secundárias devem ficar marcadas como inativas, de forma a não virem exibidas na lista de análises, uma vez que a sua execução está sempre dependente da execução da análise principal.

Iniciaremos com a explicação em detalhe da configuração da Análise Principal para depois terminarmos com a configuração da Análise Secundária.


1. Configuração da análise principal



  1. Aceda ao menu localizado no lado esquerdo da página, e navegue até Configuração de análises ( Menu > Definições > Reporting > Configuração de análises );

  2. Pressione o botão Introduza configuração de análise;

  3. Preencha os seguintes campos:
     
    • Descrição da análise: Vendas por família

    • Grupo: Clientes e vendas
    • Nota

      O Campo Descrição da análise representa o título que a análise irá assumir. O campo Grupo serve para determinar em que agrupador se vai localizar a análise dentro do ecrã de Análises e Listagens.
    • Tipo: Normal
    • Notas

      Tem a possibilidade de construir até 6 Tipos de Análises, para mais informações sobre a forma como cada uma é configurada clique no link respetivo.


      • Normal

        Análises tipicamente construídas através de uma Expressão SQL ou através de programa em linguagem VB.NET.


      • Anual

        Análises para verificar o comportamento anual de uma entidade, por exemplo, a rentabilidade anual da empresa.


      • Mensal

        Análises para observar o comportamento de determinadas variáveis ao mês.


      • Extrato

        Análises para avaliar a evolução de um conjunto de movimentos com a apresentação do respetivo saldo.


      • Comparação Anual

        Análises que exibem dados comparativos entre dois anos selecionados pelo utilizador.


      • Ranking

        Análises que comparam dados num período de datas definido com um período homólogo, exibindo os dados ordenados por importância.

    • No separador Detalhes preenchemos o campo Descrição completa, com uma descrição sucinta do âmbito da análise. Na prática, esta descrição virá refletida quando executar a análise e passar com o cursor do rato sobre o icone localizado à direita do nome da análise.
      No exemplo, colocariamos o seguinte texto:

      Esta análise permite observar as vendas que foram efetuadas, agrupadas por família, entre o intervalo de datas definido por si. A análise indica o número de quantidades vendidas, assim como o seu respetivo valor. Ao clicar sobre uma linha de família, tem a possibilidade de ver o detalhe de todos os documentos de faturação, emitidos entre o intervalo de datas com artigos da família que selecionou.

  4. Plano mínimo: Selecionar o plano Grow

  5. Abra o separador Dados iniciais, neste local é onde se definem os filtros que a análise irá ter uma vez acedida. Caso não tenha dados iniciais, então a análise uma vez acedida é desde logo executada sem qualquer tipo de condição. No exemplo iremos criar filtros de datas inicial e final preenchendo com os seguintes valores:


  6. No separador Normal, preencher os seguintes dados:

    • É uma expressão SQL: Sim

    • Código:

    • select case when fi.familia=´´ then ´Sem Família Definida´
      else fi.familia end as stamp,
      case when fi.familia=´´ then ´Sem Família Definida´
      else fi.familia end as familia,
      isnull(sum(case when td.tiposaft=´NC´ then -fi.qtt
      when td.tiposaft<>´NC´ then fi.qtt end),0) as quantidade,
      Sum(fi.etiliquido) as valor
      from ft(nolock)
      inner join td(nolock) on td.ndoc=ft.ndoc and td.[excluianalises]=0
      inner join fi(nolock) on ft.ftstamp=fi.ftstamp
      where ft.fdata>=´#1#´ and ft.fdata<=´#2#´ and
      ft.anulada=0 and ft.fno>0 and
      (td.tiposaft=´FT´ or td.tiposaft=´FS´ or td.tiposaft=´FR´
      or (td.tiposaft=´NC´ and td.regrd=0) or td.tiposaft=´ND´)
      group by fi.familia

    • Colunas expressão SQL: stamp;familia;quantidade;valor
    • Nota

      Este campo serve para indicar o nome das colunas que a expressão SQL retorna, separados por ponto e vírgula. É sensível a maiúsculas e minúsculas.
    • Tipo de dados para cada coluna: c;c;n;mb
    • Nota

      Os valores das colunas que a expressão SQL pode retornar são:

        n para valores numéricos,
        qtt para quantidades,
        pct para percentagens,
        c para carateres,
        l para lógicos,
        d para datas,
        mb para moeda base,
        me para moeda estrangeira.

        Os diversos tipos que indicar neste campo, devem vir separados sempre por ponto e vírgula.

        Além disso, pode definir o tamanho de cada coluna. Para isso, após o tipo de dado de cada coluna deve acrescentar ":" seguido de um valor em pixéis. (Por exemplo mb:80)
    • Títulos das expressões SQL: Stamp;Família;Quantidade;Valor
    • Nota

      Este campo destina-se ao preenchimento dos títulos das colunas que a expressão de Sql retorna, separados por ponto e vírgula. Estes títulos são aqueles que virão exibidos nas colunas da análise quando esta for executada na prática.
    • Calcula totais: Sim


    • Colunas a calcular: 3,4 (neste caso serão as colunas Quantidade e Valor que irão exibir totalizadores)


    • Análise secundária: Este campo deve ser preenchido com o número da análise secundária. Só poderá obter esse número apenas quando mais à frente criar e gravar a análise secundária, dado que é um número atribuído automaticamente pela aplicação.


  7. No separador Acessos é onde se estabelecem os acessos que a análise terá, podendo a mesma ser disponibilizada em função de um acesso por perfil ou acesso por área. Os acessos estão diretamente relacionadas com os Perfis associados aos Utilizadores da aplicação.
    No exemplo selecione a área das Vendas.
  8. Nota

    Se não for definido um acesso por perfil ou se não for indicada uma área de acesso, presume-se que todos os utilizadores podem consultar a análise. Ao definir um dos acessos, determina-se que apenas os utilizadores com acesso a essa área ou a esse perfil poderão consultá-la.

  9. Pressione o botão Grave.


2. Configuração da análise secundária



  1. Pressione o botão Introduza configuração de análise;


  2. Preencha os seguintes campos:
     

    • Descrição da análise: Vendas por família - detalhe

    • Grupo: Clientes e Vendas

    • Tipo: Normal

    • Inativa: Sim
    • Nota

      Qualquer análise secundária deve estar marcada como inativa. Caso estejam ativas irão aparacer indevidamente no ecrã das Análises e Listagens uma vez que para mostrar os valores corretos devem ser executadas após a execução de uma análise principal.
  3. Plano mínimo: Selecionar o plano Grow

  4. No separador Normal, preencher os seguintes dados:


    • É uma expressão SQL: Sim


    • Código:

    • select ft.ftstamp as stamp,ft.nmdoc + ´ nº ´ + 
      ltrim(rtrim(convert(char(10),ft.fno))) as documento,
      ft.fdata as data,
      case when ft.estab>0 then ltrim(rtrim(ft.nome))+´ - ´+
      convert(varchar(10),ft.no)+´ - ´+
      convert(varchar(10),ft.estab)else ft.nome+ ´ - ´ +
      convert(varchar(10),ft.no) end as nome,
      isnull(sum(case when td.tiposaft=´NC´ then -fi.qtt when td.tiposaft<>´NC´
      then fi.qtt end),0) as quantidade,
      sum(fi.etiliquido) as valor
      from ft(nolock)
      inner join td(nolock) on td.ndoc=ft.ndoc and td.[excluianalises]=0
      inner join fi(nolock) on fi.ftstamp=ft.ftstamp
      where fi.familia=(case when ´#STAMP2#´=´Sem Família Definida´ then ´´ else ´#STAMP2#´ end)
      and ft.fdata>=´#1#´ and ft.fdata<=´#2#´ and ft.anulada=0 and ft.fno>0
      and (td.tiposaft=´FT´ or td.tiposaft=´FS´ or td.tiposaft=´FR´
      or (td.tiposaft=´NC´ and td.regrd=0) or td.tiposaft=´ND´)
      and fi.qtt<>0group by ft.ftstamp, ft.nmdoc, ft.fno, ft.no, ft.estab,
      ft.fdata, ft.nome
      order by ft.fdata, ft.nmdoc, ft.fno, ft.no, ft.estab

    • Colunas expressão SQL: stamp;documento;data;nome;quantidade;valor


    • Tipo de dados para cada coluna: c;c;d;c;n;mb
    • Nota

      Pode definir o tamanho de cada coluna. Para isso, após o tipo de dado de cada coluna deve acrescentar ":" seguido de um valor em pixéis. (Por exemplo mb:80)
    • Títulos das expressões SQL: Stamp;Documento;Data;Cliente;Quantidade;Valor


    • Calcula totais: Sim


    • Colunas a calcular: 5,6 (neste caso serão as colunas Quantidade e Valor que irão exibir totalizadores)


    • Permite navegar para um ecrã: Sim


    • Nome da tabela a ligar: Documentos de faturação
      Ao preencher estes 2 últimos campos, estamos a determinar que a análise irá permitir navegação para registos de documentos de faturação. As análises configuradas desta forma, quando executadas irão exibir ao fim da última coluna o icone que indica que é passível de navegação para um registo.
    Dica

    Caso queira saber mais informações de como configurar navegações para uma análise, pode aceder aqui
  5. No separador Acessos é onde se estabelecem os acessos que a análise terá, podendo a mesma ser disponibilizada em função de um acesso por perfil ou acesso por área. Os acessos estão diretamente relacionadas com os Perfis associados aos Utilizadores da aplicação.
    No exemplo selecione a área das Vendas.

  6. Pressione o botão Grave. Uma vez gravada a análise secundária, tome nota do Número que a análise gerou (campo localizado à direita do campo Descrição Completa, no separador Detalhes);

  7. Edite o registo da Análise Principal e preencha o campo Análise Secundária com o número que anotou anteriormente para possibilitar a ligação entre as duas análises;


3. Execução das análises



  1. Aceda ao menu localizado no lado esquerdo da página, e navegue até Análises e Listagens ( Menu > Análises e Listagens );

  2. Aceda ao agrupador Clientes e Vendas;

  3. Escolha a análise Vendas por família;

  4. Preencha um intervalo de datas para o cálculo da análise, e execute a mesma;

  5. Quando clicar sobre uma linha da análise o cursor do rato muda de formato significando que possui uma análise secundária, pelo que, ao clicar sobre a mesma, será aberto um novo ecrã com os dados da análise secundária que variam naturalmente consoante a linha de família selecionada na análise principal.