Script em Performance Analytics
Performance Analytics fornece vários objetos de script para uso em scripts e APIs para consultar dados Performance Analytics. Os scripts servem como mapeamentos de detalhamento ou para calcular um valor de um indicador.
Dicas sobre scripts
- Em geral, use scripts somente para oferecer suporte a indicadores como Idade com processamento de data, usando as variáveis
score_startescore_end. - Limite os campos desnecessários. Cada vez que você inclui um campo de referência com pontos extra, você adiciona uma associação extra à consulta.
- Tente substituir detalhamentos manuais por exibições de banco de dados para obter melhor desempenho.
- Tente usar inclusões de script para funções comuns. Para obter mais informações, consulte Inclusões de script.
- Se os dados não estiverem estruturados da maneira necessária para relatórios, tente adicionar "campos de relatório" às tabelas operacionais em vez de criar scripts. Para obter mais informações, consulte esta publicação da comunidade.
- Se você estiver executando um script em segundo plano que consulta as pontuações Performance Analytics ou tabelas de snapshots, não poderá acessar dados sobre uma aplicação com escopo, a menos que tenha uma função apropriada para essa aplicação.
Mapeamento de detalhamento e scripts de indicador
Um script de mapeamento de detalhamento normalmente retorna um sys_id de um elemento de detalhamento ou um número inteiro para colocar a pontuação em um bucket. Os scripts de indicador retornam uma pontuação calculada a partir de um ou mais campos. O mesmo script pode servir como um script de mapeamento de detalhamento e como um script de indicador.
Script de detalhamento
Por exemplo, considere o script Incident.Age.Days fornecido, que usa o campo opened_at da tabela de incidentes. Este script serve como um mapeamento de detalhamento para o detalhamento de Idade, que usa o grupo de bucket Intervalos de Idade do Incidente (Dias) como a fonte de detalhamento.
var diff=function(x,y){return y.dateNumericValue() - x.dateNumericValue();};
var days=function(x,y){return diff(x,y)/(24*60*60*1000);};
days(current.opened_at, score_end);
Neste exemplo, current.opened_at obtém o carimbo de data/hora de quando o registro avaliado no momento foi aberto. A variável do scriptscore_end vem do coletor de dados e está vinculada ao período que está sendo coletado. Por exemplo, se um indicador mensal estiver sendo coletado, o score_end será o final do mês. Aqui, o carimbo de data/hora de quando o incidente foi aberto é subtraído do carimbo de data/hora do final do período de coleta e o resultado é convertido em dias.
Este exemplo inclui o campo Incident.opened_at, que é especificado no campo Campos para este script. Você pode usar score_start e score_end sem defini-los no campo Campos.
Criar um script no Performance Analytics
Para criar um script, primeiro selecione a tabela de fatos à qual o script se aplica e selecione explicitamente todos os campos.
Antes de Iniciar
Procedimento
O que Fazer Depois
Variáveis do Performance Analytics
Várias variáveis estão disponíveis para uso em scripts Performance Analytics e indicadores de fórmula.
Você pode usar as seguintes variáveis em Performance Analytics scripts e fórmulas.
score_start: primeiro segundo do dia da primeira coleta de pontuação do indicador. Para scripts, a hora é calculada com base na diferença entre o fuso horário do usuário Executar como para o trabalho de coleta e o fuso horário do banco de dados, que é GMT. Para fórmulas, a hora é calculada com base na diferença entre o fuso horário do usuário que executa a fórmula e o GMT. Um usuário executa uma fórmula exibindo o indicador de fórmula em um widget de painel ou no Hub de análise.score_end: último segundo do dia da última coleta de pontuação do indicador. O tempo é calculado da mesma forma que parascore_start.pa: uma variável de fórmula, não utilizável em scripts, que fornece um conjunto de Hub de análise atributos e métodos.
Em scripts, as variáveis de início e término da coleta de pontuação são objetos GlideElementGlideObject. Você pode obter um objeto GlideDateTime dessas variáveis chamando getGlideObject(), como neste exemplo: gs.log("Score main = " + score_end.getGlideObject().getDayOfWeek());
Nas fórmulas, as variáveis de início e término da coleta de pontuação já são objetos GlideDateTime. Portanto, você pode usar as variáveis diretamente sem chamar getGlideObject(), como neste exemplo: gs.log("Score main = " + score_end.getDayOfWeek());
Os valores das variáveis inicial e final estão vinculados ao período que está sendo coletado. Por exemplo, se um indicador mensal estiver sendo coletado, o score_end será o final do mês.
Os valores de score_start e score_end são calculados com base no fuso horário do usuário relevante. Para scripts Performance Analytics, este é o fuso horário Executar como do trabalho de coleta. Para fórmulas, este é o fuso horário do usuário que exibe o indicador de fórmula em um widget de painel ou o Hub de análise. Portanto, usuários em fusos horários diferentes podem ter datas diferentes para score_start e score_end em uma fórmula.