---
sourceDocument: Yokohama Platform Analytics
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/now-intelligence

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Yokohama Platform Analytics

ft:clusterId :

    - par

bundleId :

    - par

workflow :

    - Platform


---

# Script em Performance Analytics

# Script em Performance Analytics {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 min. de leitura

Performance AnalyticsFornece vários objetos de script para uso em scripts e APIs para consulta Performance Analyticsdados. Os scripts servem como mapeamentos de detalhamento ou para calcular um valor de um indicador.

## Dicas sobre scripts {#pa-scripts__section_ysl_gw2_nsb}

* Em geral, use scripts somente para oferecer suporte a indicadores como Idade com processamento de data, usando `score_start `e. `score_end `variáveis.
* Limite campos desnecessários. Sempre que você incluir um campo com pontos extra, você adiciona uma junção extra à consulta.
* Tente substituir detalhamentos manuais por [exibições do banco de dados](https://servicenow-prod.fluidtopics.net/lBJZJ3coAoV518cNGKBaew#gloss-database-view "Uma exibição de banco de dados define junções de tabela para fins de emissão de relatórios. Por exemplo, uma exibição de banco de dados pode associar a tabela Incidente à tabela Definição de métrica. Esta exibição pode ser usada para uma origem de indicador.")para um melhor desempenho.
* Tente usar inclusões de script para funções comuns. Para obter mais informações, consulte [Inclusões de script](https://www.servicenow.com/docs/access?context=c_ScriptIncludes&version=yokohama&pubname=yokohama-application-development&ft:locale=en-US).
* Se os dados não estiverem estruturados da forma necessária para a emissão de relatórios, tente adicionar "campos de relatório" às tabelas operacionais em vez de criar scripts. Para obter mais informações, consulte isso [Publicação da comunidade](https://community.servicenow.com/community?id=community_blog&sys_id=2f99990fdbee5b00fece0b55ca9619fb).
* Se você estiver executando um script em segundo plano que consulta o. Performance Analyticstabelas de pontuações ou snapshots, você não pode acessar dados sobre uma aplicação com escopo, a menos que tenha uma função apropriada para essa aplicação.

{#pa-scripts__ul_mcf_gws_yjb}  
Aviso:  
Tente não usar GlideRecords ou GlideAggregates em scripts Performance Analytics ou indicadores de fórmula. Embora às vezes você precise usar essas operações para obter o que deseja, elas são caras e podem ser executadas centenas de milhares de vezes. Certifique-se de que não há alternativas antes de usá-las.

## Mapeamento de detalhamento e scripts de indicador {#pa-scripts__section_bdq_kw2_nsb}

R [mapeamento de detalhamento](https://servicenow-prod.fluidtopics.net/lBJZJ3coAoV518cNGKBaew#gloss-breakdown-mapping "Um mapeamento de detalhamento especifica os relacionamentos entre detalhamentos e origens do indicador. Um mapeamento de detalhamento faz referência a um campo na origem do indicador ou a um script que consulta a origem do indicador.")o script 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 script de mapeamento de detalhamento e como script de indicador.  

## Script de detalhamento {#pa-scripts__section_krh_nw2_nsb}

Por exemplo, considere o script Incident.Age.Days fornecido, que usa o. `aberto_em `campo da tabela de incidentes. Este script serve como um mapeamento de detalhamento para o detalhamento de idade, que usa as faixas etárias do incidente (dias) [grupo de buckets](https://servicenow-prod.fluidtopics.net/lBJZJ3coAoV518cNGKBaew#gloss-bucket-group "Reúne dados contínuos em grupos discretos quando não há nenhum campo de tabela que possa servir como elementos de detalhamento. Por exemplo, um grupo de buckets pode pegar diferenças entre carimbos de data/hora e dividi-las em períodos por hora.")como a origem do 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, `opened_at.opened_at `obtém o carimbo de data/hora de quando o registro avaliado no momento foi aberto. . `score_end ` [variável de script](https://servicenow-prod.fluidtopics.net/NoO~I4blf7Ub87bry3YelA#pa-scripts "Performance AnalyticsFornece vários objetos de script para uso em scripts e APIs para consulta Performance Analyticsdados. Os scripts servem como mapeamentos de detalhamento ou para calcular um valor de um indicador.")vem de [coletor de dados](https://servicenow-prod.fluidtopics.net/lBJZJ3coAoV518cNGKBaew#gloss-data-collector "Um trabalho agendado que coleta dados de uma ou mais origens de indicador para produzir pontuações de indicador.")e está vinculado ao período que está sendo coletado. Por exemplo, se um indicador mensal estiver sendo coletado, o. `score_end `é o fim do mês. Aqui, o carimbo de data/hora de quando o incidente foi aberto é subtraído do carimbo de data/hora do fim do período de coleta e o resultado é convertido em dias.

Este exemplo inclui o. `Incident.opened_at `, que é especificado em Campos campo para este script. Você pode usar `score_start `e. `score_end `sem defini-los em Campos campo.
**Tarefas relacionadas**   

* [Crie um mapeamento de detalhamento em um registro de detalhamento](https://servicenow-prod.fluidtopics.net/vfQVOu0SZilSY7tReHuXdw "Especifique qual campo na origem do indicador faz referência à origem do detalhamento. Se nenhum campo apropriado estiver disponível, especifique um script para consultar a origem do indicador.")  
**Tópicos relacionados**   

* [Lista de APIs com escopo do servidor](https://developer.servicenow.com/dev.do#!/reference/api/tokyo/server)

## Crie um script na Análise de desempenho {#ariaid-title2}

Para criar um script, primeiro selecione a tabela de fatos à qual o script se aplica e selecione explicitamente todos os campos.

### Antes de Iniciar

Função necessária: administrador, pa_admin. Para acessar dados de aplicações com escopo em Performance Analytics, você também precisa da função de administrador apropriada para essa aplicação.

### Procedimento

1. Navegar até TudoPerformance AnalyticsScripts e clique em Novo .
2. Forneça um script descritivo Nome .
3. Selecione Tabela de fatos a que o script se aplica.  
   Somente indicadores que usam a mesma tabela de fatos podem usar este script.
4. Selecione a tabela de fatos Campos , se houver, que será usado no script.  
   Você seleciona campos por seus rótulos.
5. Escreva o script.  
   O script deve estar em conformidade com os seguintes relacionamentos e restrições:
   * Você pode incluir somente os campos selecionados neste formulário e variáveis de script. Para obter mais informações, consulte a seção sobre Variáveis da Análise de desempenho.
   * Ao usar um campo no script, você usa o nome da coluna. Se necessário, procure o nome da coluna na tabela de fatos.
   * Ao usar um campo de uma exibição de banco de dados, você deve incluir o prefixo. Por exemplo, a exibição do banco de dados incident_sla inclui a tabela task_sla, com o prefixo taskslatable. Task_sla inclui a coluna business_duration. Para usar o campo business_duration da exibição do banco de dados incident_sla, escreva-o como taskslatable_business_duration . Se você não tiver acesso à exibição do banco de dados, peça ao administrador do sistema para encontrar o prefixo para você.
   {#create-script-pa__ul_h32_xzl_sbb}

### O que Fazer Depois

Depois de criar o script, crie um mapeamento de detalhamento ou indicador que use o script. Você pode abrir um mapeamento de detalhamento ou formulário de indicador clicando em Novo no mapeamento de detalhamento ou na guia do indicador. Os mapeamentos de detalhamento e indicadores que usam este script estão listados nessas guias.

## Performance Analytics variáveis {#ariaid-title3}

Várias variáveis estão disponíveis para uso em Performance Analyticsindicadores de fórmulas e scripts.
Você pode usar as seguintes variáveis em Performance Analyticsscripts 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 para `score_start `.
* `pa `: Uma variável de fórmula, não utilizável em scripts, que fornece um conjunto de Hub de análiseatributos e métodos.
{#r_ScriptsForAutomatedBreakdowns__ul_lkr_qk2_jp}

Em scripts, as variáveis de início e término da coleção de pontuação são GlideElementGlideGlideObject objetos. Você pode obter um GlideDateTime objeto dessas variáveis chamando GetGlideObject() , como neste exemplo: `.GetGlideObject().getDayOfWeek()); `

Em fórmulas, as variáveis de início e término da coleção de pontuação já são GlideDateTime objetos. Portanto, você pode usar as variáveis diretamente sem chamar GetGlideObject() , como neste exemplo: `g.log("Pontuação principal"); `

Os valores das variáveis de início e término são vinculados ao período que está sendo coletado. Por exemplo, se um indicador mensal estiver sendo coletado, o. `score_end `é o fim do mês.

. `score_start `e. `score_end `os valores são calculados com base no fuso horário do usuário relevante. Para Performance AnalyticsScripts, 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.
**Conceitos relacionados**   

* [Mudanças em score_start/end devido a fusos horários diferentes do usuário](https://servicenow-prod.fluidtopics.net/s~MaOVsCQHuPOv4fe7FBCQ "Para indicadores de fórmula, os valores das variáveis score_start e. score_end são calculados com base no fuso horário do usuário que está executando a fórmula. Se usuários em fusos horários diferentes executarem a mesma fórmula, os valores de score_start e. score_end mudança.")  
**Tarefas relacionadas**   

* [Obter métodos de análise em fórmulas](https://servicenow-prod.fluidtopics.net/G7jzkCBTxK~xiUWTJRpBng "Para inserir um valor calculado do Hub de análiseem uma fórmula, use um método na fórmula.")

