4. Preencha uma
Descrição completa para a análise. Por exemplo, pode preencher um resumo sucinto do que é possível de extrair na análise e dar informação adicional sobre a 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.
Informação
O campo Número é apenas de consulta e identifica o número interno da análise. As análises internas (construídas pela PHC) apresentam uma numeração simples, com início no n.º 1. As análises construídas por parceiros PHC GO apresentam uma numeração um pouco diferente, para sua distinção: têm como prefixo o número interno da instalação de kitparceiro seguido de numeração sequencial, começando no n.º 1. Por exemplo XXXX1 (onde "XXXX" é o n.º interno da instalação de kitparceiro).
5. Caso pretenda que a análise esteja agregada a qualquer registo contido num ecrã (por exemplo: Clientes), deve ativar o campo
É uma análise de registo e mais à direita selecionar o
Ecrã respetivo (a análise ficará disponível ao consultar um registo no ecrã que indicou, dentro do tabulador de "Análises").
Se o campo
É uma análises de registo estiver desmarcado, a análise uma vez finalizada na sua configuração será considerada uma
análise global e ficará localizada no
Menu >
Análises e Listagens onde se exibem as análises deste tipo.
6. Se tencionar que a análise esteja disponível a partir de um ecrã específico, deverá ativar o campo
É uma análise de ecrã e indicar no campo
Ecrã onde a mesma será disponibilizada. Optando por esta configuração, a análise ficará disponível no ecrã que indicou, dentro do tabulador de "Análises e Listagens").
Nota
Não é permitida a análise estar configurada para ser de registo e de ecrã em simultâneo.
7. Preencha o
Plano Mínimo que irá disponibilizar a análise. Ao preencher um determinado plano na análise está a definir que ela estará disponível apenas a partir desse plano e em planos superiores.
8. Pode alterar o
tamanho da fonte para impressão em PDF (o valor mínimo admitido para o campo é 6).
Esta seção do ecrã deve ser
usada exclusivamente em situações que pretenda que a análise peça ao utilizador dados iniciais para
filtrar a saída de dados antes de ser executada. Se não for esse o caso, prossiga a configuração da análise na seção
Comparação anual.
9. Para incluir dados iniciais clique no botão
Adicione variáveis e configure tantos dados iniciais consoante as suas necessidades. A grelha é composta pelos seguintes campos (colunas):
Número: Trata-se do nº interno atribuído ao dado inicial e que representa a ordem pela qual vem exibido ao aceder à análise.
O valor deste campo é incrementado automaticamente em uma unidade com base no valor do último registo de dado inicial criado na grelha, muito embora, possa posteriormente alterar a ordem dos dados iniciais conforme pretenda.
Nome: Campo para preencher o nome que terá o dado inicial.
Tipo: Campo para determinar o tipo de dado inicial.
Tem disponível para seleção um dos seguintes tipos: Caracter, Mês, Numérico, Lógico, Data, Ano e Tabela.
Opções: Se tipo "Tabela": lista de opções, separada por vírgulas. Se tipo "Ano": ano inicial com 4 dígitos: Este campo pode albergar dados de diversas formas, em função do tipo de dado selecionado no campo anterior.Dicas
a) Para dados de tipo
Tabela pode preencher neste campo entre outras coisas:
» Um dado inicial que permita selecionar um item a partir de uma lista de itens fixos (separados por vírgula). Por exemplo, um campo dropdown para selecionar o estado para visualizar encomendas:
Todas,Abertas,Fechadas» Um dado inicial que permita selecionar um item a partir de uma lista que pode variar em função de uma query SQL (implica ativar a coluna
Lista é uma query)
Exemplo 1 - query que retorna o nome de cada um dos clientes presentes na tabela de Clientes (CL) sendo que o 1º item representa "Todos os Clientes"
select uval from (select 'Todos os Clientes' as uval from cl (nolock)
union select distinct nome as uval from cl (nolock)) a
ORDER BY CASE uval WHEN 'Todos os Clientes' THEN 1 ELSE 2 END, uval
Exemplo 2 - query que retorna o nome das séries de documentos de faturação (tabela TD), que sejam do tipo ´FT´, ´FR´, ´FS´ ou ´NC´, e que o 1º item representa "Todos os Tipos de Documentos"
select uval from (select 'Todos os Tipos de Documentos' as uval from td (nolock) union
select distinct nmdoc as uval from td (nolock) where
td.tiposaft='FT' or
td.tiposaft='NC' or
td.tiposaft='FR' or
td.tiposaft='FS') a
ORDER BY CASE uval WHEN 'Todos os Tipos de Documentos' THEN 1 ELSE 2 END, uval
b) Para dados de tipo
Ano poderá criar um dado de 4 dígitos que servirá de base para o cálculo da análise. Exemplo: 2021
c) Para dados de tipo
Mês poderá criar um dado que sirva para o cálculo da análise. Exemplo: 12.
Lista é uma query: A lista deve ser uma expressão de SQL que retorna uma lista com um campo designado por "uval" (ver exemplos anteriores).
Obrigatório: Indica que este dado inicial é de preenchimento obrigatório.
Nº de carateres: Número máximo de carateres que este dado inicial pode receber. Se deixar o campo a zero não terá limite de nº de caracteres. O preenchimento desta coluna da grelha apenas se aplica a dados iniciais do tipo numérico e caracter.
Decimais: Número de decimais caso o campo seja "numérico".
v.d texto: Valor por defeito para este dado inicial caso seja do tipo "caracter".
v.d. número: Valor por defeito para este dado inicial caso seja do tipo "numérico".
v.d. lógico: Valor por defeito para este dado inicial caso seja do tipo "lógico".
v.d. data: Valor por defeito para este dado inicial caso seja do tipo "data". Neste caso, este campo representa o nº de dias de diferença para a data atual. Por exemplo, -365 neste campo, colocará no dado inicial a data de há 365 dias atrás.
Rejeita cache: Caso ative este campo, o valor preenchido pelo utilizador da análise para a variável do dado inicial não será guardada na base de dados com o último valor introduzido (ou seja, sempre que a análise for inicializada, o valor da variável de dado inicial será automaticamente preenchido pela aplicação, tendo por base o valor preenchido nos campos v.d. texto, v.d. número, v.d. lógico ou v.d. data (conforme o tipo de dado definido, se texto, numérico, lógico, data,..).tips_and_updatesDicas
Por exemplo, para os campos de tipo
Ano, a framework vai olhar primeiramente se guarda cache
(rejeita cache desativado) e em caso afirmativo recorre ao último valor guardado em tabela.
Caso não guarde cache
(rejeita cache ativado), então a framework irá olhar para o valor definido no campo
v.d.data, e caso não esteja preenchido, olha para o valor do campo
v.d.texto. Se os campos anteriores não contemplarem qualquer valor, então o campo virá vazio de conteúdo.
Exemplos:
(I) se rejeita a cache e tem vd.data = -2 <-- toma sempre como base o ano corrente (ex: 2023) e diminui 2 anos
Então, na prática o campo "Ano" = 2021
----------------------------------------------------------
(II) se rejeita a cache e tem vd.data = vazio e v.d.texto= 2017
Então, na prática o campo "Ano" = 2017
----------------------------------------------------------
(III) se rejeita a cache e tem vd.data = vazio e v.d.texto= vazio
Então, na prática o campo "Ano" = vazio
----------------------------------------------------------
(IV) se rejeita a cache e tem vd.data = 2
Então, na prática o campo "Ano" = vazio (porque estamos no ano corrente + 2 anos) seria um ano superior ao ano corrente, logo nesses casos o valor vem vazio.
Premissa: Os dados iniciais de tipo Ano só suportam anos até ao ano corrente.
Tooltip: Informação a explicar o âmbito do dado inicial.
10. O campo
Texto para o botão de execução é aplicável para o caso de querer personalizar o nome do botão de execução da análise, com o nome que pretender. Também pode criar a respetiva tooltip, para isso, preencha o campo
Texto para a tooltip do botão de execução com a descrição para o botão.
11. Se ativar o campo
Pede sempre dados iniciais antes de executar determina que a análise ao ser acedida não será executada automaticamente pela aplicação. Assim, quando aceder à análise pela segunda vez, a execução não irá ser realizada automaticamente com os filtros, que foram colocados da primeira vez que se correu a análise.
12. Na seção
Comparação anual deve definir a forma como a análise será construída, sendo que, a configuração deste tipo de análises implica necessariamente ter por base uma
tabela principal, como por exemplo a tabela de Documentos de Faturação
(ft) ou de outra tabela principal proveniente de add-on.
Admitindo que se pretende extrair dados de vendas por cliente a partir dos documentos de faturação emitidos, por comparação entre dois anos de um mês específico, então no campo
Tabela deve ser preenchido com o nome interno da tabela dos documentos, no caso seria
ft.
13. No
Campo da data deve indicar em que campo da tabela irá buscar a data do registo, por exemplo:
ft.fdata14. No campo
Valor indicar a expressão para calcular os valores, por exemplo:
ft.ettiliq - ft.efinv.
15. O campo
Filtro pode ser usado para estabelecer um filtro extra sobre os dados que deseja que a análise retorne, para além daqueles que possa vir a definir no separador dos
Dados iniciais.
Pode utilizadar expressões, como exemplo determinar que não pretende que sejam considerados dados na tabela
ft de documentos anulados e em modo rascunho (com numeração negativa):
ft.anulada=0 and ft.fno>0.
Pode igualmente utilizar valores definidos nos dados iniciais. Por exemplo para invocar neste campo o 1º dado inicial seria
#1#.
16. Caso pretenda que a análise contemple um
Campo agrupador deve definir o campo da tabela que irá agrupar os dados, podendo também atribuir um
Título ao agrupador que será refletido posteriormente na coluna agrupadora da análise.Por exemplo, pode definir um Campo Agrupador do tipo:
ft.nome+´´+ft.no e um Título:
Cliente.
17. No campo
Ordem poderá indicar como será feita a ordenação dos resultados da análise. Pode escolher um dos seguintes tipos de ordenação:
Valor ano anteriorValor anoValor mês do ano anteriorValor mês
Consoante o tipo de ordem selecionado este irá influenciar a forma como internamente a expressão SQL será construída na claúsula ORDER BY.
18. O campo % acima da média serve para indicar uma percentagem para classificar os registos como acima da média. Por exemplo: se for 5 os registos com crescimento acima de 5 serão classificados como acima da média. O mesmo é válido para abaixo da média para os resultados abaixo de -5. O valor em % que incluir neste campo irá influenciar o valor das colunas Estado da análise.
19. O campo % para muito acima da média permite indicar uma percentagem para classificar os registos como muito acima da média. Se por exemplo for 20, os registos com crescimento acima de 20 serão classificados como muito acima da média. O valor em % que incluir neste campo irá influenciar o valor das colunas Estado da análise.
20. Caso pretenda que através da análise seja possível navegar para um ecrã da aplicação, deve ativar o campo Permite navegar para um ecrã e no campo ao lado Nome da tabela a ligar selecionar na lista a entidade para o qual a análise irá navegar. Exemplo: o ecrã de Clientes.
Caso a navegação pretendida seja para um ecrã de utilizador (criado via add-on) deverá preencher o campo Nome da tabela de utilizador a ligar com o que aparece na rota url a seguir a custom/.
As análises que estejam configuradas para navegar para um ecrã exibem o símbolo (localizado logo após a última coluna da análise).
21. Se pretender que a partir de um registo da análise se possa navegar para uma análise complementar, deve indicar no campo Análise secundária o número interno dessa análise. Esta deve ser do tipo Normal. Pode ser usada na sua expressão o valor do #STAMP2# que contém o STAMP do registo selecionado ou o campo #COL# que indica o valor da coluna que o utilizador clicou.
Quando há uma ligação a um ecrã ou análise secundária é necessário definir o Campo para stamp que identifique cada linha da análise para possibilitar a navegação para um ecrã ou para uma Análise Secundária. Informação
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.
22. No campo Dado inicial de ano atual se deixado vazio, será o ano atual de calendário usado para os cálculos da análise. Caso seja preenchido, será este o valor que será assumido como ano atual. O valor que deve preencher neste campo, varia em função do número definido na grelha dos Dados Iniciais na coluna Número (ver ponto 9), ou seja, o número deve ser coincidente com o valor do Dado Inicial definido para o ano atual.
23. No campo Dado inicial de ano anterior se deixado vazio, será considerado para os cálculos da análise o ano anterior ao ano corrente. Caso seja preenchido, será este o valor que será assumido como ano anterior. O valor a preencher neste campo, varia em função do número definido na grelha dos Dados Iniciais na coluna Número (ver ponto 9), ou seja, o número deve ser coincidente com o valor do Dado Inicial definido para o ano anterior.
24. No campo Dado inicial de mês se deixado vazio, será assumido automaticamente o mês atual de calendário para os cálculos da análise. Caso preenchido, será este o valor que será assumido para calcular os valores mensais.
25. Para o preenchimento do campo Filtro feito anteriormente no ponto 15), poderá usar campos de tabelas relacionadas com a tabela definida inicialmente no ponto 12. Desta forma, será necessário indicar as Tabelas Relacionadas que farão conexão com a tabela inicial, bem como os campos de ligação, para que seja feito INNER JOIN com as mesmas.
Tem a possibilidade de relacionar até 3 tabelas, sendo que por cada tabela relacionada devem ser configurados os seguintes campos:
O nome interno da tabela através do campo Tabela Relacionada
Exemplo: FT
Os campos de ligação Origem e Destino.
Exemplo: Origem 1: ft.ftstamp e Destino 1: fi.ftstamp
26. Esta seção permite configurar e incluir na análise um
snaphot, isto é, um valor calculado sob a forma de um indicador.
É um snapshot: Ative este campo caso pretenda incluir na análise um snapshot.
É um snapshot exclusivo de registo: Ative este campo caso pretenda que o snapshot apenas seja executado (visível) no contexto da consulta de um registo sobre o ecrã para o qual está configurado (definido mais acima na seção
Detalhes no campo
Ecrã).
É apenas um snapshot e não contém análise: Se ativo irá determinar que esta configuração apenas irá contemplar um snapshot e não irá contém qualquer análise.
Mostra snapshot e seu gráfico no ecrã de análise total: Ativando este campo será exibido o snapshot e o eventual gráfico ligado a este no ecrã das Análises Globais (
Menu > Análises e Listagens > Análises e Listagens) .
Tipo de snapshot: Este campo permite definir se pretende construir apenas um snapshot e nesse caso deverá selecionar o item
Normal. Caso pretenda construir um
2º snapshot que retorne outros valores deverá optar pelo item
2 valores independentes.
sticky_note_2Nota
No campo Tipo de snapshot se optar pelo item 2 valores independentes passam a ser exibidos no ecrã diversos campos para poder configurar o 2º snapshot, designadamente: Tooltip 2, Tipo de dados 2, Unidade 2, Número de casas decimais 2, É um programa VB.NET 2 e Expressão SQL do snapshot 2. O âmbito de cada um destes campos é idêntico ao explicado abaixo para os campos homólogos de configuração do 1º snapshot.
Título do snapshot: Defina um título resumo que identifique o snapshot (este título é aplicável tanto para o 1º snapshot, como para o 2º snapshot que possa vir a configurar).
Tooltip: Preencha um texto que detalhe claramente o que é obtido no snapshot e o que é tido em conta nos cálculos do mesmo.
Tipo de dados: Selecione na lista o tipo de dados que será retornado pelo snapshot. Tem disponíveis um dos seguintes tipos:
Texto,
Inteiro,
Decimal,
Moeda base,
Data e
Percentagem.
Unidade: À direita do valor retornado pelo snapshot, pode incluir um texto (unidade) a que se refere esse valor.
Número de casas decimais: Para este campo defina o número de casas decimais que serão refletidas no valor obtido no snaphot.
É um programa VB.NET: Este campo uma vez selecionado permite que a expressão do snapshot se traduza num programa em VB.NET.
Expressão SQL do snapshot: Neste campo permite escrever a expressão do snapshot, podendo tirar partido do
intelisense para o auxiliar na construção dessa mesma expressão. Por exemplo, se pretender saber qual o número de encomendas de clientes introduzidas ao dia corrente, poderia utilizar a seguinte expressão:
select count(*) from bo (nolock)
where bo.dataobra = cast(getdate() as date) and bo.ndos=1
Em função do tipo de dado retornado pelo Snapshot, pode
estabelecer limites para o valor obtido e
associar-lhe uma determinada cor.
Limite vermelho: o resultado que o snapshot retornar irá apresentar uma cor vermelha, caso seja "0" e até ao valor preenchido neste campo.
Limite amarelo: o resultado que o snapshot retornar irá apresentar uma cor amarela, caso seja superior ao valor indicado no limite vermelho e até ao valor preenchido neste campo.
Limite verde: o resultado que o snapshot retornar irá apresentar uma cor verde, caso seja superior ao valor indicado no limite amarelo e até ao valor preenchido neste campo.
Caso pretenda que os valores dos snapshots não tenham cor, basta deixar os 3 campos anteriores com valor zero.
Tem gráfico: Caso pretenda associar ao snapshot um gráfico deve ativar este campo.
Tipo de gráfico: Selecione na lista o tipo de gráfico a associar ao snapshot.
Tem disponíveis os seguintes tipos:
Linhas,
Barras,
Tarte,
Área,
Tree map,
Cartões e
Tabela.
Expressão do gráfico: Área reservada para construir a expressão associada ao gráfico do snapshot. Poderá tirar partido do
intelisense para o auxiliar na construção dessa mesma expressão.
É um programa: Se a expressão feita no campo anterior constituir num código em VB.NET deverá atiivar esta opção. Caso contrário, a expressão assumirá que se trata de uma instrução em Transact-SQL.
Colunas: Neste campo deve indicar o nome das colunas que a expressão SQL do Snapshot retorna, separados por ponto e vírgula. É sensível a Maiúsculas e minúsculas.
Exemplo:
no;nome;esaldo.
Tipos para as colunas: Em função das colunas indicadas anteriormente, deve indicar aqui o tipo das colunas que a expressão SQL retorna, isto é:
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 separador por ponto e vírgula. Exemplo: n;c;mb
Para o tipo
qtt a aplicação irá ter em consideração as casas decimais nas quantidades estabelecidas no ecrã de
Parâmetros.
Para os tipos
n,
mb,
me e
pct pode configurar o nº de casas decimais devendo para tal à frente de cada tipo indicar o nº de casas decimais pretendido (
Exemplo:
n1,
mb2,
me2,
pct1). Caso não especifique o nº de casas decimais, a aplicação irá ter em consideração as casas decimais estabelecidas no ecrã de
Parâmetros.
Ainda para os tipos
n,
mb,
me e
pct pode-se optar pela exibição do valor zero quando o mesmo retorna 0, devendo para isso colocar à frente de cada tipo o símbolo
# (
Exemplo:
n1#,
mb2#,
pct2#).
Títulos para as colunas: Este campo destina-se ao preenchimento dos títulos das colunas que a expressão de SQL do gráfico do snapshot retorna, separados por ponto e vírgula.
Exemplo:
Nº Cliente;Nome;Saldo em Aberto. Tratam-se dos títulos que virão exibidos nas colunas da análise quando esta for executada na prática.
Coluna para série 1: Neste campo é necessário colocar o nº da coluna da qual pretende obter os dados para o resultado do gráfico para um barra.
Coluna para série 2: Neste campo é necessário colocar o nº da coluna da qual pretende obter os dados para o resultado do gráfico de uma segunda barra. Caso este campo seja deixado a zero ("0"), só irá aparecer a progressão da linha colocada no campo "Coluna para série 1".
Coluna para dados: Indique neste campo o número da coluna do resultado que tem os dados para o gráfico.
Coluna para legenda: Neste campo é necessário colocar o nº da coluna da análise da qual se pretende obter os dados para a legenda do gráfico.