GlideAggregate - Global
. GlideAggregate A API permite a criação de consultas de agregação de banco de dados.
. GlideAggregate a classe é uma extensão do GlideRecord E fornece agregação de banco de dados (AVG, COUNT, GROUP_CONCAT, GROUP_CONCAT_DISTINT, MAX, CONSULTAS MÍN, STDDEV, SOMA). Esta funcionalidade pode ser útil ao criar relatórios personalizados ou em cálculos para campos calculados.
Quando você usa GlideAggregate nos campos de moeda ou preço, você está trabalhando com o valor da moeda de referência. Converta os valores agregados para a moeda da sessão do usuário para exibição. Por causa da taxa de conversão entre o valor da moeda ou do preço (valor exibido) e sua referência moeda o valor (valor de agregação) pode mudar, o resultado pode não ser o que o usuário espera.
Para usar esta API para criar atributos dinâmicos, você deve ter a função dynamic_schema_writer. Para ler dados dinâmicos usando esta API, você deve ter a função dynamic_schema_reader.
Para obter mais informações sobre atributos dinâmicos, consulte Dynamic Schema.
GlideAggregate - addAggregate(cadeia de caracteres agg, nome da cadeia de caracteres)
Adiciona um agregado a uma consulta de banco de dados.
| Nome | Tipo | Descrição |
|---|---|---|
| agg | Cadeia de caracteres | Nome de um agregado a ser usado. Valores válidos:
|
| nome | Cadeia de caracteres | Nome do campo opcional. Nome do campo ou caminho para um atributo em um armazenamento de atributos dinâmico para agrupar os resultados da agregação. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
Para obter mais informações sobre atributos dinâmicos, consulte Dynamic Schema. Padrão: Nulo |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como usar GlideAggregate Funções na tabela Incidente [incidente].
var incidentGA = new GlideAggregate('incident');
incidentGA.groupBy('category');
incidentGA.orderByAggregate('COUNT', 'sys_mod_count');
incidentGA.addAggregate('AVG', 'sys_mod_count');
incidentGA.addAggregate('COUNT', 'sys_mod_count');
incidentGA.addAggregate('GROUP_CONCAT', 'sys_mod_count');
incidentGA.addAggregate('GROUP_CONCAT_DISTINCT', 'sys_mod_count');
incidentGA.addAggregate('MAX', 'sys_mod_count');
incidentGA.addAggregate('MIN', 'sys_mod_count');
incidentGA.addAggregate('STDDEV', 'sys_mod_count');
incidentGA.addAggregate('SUM', 'sys_mod_count');
incidentGA.query();
while (incidentGA.next()) {
gs.info('CATEGORY: ' + incidentGA.getValue('category'));
gs.info('AVG: ' + incidentGA.getAggregate('AVG', 'sys_mod_count'));
gs.info('COUNT: ' + incidentGA.getAggregate('COUNT', 'sys_mod_count'));
gs.info('GROUP_CONCAT: ' + incidentGA.getAggregate('GROUP_CONCAT', 'sys_mod_count'));
gs.info('GROUP_CONCAT_DISTINCT: ' + incidentGA.getAggregate('GROUP_CONCAT_DISTINCT', 'sys_mod_count'));
gs.info('MAX: ' + incidentGA.getAggregate('MAX', 'sys_mod_count'));
gs.info('MIN: ' + incidentGA.getAggregate('MIN', 'sys_mod_count'));
gs.info('STDDEV: ' + incidentGA.getAggregate('STDDEV', 'sys_mod_count'));
gs.info('SUM: ' + incidentGA.getAggregate('SUM', 'sys_mod_count'));
gs.info(' ');
}
Saída.
CATEGORY: inquiry
AVG: 8.42424242424242424242424242424242424242E00
COUNT: 33
GROUP_CONCAT: 0,0,0,0,1,2,2,4,4,4,5,5,5,6,6,6,6,6,6,6,6,7,8,8,8,8,9,15,15,19,32,33,36
GROUP_CONCAT_DISTINCT: 0,1,2,4,5,6,7,8,9,15,19,32,33,36
MAX: 36
MIN: 0
STDDEV: 9.15843294125113629932710147135171494439E00
SUM: 278
CATEGORY: software
AVG: 21
COUNT: 13
GROUP_CONCAT: 3,4,5,5,6,7,9,10,10,11,14,94,95
GROUP_CONCAT_DISTINCT: 3,4,5,6,7,9,10,11,14,94,95
MAX: 95
MIN: 3
STDDEV: 3.27693962918655755532970326989852794087E01
SUM: 273
CATEGORY: Hardware
AVG: 6.8
COUNT: 10
GROUP_CONCAT: 2,5,5,6,6,6,7,7,9,15
GROUP_CONCAT_DISTINCT: 2,5,6,7,9,15
MAX: 15
MIN: 2
STDDEV: 3.39280283999985933622820108982884699755E00
SUM: 68
CATEGORY: network
AVG: 18
COUNT: 5
GROUP_CONCAT: 3,12,17,21,37
GROUP_CONCAT_DISTINCT: 3,12,17,21,37
MAX: 37
MIN: 3
STDDEV: 1.25698050899765347157025586536136512302E01
SUM: 90
CATEGORY:
AVG: 9.5
COUNT: 4
GROUP_CONCAT: 8,8,10,12
GROUP_CONCAT_DISTINCT: 8,10,12
MAX: 12
MIN: 8
STDDEV: 1.91485421551267621995020382273964310607E00
SUM: 38
CATEGORY: database
AVG: 29
COUNT: 2
GROUP_CONCAT: 8,50
GROUP_CONCAT_DISTINCT: 8,50
MAX: 50
MIN: 8
STDDEV: 2.969848480983499602483546320840365965E01
SUM: 58
O exemplo a seguir mostra como chamar esse método usando um atributo em um armazenamento de atributos dinâmicos.
var ga_Inc = new GlideAggregate('incident');
ga_Inc.groupBy('inc_dynamic_schema->cars->make');
ga_Inc.addAggregate('AVG', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('MIN', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('MAX', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('SUM', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('COUNT', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('STDDEV', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost');
ga_Inc.query();
while (ga_Inc.next()) {
gs.info(gr_Inc.getValue('inc_dynamic_schema->cars->make'));
gs.info('AVG: ' + ga_Inc.getAggregate('AVG', 'inc_dynamic_schema->cars->cost'));
gs.info('MAX: ' + ga_Inc.getAggregate('MAX', 'inc_dynamic_schema->cars->cost'));
gs.info('MIN: ' + ga_Inc.getAggregate('MIN', 'inc_dynamic_schema->cars->cost'));
gs.info('SUM: ' + ga_Inc.getAggregate('SUM', 'inc_dynamic_schema->cars->cost'));
gs.info('COUNT: ' + ga_Inc.getAggregate('COUNT', 'inc_dynamic_schema->cars->cost'));
gs.info('STDDEV: ' + ga_Inc.getAggregate('STDDEV', 'inc_dynamic_schema->cars->cost'));
gs.info('GROUP_CONCAT: ' + ga_Inc.getAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost'));
gs.info('GROUP_CONCAT_DISTINCT: ' + ga_Inc.getAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost'));
gs.info('COUNT(DISTINCT: ' + ga_Inc.getAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost'));
gs.info(' ');
}
Saída:
*** Script: BMW
*** Script: AVG: 31852.066666666667
*** Script: MAX: 49182
*** Script: MIN: 16544
*** Script: SUM: 477781
*** Script: COUNT: 15
*** Script: STDDEV: 10376.50218706
*** Script: GROUP_CONCAT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
*** Script: GROUP_CONCAT_DISTINCT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
*** Script: COUNT(DISTINCT: 15
*** Script:
*** Script: Ford
*** Script: AVG: 31520.090909090909
*** Script: MAX: 47408
*** Script: MIN: 16080
*** Script: SUM: 346721
*** Script: COUNT: 11
*** Script: STDDEV: 11355.75551388
*** Script: GROUP_CONCAT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
*** Script: GROUP_CONCAT_DISTINCT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
*** Script: COUNT(DISTINCT: 11
*** Script:
*** Script: Honda
*** Script: AVG: 31972.750000000000
*** Script: MAX: 49187
*** Script: MIN: 15208
*** Script: SUM: 511564
*** Script: COUNT: 16
*** Script: STDDEV: 10240.67632207
*** Script: GROUP_CONCAT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
*** Script: GROUP_CONCAT_DISTINCT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
*** Script: COUNT(DISTINCT: 16
*** Script:
*** Script: Lexus
*** Script: AVG: 29841.250000000000
*** Script: MAX: 48406
*** Script: MIN: 15517
*** Script: SUM: 238730
*** Script: COUNT: 8
*** Script: STDDEV: 12073.56647214
*** Script: GROUP_CONCAT: 15517,16964,22371,23900,32421,36620,42531,48406
*** Script: GROUP_CONCAT_DISTINCT: 15517,16964,22371,23900,32421,36620,42531,48406
*** Script: COUNT(DISTINCT: 8
*** Script:
*** Script: Tesla
*** Script: AVG: 30790.000000000000
*** Script: MAX: 45032
*** Script: MIN: 16724
*** Script: SUM: 431060
*** Script: COUNT: 14
*** Script: STDDEV: 8510.068136760580
*** Script: GROUP_CONCAT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
*** Script: GROUP_CONCAT_DISTINCT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
*** Script: COUNT(DISTINCT: 14
*** Script:
*** Script: Toyota
*** Script: AVG: 32115.444444444444
*** Script: MAX: 49418
*** Script: MIN: 15188
*** Script: SUM: 289039
*** Script: COUNT: 9
*** Script: STDDEV: 12120.76776767
*** Script: GROUP_CONCAT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
*** Script: GROUP_CONCAT_DISTINCT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
*** Script: COUNT(DISTINCT: 9
*** Script:
Equivalente com escopo
Para usar o. AddAggregate() em uma aplicação com escopo, use o método com escopo correspondente: AddAggregate() .
GlideAggregate - addBizCalendarTrend(cadeia de caracteres fieldName, cadeia de caracteres bizCalendarSysId)
Adiciona tendências por um calendário comercial à consulta agregada. Este método permite que você escolha um campo de data e hora no GlideRecord correspondente e registros de grupo com base em um intervalo de tempo de calendário comercial especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| fieldName | Cadeia de caracteres | Campo Data e hora no GlideRecord associado a ser usado para determinar em qual grupo ou intervalo de tempo de calendário o registro será incluído. |
| BizCalendarSysId | Cadeia de caracteres | Sys_id do registro de calendário a ser usado. Este é o calendário que contém os períodos de tempo desejados. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra a contagem de registros de incidentes agrupados pelos períodos de tempo do calendário comercial "mês".
var monthCal = "4d7ddda353f3001076bcddeeff7b12b1"
var ga = new GlideAggregate('incident');
ga.addAggregate('COUNT');
ga.addBizCalendarTrend('opened_at', monthCal);
ga.setGroup(false);
ga.query();
gs.print(ga.getRowCount());
while (ga.next()) {
gs.info(ga.getValue('bizcalref') + ', ' + ga.getValue('bizcalrefend') + ', ' + ga.getAggregate('COUNT'));
}
Saída:
13
2015-08-01 00:00:00, 2015-09-01 00:00:00, 2
2015-11-01 00:00:00, 2015-12-01 00:00:00, 2
2016-08-01 00:00:00, 2016-09-01 00:00:00, 3
2016-12-01 00:00:00, 2017-01-01 00:00:00, 1
2018-08-01 00:00:00, 2018-09-01 00:00:00, 3
2018-09-01 00:00:00, 2018-10-01 00:00:00, 3
2018-10-01 00:00:00, 2018-11-01 00:00:00, 2
2019-07-01 00:00:00, 2019-08-01 00:00:00, 2
2020-06-01 00:00:00, 2020-07-01 00:00:00, 1
2021-01-01 00:00:00, 2021-02-01 00:00:00, 1
2023-04-01 00:00:00, 2023-05-01 00:00:00, 15
2023-05-01 00:00:00, 2023-06-01 00:00:00, 23
2023-07-01 00:00:00, 2023-08-01 00:00:00, 9
GlideAggregate - addEncodedQuery (consulta de cadeia de caracteres)
Adiciona uma consulta codificada às outras consultas que podem ter sido definidas para este agregado.
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Cadeia de caracteres de consulta codificada a ser adicionada ao agregado. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
var agg = new GlideAggregate('incident');
agg.addAggregate('count','category');
agg.orderByAggregate('count', 'category');
agg.orderBy('category');
agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)');
agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)');
agg.query();
while (agg.next()) {
var category = agg.category;
var count = agg.getAggregate('count','category');
var query = agg.getQuery();
var agg2 = new GlideAggregate('incident');
agg2.addAggregate('count','category');
agg2.orderByAggregate('count', 'category');
agg2.orderBy('category');
agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
agg2.addEncodedQuery(query);
agg2.query();
var last = "";
while (agg2.next()) {
last = agg2.getAggregate('count','category');
}
gs.log(category + ": Last month:" + count + " Previous Month:" + last);
}
Equivalente com escopo
Para usar o. AddEncodedQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddEncodedQuery() .
GlideAggregate - addHaving (nome da cadeia de caracteres, operador da cadeia de caracteres, valor da cadeia de caracteres)
Adiciona um elemento "tendo" ao agregado, como selecionar categoria, contagem (*) do grupo de incidentes por categoria COM contagem (*) > 5.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Agregar para filtrar. Por exemplo, COUNT. |
| operador | Cadeia de caracteres | Símbolo do operador. Por exemplo, ", ", ", "". |
| valor | Cadeia de caracteres | Valor a ser consultado. Por exemplo, "5". |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
var trend = new GlideAggregate('incident');
trend.addTrend ('opened_at','Month');
trend.addAggregate('COUNT');
//addHaving limits the results returned to those in which the aggregate COUNT is greater than 2
trend.addHaving('COUNT', '>', '2');
trend.setGroup(false);
trend.query();
while(trend.next()) {
gs.print(('Incidents by month ' + trend.getValue('timeref') + ' where count is more than 2 count is: ' + trend.getAggregate('COUNT'));
}
Saída:
Incidents by month 9/2018 where count is more than 2 count is: 3
Incidents by month 10/2018 where count is more than 2 count is: 8
Incidents by month 11/2018 where count is more than 2 count is: 14
GlideAggregate - addHaving(cadeia de caracteres aggName, cadeia de caracteres fieldName, operador de cadeia de caracteres, valor de cadeia de caracteres)
Adiciona um elemento "tendo" ao agregado, como selecionar categoria, contagem (*) do grupo de incidentes por categoria COM contagem (*) > 5. Esta implementação do método permite especificar um campo específico em uma tabela ou um atributo dinâmico para agir.
| Nome | Tipo | Descrição |
|---|---|---|
| AggName | Cadeia de caracteres | Agregar para filtrar. Por exemplo, COUNT. |
| fieldName | Cadeia de caracteres | Nome do campo ou caminho para um atributo em um armazenamento de atributos dinâmicos. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
Para obter mais informações sobre atributos dinâmicos, consulte Dynamic Schema. |
| operador | Cadeia de caracteres | Símbolo do operador. Por exemplo, ", ", ", "". |
| valor | Cadeia de caracteres | Valor a ser consultado. Por exemplo, "5". |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como identificar os números de série duplicados na tabela do cmdb usando um nome de campo no AddHaving() chamada de método.
function getDupes(tableName, dpField) {
var ga = new GlideAggregate(tableName);
ga.addAggregate('COUNT', dpField); // Aggregate to count values in whatever field is passed as dpField
ga.addHaving('COUNT', dpField, '>', '1'); // Returns only records having more than one active instance of dpField
ga.query();
var arDupes = new Array(); // Build array to push the results into
while (ga.next()) {
arDupes.push(ga.getValue(dpField)); // Push the value of the dupe field to the array
}
return arDupes;
}
var tableName = "cmdb";
var dpField = "serial_number";
gs.print(getDupes(tableName, dpField));
Saída:
Incidents by month 9/2018 where count is more than 2 count is: 3
Incidents by month 10/2018 where count is more than 2 count is: 8
Incidents by month 11/2018 where count is more than 2 count is: 14
O exemplo a seguir mostra para identificar duplicatas, mas usa um atributo dinâmico em vez de um campo no AddHaving() chamada de método.
function getDupes(tableName, dpField) {
var ga = new GlideAggregate(tablename);
ga.addAggregate('COUNT', dpField); // Aggregate to count values in whatever dynamic attribute is passed as dpField
ga.addHaving('COUNT', dpField, '>', '1'); // Returns only records having more than one active instance of dpField
ga.query();
var arDupes = new Array(); // Build array to push the results into
while (ga.next()) {
arDupes.push(ga.getValue(dpField)); // Push the value of the dupe field to the array
}
return arDupes;
}
var tableName = "cmdb";
var dpField = "dyn_att_field->group->attr";
gs.print(getDupes(tableName, dpField));
Saída:
Incidents by month 9/2018 where count is more than 2 count is: 3
Incidents by month 10/2018 where count is more than 2 count is: 8
Incidents by month 11/2018 where count is more than 2 count is: 14
GlideAggregate - addTrend(cadeia de caracteres fieldName, cadeia de caracteres timeInterval, número numUnits)
Adiciona uma tendência para um campo. Use uma tendência para mostrar padrões ao longo de um período de tempo.
| Nome | Tipo | Descrição |
|---|---|---|
| fieldName | Cadeia de caracteres | Nome do campo para o qual a tendência deve ocorrer. |
| Intervalo de tempo | Cadeia de caracteres | Intervalo de tempo para a tendência. Valores válidos:
|
| NumUnits | Número | Opcional. Válido somente quando timeInterval. minuto . Número de minutos a serem incluídos na tendência. Padrão: 1 |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
var trend = new GlideAggregate('incident');
trend.addTrend ('opened_at','month');
trend.addAggregate('COUNT');
trend.setGroup(false);
trend.query();
while(trend.next()) {
gs.print(trend.getValue('timeref') + ': ' + trend.getAggregate('COUNT'));
}
Saída:
9/2018: 3
10/2018: 8
11/2018: 14
Equivalente com escopo
Para usar o. AddTrend() em uma aplicação com escopo, use o método com escopo correspondente: AddTrend() .
GlideAggregate - getAggregate(cadeia de caracteres agg, nome da cadeia de caracteres)
Obtém o valor de um agregado do registro atual.
| Nome | Tipo | Descrição |
|---|---|---|
| agg | Cadeia de caracteres | Tipo de agregado. Valores válidos:
|
| nome | Cadeia de caracteres | Nome do campo ou caminho para um atributo em um esquema dinâmico do qual obter a agregação. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
Para obter mais informações sobre atributos dinâmicos, consulte Dynamic Schema. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor da agregação. Se os valores que estão sendo agregados forem Valores de moeda FX, o valor retornado estará no formato <currency_code;currency_value> , como: USD; 134,980000 . Nota: Se o campo especificado contiver valores de Moeda FX de tipos de moeda mista, o método não poderá agregar os valores e retornará um ponto-e-vírgula (;). |
Este exemplo mostra como obter o agregado DE CONTAGEM.
function doMyBusinessRule(assigned_to, number) {
var agg = new GlideAggregate('incident');
agg.addQuery('assigned_to', assigned_to);
agg.addQuery('category', number);
agg.addAggregate("COUNT");
agg.query();
var answer = 'false';
if (agg.next()) {
answer = agg.getAggregate("COUNT");
if (answer > 0)
answer = 'true';
else
answer = 'false';
}
return answer;
}
Este exemplo mostra a agregação de um campo Moeda FX.
var ga = new GlideAggregate('laptop_tracker');
ga.addAggregate('SUM', 'cost');
ga.groupBy('name');
ga.query();
while (ga.next()) {
gs.info('Aggregate results ' + ga.getValue('name') + ' => ' + ga.getAggregate('SUM', 'cost'));
}
Saída:
*** Script: Aggregate results Apple MacBook Air => USD;1651.784280000000
*** Script: Aggregate results Apple MacBook Pro => USD;1651.784280000000
*** Script: Aggregate results Dell XPS => USD;470.852672000000
*** Script: Aggregate results LG =>
*** Script: Aggregate results Samsung Galaxy => USD;225.320000000000
*** Script: Aggregate results Surface3 => USD;2895.560369520000
*** Script: Aggregate results Toshiba => USD;9385.202875800000
O exemplo a seguir mostra como chamar esse método usando um atributo em um armazenamento de atributos dinâmicos.
var ga_Inc = new GlideAggregate('incident');
ga_Inc.groupBy('inc_dynamic_schema->cars->make');
ga_Inc.addAggregate('AVG', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('MIN', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('MAX', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('SUM', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('COUNT', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('STDDEV', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost');
ga_Inc.addAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost');
ga_Inc.query();
while (ga_Inc.next()) {
gs.info(gr_Inc.getValue('inc_dynamic_schema->cars->make'));
gs.info('AVG: ' + ga_Inc.getAggregate('AVG', 'inc_dynamic_schema->cars->cost'));
gs.info('MAX: ' + ga_Inc.getAggregate('MAX', 'inc_dynamic_schema->cars->cost'));
gs.info('MIN: ' + ga_Inc.getAggregate('MIN', 'inc_dynamic_schema->cars->cost'));
gs.info('SUM: ' + ga_Inc.getAggregate('SUM', 'inc_dynamic_schema->cars->cost'));
gs.info('COUNT: ' + ga_Inc.getAggregate('COUNT', 'inc_dynamic_schema->cars->cost'));
gs.info('STDDEV: ' + ga_Inc.getAggregate('STDDEV', 'inc_dynamic_schema->cars->cost'));
gs.info('GROUP_CONCAT: ' + ga_Inc.getAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost'));
gs.info('GROUP_CONCAT_DISTINCT: ' + ga_Inc.getAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost'));
gs.info('COUNT(DISTINCT: ' + ga_Inc.getAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost'));
gs.info(' ');
}
Saída:
*** Script: BMW
*** Script: AVG: 31852.066666666667
*** Script: MAX: 49182
*** Script: MIN: 16544
*** Script: SUM: 477781
*** Script: COUNT: 15
*** Script: STDDEV: 10376.50218706
*** Script: GROUP_CONCAT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
*** Script: GROUP_CONCAT_DISTINCT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
*** Script: COUNT(DISTINCT: 15
*** Script:
*** Script: Ford
*** Script: AVG: 31520.090909090909
*** Script: MAX: 47408
*** Script: MIN: 16080
*** Script: SUM: 346721
*** Script: COUNT: 11
*** Script: STDDEV: 11355.75551388
*** Script: GROUP_CONCAT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
*** Script: GROUP_CONCAT_DISTINCT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
*** Script: COUNT(DISTINCT: 11
*** Script:
*** Script: Honda
*** Script: AVG: 31972.750000000000
*** Script: MAX: 49187
*** Script: MIN: 15208
*** Script: SUM: 511564
*** Script: COUNT: 16
*** Script: STDDEV: 10240.67632207
*** Script: GROUP_CONCAT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
*** Script: GROUP_CONCAT_DISTINCT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
*** Script: COUNT(DISTINCT: 16
*** Script:
*** Script: Lexus
*** Script: AVG: 29841.250000000000
*** Script: MAX: 48406
*** Script: MIN: 15517
*** Script: SUM: 238730
*** Script: COUNT: 8
*** Script: STDDEV: 12073.56647214
*** Script: GROUP_CONCAT: 15517,16964,22371,23900,32421,36620,42531,48406
*** Script: GROUP_CONCAT_DISTINCT: 15517,16964,22371,23900,32421,36620,42531,48406
*** Script: COUNT(DISTINCT: 8
*** Script:
*** Script: Tesla
*** Script: AVG: 30790.000000000000
*** Script: MAX: 45032
*** Script: MIN: 16724
*** Script: SUM: 431060
*** Script: COUNT: 14
*** Script: STDDEV: 8510.068136760580
*** Script: GROUP_CONCAT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
*** Script: GROUP_CONCAT_DISTINCT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
*** Script: COUNT(DISTINCT: 14
*** Script:
*** Script: Toyota
*** Script: AVG: 32115.444444444444
*** Script: MAX: 49418
*** Script: MIN: 15188
*** Script: SUM: 289039
*** Script: COUNT: 9
*** Script: STDDEV: 12120.76776767
*** Script: GROUP_CONCAT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
*** Script: GROUP_CONCAT_DISTINCT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
*** Script: COUNT(DISTINCT: 9
*** Script:
Equivalente com escopo
Para usar o. GetAggregate() em uma aplicação com escopo, use o método com escopo correspondente: GetAggregate() .
GlideAggregate - getDynamicAttributeValue(cadeia de caracteres fullPath)
Retorna o valor do atributo dinâmico localizado em um caminho especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| caminhoCompleto | Cadeia de caracteres | Caminho a ser usado para localizar o atributo dinâmico desejado. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
|
| Tipo | Descrição |
|---|---|
| Objeto | Valor do atributo dinâmico localizado no caminho especificado. . fullPatho parâmetro contém dados inválidos ou o valor do atributo especificado não é um dos tipos de dados compatíveis, retorna nulo. |
O exemplo de código a seguir mostra como chamar este método.
var ga_Tab = new GlideAggregate('u_mytable');
ga_Tab.groupBy('u_dyn_attr_store->paint->color');
ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
ga_Tab.query();
while(ga_Tab.next()) {
gs.info(
"color: " + ga_Tab.getDynamicAttributeValue('u_dyn_attr_store->paint->color')
+ " avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
}
*** Script: color: blue avg: 5.0000
*** Script: color: red avg: 8.0000
*** Script: color: yellow avg: 7.0000GlideAggregate - getDynamicAttributeValue(cadeia de caracteres dynamicAttributeField, cadeia de caracteres groupAttrPath)
Retorna o valor do atributo dinâmico localizado em um campo especificado na tabela atual e um caminho de atributo especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| DynamicAttributeField | Cadeia de caracteres | Nome do campo na tabela que contém o atributo dinâmico. |
| GroupAttrPath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: "group_name->attr_name"
Por exemplo: |
| Tipo | Descrição |
|---|---|
| Objeto | Valor do atributo dinâmico localizado no caminho especificado. Se for dynamicAttributeFieldou groupAttrPathos parâmetros são inválidos, retorna nulo. |
O exemplo de código a seguir mostra como chamar este método.
var ga_Tab = new GlideAggregate('u_mytable');
ga_Tab.groupBy('u_dyn_attr_store->paint->color');
ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
ga_Tab.query();
while(ga_Tab.next()) {
gs.info(
"color: " + ga_Tab.getDynamicAttributeValue('u_dyn_attr_store', 'paint->color')
+ " avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
}
*** Script: color: blue avg: 5.0000
*** Script: color: red avg: 8.0000
*** Script: color: yellow avg: 7.0000GlideAggregate - getDynamicAttributeDisplayValue(cadeia de caracteres fullPath)
Retorna o valor de exibição do atributo dinâmico localizado no caminho especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| caminhoCompleto | Cadeia de caracteres | Caminho a ser usado para localizar o atributo dinâmico desejado. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
|
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor de exibição do atributo dinâmico localizado no caminho especificado. . fullPatho parâmetro é inválido, retorna nulo. |
O exemplo de código a seguir mostra como chamar este método.
var ga_Tab = new GlideAggregate('u_mytable');
ga_Tab.groupBy('u_dyn_attr_store->paint->color');
ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
ga_Tab.query();
while(ga_Tab.next()) {
gs.info(
"color: " + ga_Tab.getDynamicAttributeDisplayValue('u_dyn_attr_store->paint->color')
+ " avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
}
*** Script: color: blue avg: 5.0000
*** Script: color: red avg: 8.0000
*** Script: color: yellow avg: 7.0000GlideAggregate - getDynamicAttributeDisplayValue(cadeia de caracteres DynamicAttributeField, cadeia de caracteres groupAttrPath)
Retorna o valor de exibição do atributo dinâmico localizado em um campo de tabela especificado e caminho de atributo.
| Nome | Tipo | Descrição |
|---|---|---|
| DynamicAttributeField | Cadeia de caracteres | Nome do campo na tabela que contém o atributo dinâmico. |
| GroupAttrPath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: "group_name->attr_name"
Por exemplo: |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor de exibição do atributo dinâmico localizado no caminho especificado. Se for dynamicAttributeFieldou groupAttrPathos parâmetros são inválidos, retorna nulo. |
O exemplo de código a seguir mostra como chamar este método.
var ga_Tab = new GlideAggregate('u_mytable');
ga_Tab.groupBy('u_dyn_attr_store->paint->color');
ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
ga_Tab.query();
while(ga_Tab.next()) {
gs.info(
"color: " + ga_Tab.getDynamicAttributeDisplayValue('u_dyn_attr_store', 'paint->color')
+ " avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
}
*** Script: color: blue avg: 5.0000
*** Script: color: red avg: 8.0000
*** Script: color: yellow avg: 7.0000GlideAggregate - getQuery()
Recupera a consulta necessária para retornar o agregado atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | A consulta. |
var agg = new GlideAggregate('incident');
agg.addAggregate('count','category');
agg.orderByAggregate('count', 'category');
agg.orderBy('category');
agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)');
agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)');
agg.query();
while (agg.next()) {
var category = agg.category;
var count = agg.getAggregate('count','category');
var query = agg.getQuery();
var agg2 = new GlideAggregate('incident');
agg2.addAggregate('count','category');
agg2.orderByAggregate('count', 'category');
agg2.orderBy('category');
agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
agg2.addEncodedQuery(query);
agg2.query();
var last = "";
while (agg2.next()) {
last = agg2.getAggregate('count','category');
}
gs.log(category + ": Last month:" + count + " Previous Month:" + last);
}
GlideAggregate - getRow Count()
Recupera o número de linhas no objeto GlideAggregate.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | Número de linhas no objeto GlideAggregate. |
var count = new GlideAggregate('incident');
count.addAggregate('MIN', 'sys_mod_count');
count.addAggregate('MAX', 'sys_mod_count');
count.addAggregate('AVG', 'sys_mod_count');
count.groupBy('category');
count.query();
gs.info(count.getRowCount());
while (count.next()) {
var min = count.getAggregate('MIN', 'sys_mod_count');
var max = count.getAggregate('MAX', 'sys_mod_count');
var avg = count.getAggregate('AVG', 'sys_mod_count');
var category = count.category.getDisplayValue();
gs.info(category + " Update counts: MIN = " + min + " MAX = " + max + " AVG = " + avg);
}
6
Database Update counts: MIN = 8 MAX = 48 AVG = 28.0000
Hardware Update counts: MIN = 4 MAX = 14 AVG = 6.6250
Inquiry / Help Update counts: MIN = 0 MAX = 34 AVG = 6.5714
Network Update counts: MIN = 3 MAX = 37 AVG = 18.6000
Request Update counts: MIN = 5 MAX = 39 AVG = 13.4000
Software Update counts: MIN = 4 MAX = 98 AVG = 24.0000Equivalente com escopo
Para usar o. GetRow Count() em uma aplicação com escopo, use o método com escopo correspondente: GlideAggregate com escopo - getRow Count() .
GlideAggregate - getTotal(cadeia de caracteres agg, nome da cadeia de caracteres)
Retorna o número de registros somando um agregado.
| Nome | Tipo | Descrição |
|---|---|---|
| agg | Cadeia de caracteres | Nome de um agregado a ser usado. Valores válidos:
|
| nome | Cadeia de caracteres | Nome do campo a ser agregado. |
| Tipo | Descrição |
|---|---|
| Número | Número de registros. |
var incidentGA = new GlideAggregate('incident');
incidentGA.addQuery('category', 'software');
incidentGA.addAggregate('COUNT');
incidentGA.addTrend('opened_at','year'); // Counting number of incidents for software category per year
incidentGA.setGroup(false);
incidentGA.query();
while(incidentGA.next()){
gs.info('Incidents opened on year - '+incidentGA.getValue('timeref')+' - '+incidentGA.getAggregate('COUNT'));
}
gs.info('Total Aggregate Value >> '+ incidentGA.getTotal('COUNT'));
Saída:
Incidents opened on year - 2015 - 1
Incidents opened on year - 2018 - 5
Incidents opened on year - 2020 - 10
Total Aggregate Value >> 16
GlideAggregate - getValue(nome da cadeia de caracteres)
Retorna o valor de um campo ou um atributo dinâmico.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do campo ou caminho para um atributo em um armazenamento de atributos dinâmicos. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
|
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor do campo especificado. Retorna nulo se inválido (não faz parte do conjunto de resultados). |
var trend = new GlideAggregate('incident');
trend.addTrend ('opened_at','Month');
trend.addAggregate('COUNT');
//addHaving limits the results returned to those in which the aggregate COUNT is greater than 2
trend.addHaving('COUNT', '>', '2');
trend.setGroup(false);
trend.query();
while(trend.next()) {
gs.print(('Incidents by month ' + trend.getValue('timeref') + ' where count is more than 2 count is: ' + trend.getAggregate('COUNT'));
}
Saída:
Incidents by month 9/2018 where count is more than 2 count is: 3
Incidents by month 10/2018 where count is more than 2 count is: 8
Incidents by month 11/2018 where count is more than 2 count is: 14
Equivalente com escopo
Para usar o. GetValue() em uma aplicação com escopo, use o método com escopo correspondente: GetValue() .
GlideAggregate - groupBy(nome da cadeia de caracteres)
Fornece o nome de um campo, ou um atributo em um armazenamento de atributos dinâmicos, a ser usado ao agrupar os agregados.
Pode ser chamado várias vezes para definir vários campos de grupo.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do campo ou caminho para um atributo em um armazenamento de atributos dinâmicos. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
Para obter mais informações sobre atributos dinâmicos, consulte Dynamic Schema. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como chamar este método.
var count = new GlideAggregate('incident');
count.addAggregate('MIN', 'sys_mod_count');
count.addAggregate('MAX', 'sys_mod_count');
count.addAggregate('AVG', 'sys_mod_count');
count.groupBy('category');
count.query();
while (count.next()) {
var min = count.getAggregate('MIN', 'sys_mod_count');
var max = count.getAggregate('MAX', 'sys_mod_count');
var avg = count.getAggregate('AVG', 'sys_mod_count');
var category = count.category.getDisplayValue();
gs.log(category + " Update counts: MIN = " + min + " MAX = " + max + " AVG = " + avg);
}
O exemplo a seguir mostra como chamar esse método usando um atributo em um armazenamento de atributos dinâmicos.
var ga_AppTab = new GlideAggregate('application_table');
ga_AppTab.addGroupBy('dyn_att_field->group->attr');
ga_AppTab.addAggregate('AVG', 'dyn_att_field->group->attr1');
ga_AppTab.addHaving('SUM', 'dyn_att_field->group->attr2', '>=', 420);
ga.query();
Equivalente com escopo
Para usar o. GroupBy() em uma aplicação com escopo, use o método com escopo correspondente: GroupBy() .
GlideAggregate - orderBy (nome da cadeia de caracteres)
Ordena os agregados usando o valor do campo especificado, caminho de atributo dinâmico ou função glide. O campo também é adicionado à lista de grupo por.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do campo, caminho para um atributo em um armazenamento de atributos dinâmicos ou glidefunction a ser usado para ordenar os agregados. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
Para obter mais informações sobre atributos dinâmicos, consulte Dynamic Schema. formato da função glide: |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
var agg = new GlideAggregate('incident');
agg.addAggregate('count','category');
agg.orderByAggregate('count', 'category');
agg.orderBy('category');
agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)');
agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)');
agg.query();
while (agg.next()) {
var category = agg.category;
var count = agg.getAggregate('count','category');
var query = agg.getQuery();
var agg2 = new GlideAggregate('incident');
agg2.addAggregate('count','category');
agg2.orderByAggregate('count', 'category');
agg2.orderBy('category');
agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
agg2.addEncodedQuery(query);
agg2.query();
var last = "";
while (agg2.next()) {
last = agg2.getAggregate('count','category');
}
gs.log(category + ": Last month:" + count + " Previous Month:" + last);
}
Equivalente com escopo
Para usar o. Orderby() em uma aplicação com escopo, use o método com escopo correspondente: Orderby() .
GlideAggregate - orderByAggregate(cadeia de caracteres agg, cadeia de caracteres fieldName)
Ordena os agregados com base no agregado especificado e no campo ou atributo dinâmico.
| Nome | Tipo | Descrição |
|---|---|---|
| agg | Cadeia de caracteres | Tipo de agregação. Valores válidos:
|
| fieldName | Cadeia de caracteres | Nome do campo ou caminho para um atributo em um armazenamento de atributos dinâmico a ser agregado. Formato do caminho dinâmico: dyn_att_field->group_name->attribute_name
Para obter mais informações sobre atributos dinâmicos, consulte Dynamic Schema. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
var agg = new GlideAggregate('incident');
agg.addAggregate('count','category');
agg.orderByAggregate('count', 'category');
agg.orderBy('category');
agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)');
agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)');
agg.query();
while (agg.next()) {
var category = agg.category;
var count = agg.getAggregate('count','category');
var query = agg.getQuery();
var agg2 = new GlideAggregate('incident');
agg2.addAggregate('count','category');
agg2.orderByAggregate('count', 'category');
agg2.orderBy('category');
agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
agg2.addEncodedQuery(query);
agg2.query();
var last = "";
while (agg2.next()) {
last = agg2.getAggregate('count','category');
}
gs.log(category + ": Last month:" + count + " Previous Month:" + last);
}
Equivalente com escopo
Para usar o. OrderPorAggregate() em uma aplicação com escopo, use o método com escopo correspondente: OrderPorAggregate() .
GlideAggregate - query()
Emite a consulta e obtém os resultados.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
var agg = new GlideAggregate('incident');
agg.addAggregate('count','category');
agg.orderByAggregate('count', 'category');
agg.orderBy('category');
agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)');
agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)');
agg.query();
while (agg.next()) {
var category = agg.category;
var count = agg.getAggregate('count','category');
var query = agg.getQuery();
var agg2 = new GlideAggregate('incident');
agg2.addAggregate('count','category');
agg2.orderByAggregate('count', 'category');
agg2.orderBy('category');
agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
agg2.addEncodedQuery(query);
agg2.query();
var last = "";
while (agg2.next()) {
last = agg2.getAggregate('count','category');
}
gs.log(category + ": Last month:" + count + " Previous Month:" + last);
Equivalente com escopo
Para usar o. consulta () em uma aplicação com escopo, use o método com escopo correspondente: consulta () .
GlideAggregate - setAggregateWindow(Number firstRow, number lastRow)
Limita o número de linhas da tabela a serem incluídas na consulta agregada.
| Nome | Tipo | Descrição |
|---|---|---|
| Primeira linha | Número | Índice baseado em zero da primeira linha a ser incluída na consulta agregada, inclusive. |
| LastRow | Número | Índice baseado em zero da última linha a ser incluída na consulta agregada, Exclusivo. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
Imprime a contagem de cada categoria para os primeiros dez registros na tabela Incidente [incidente].
var incidentGroup = new GlideAggregate('incident');
incidentGroup.addAggregate('COUNT', 'category');
incidentGroup.setAggregateWindow(0, 10);
incidentGroup.query();
while (incidentGroup.next()) {
var incidentCount = incidentGroup.getAggregate('COUNT', 'category');
gs.info('{0} count: {1}', [incidentGroup.getValue('category'), incidentCount]);
}
Saída:
database count: 1
Hardware count: 1
inquiry count: 7
software count: 1
Equivalente com escopo
Para usar o. SetAggregateWindow() em uma aplicação com escopo, use o método com escopo correspondente: SetAggregateWindow() .
GlideAggregate - setGroup (booliano b)
Define se os resultados devem ser agrupados.
| Nome | Tipo | Descrição |
|---|---|---|
| b | Booliano | Sinalizador que indica se os resultados devem ser agrupados. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
var ga = new GlideAggregate('incident');
ga.addAggregate('COUNT', 'category');
ga.setGroup(true);
Equivalente com escopo
Para usar o. SetGroup() em uma aplicação com escopo, use o método com escopo correspondente: SetGroup() .
GlideAggregate - setIntervalYearIncluded(booliano b)
Define se os resultados devem ser agrupados por ano para as tendências do dia da semana. Essas tendências são criadas usando AddTrend() método com dayofweekintervalo de tempo.
Dependência: GlideAggregate - addTrend('<fieldName>', 'dayofweek') .
| Nome | Tipo | Descrição |
|---|---|---|
| b | Booliano | Sinalizador que indica se um ano deve ser incluído para uma tendência com um intervalo de tempo de dia da semana. Valores válidos:
Padrão: verdadeiro |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como contar incidentes criados nos últimos seis meses. Os incidentes são separados pelo dia da semana, mas não incluem o ano. Por exemplo, os resultados padrão para quinta-feira incluiriam o ano, como Quinta-feira/2023: 16 .
var incidentGroup = new GlideAggregate('incident');
incidentGroup.addEncodedQuery("sys_created_onRELATIVEGT@month@ago@6");
incidentGroup.addTrend('sys_created_on', 'dayofweek');
incidentGroup.addAggregate('COUNT');
incidentGroup.setIntervalYearIncluded(false);
incidentGroup.query();
while (incidentGroup.next()) {
gs.info(incidentGroup.getValue('timeref') + ': ' + incidentGroup.getAggregate('COUNT'))};
Saída:
Sunday: 1
Monday: 15
Tuesday: 1
Wednesday: 7
Thursday: 16
Saturday: 1
Equivalente com escopo
Para usar o. SetIntervalYearIncluded() em uma aplicação com escopo, use o método com escopo correspondente: SetIntervalYearIncluded() .