GlideAggregate 関数を使用してテーブルから上位 10 個の値を取得する方法Issue テーブルから上位 N 件のレコードを特定する方法を示すスクリプト例を次に示します。たとえば、どのタスクに最も多くのジャーナルエントリや添付ファイルが含まれているかを確認したい場合があります。 次のスクリプトは、GlideAggregate 関数を使用してこれを行う方法を示しています。 テーブルから上位 N 個の値を取得すると、考えられる健全性の問題 (たとえば、過剰な数の作業メモを含むタスクや、添付ファイルの数が多すぎる電子メール) を特定するのに役立ちます。 ReleaseすべてResolution topN 関数 以下は、テーブル名、上位 N 個の値を検索するフィールド名、および表示する上位レコードの数を表す数値を入力として受け取る「topN」という関数です。 function topN(pTable, pColumn, pCount) { var ga = new GlideAggregate(pTable); ga.addAggregate('COUNT', pColumn); ga.orderByAggregate('COUNT', pColumn); ga.query(); var i = 0; var stdout = []; stdout.push('Top ' + pCount + ' ' + pColumn + ' values from ' + pTable + '\n'); while (ga.next() && (i++ < pCount)) { stdout.push(ga.getValue(pColumn) + ' ' + ga.getAggregate('COUNT', pColumn)); } gs.print(stdout.join("\n"));} 一部のテーブルは非常に大きくなる可能性があるため、これらの関数の処理には時間がかかる場合があることに注意してください。 出力例 // Display the top 10 documentkey values from the sys_audit tabletopN('sys_audit', 'documentkey', 10);// Display the top 10 instance values from sys_emailtopN('sys_email', 'instance', 10);// Display the top 10 element_id values from sys_journal_fieldtopN('sys_journal_field', 'element_id', 10);// Display the top 10 table_sys_id from sys_attachmenttopN('sys_attachment', 'table_sys_id', 10);function topN(pTable, pColumn, pCount) { var ga = new GlideAggregate(pTable); ga.addAggregate('COUNT', pColumn); ga.orderByAggregate('COUNT', pColumn); ga.query(); var i = 0; var stdout = []; stdout.push('\nTop ' + pCount + ' ' + pColumn + ' values from ' + pTable + '\n'); while (ga.next() && (i++ < pCount)) { stdout.push(ga.getValue(pColumn) + ' ' + ga.getAggregate('COUNT', pColumn)); } gs.print(stdout.join("\n"));} *** Script: Top 10 documentkey values from sys_audit 44c93a2dbf2111007c94c0647e07396b 567 f66df211bf0211007c94c0647e0739e3 567 ef1c0673db202300eba776231f96192e 471 fd030171dfa0010068c37a0d3df263c7 82 1c741bd70b2322007518478d83673af3 59 757cd565dbbda70097ee9ee6db96198f 52 cb6c1565dbbda70097ee9ee6db961946 52 cc6c5165dbbda70097ee9ee6db96190e 52 eb4c5d25dbbda70097ee9ee6db961942 52 1c4cd925dbbda70097ee9ee6db96194b 49 *** Script: Top 10 instance values from sys_email 016c5165dbbda70097ee9ee6db9619dc 7 0c7c5565dbbda70097ee9ee6db96192b 7 3c5c5d25dbbda70097ee9ee6db9619f4 7 3e5cdd25dbbda70097ee9ee6db961979 7 627c1965dbbda70097ee9ee6db96194c 7 883e695bdbfa6b00f78b9007db9619bb 7 b27c1965dbbda70097ee9ee6db96198d 7 c95c9d25dbbda70097ee9ee6db96194e 7 d16c9165dbbda70097ee9ee6db961904 7 fb6c1565dbbda70097ee9ee6db9619ea 7 *** Script: Top 10 element_id values from sys_journal_field 1c741bd70b2322007518478d83673af3 12 48f89d7c0b2022003be12da0d5673a98 11 64c04c8c0b3022003be12da0d5673ac0 11 7ca5e98b0b2022003be12da0d5673a67 10 1a3337610b6022003be12da0d5673ae6 9 1e118c8c0b3022003be12da0d5673a86 9 a619f77f0b2022003be12da0d5673a03 9 a9e9c33dc61122760072455df62663d2 9 b94f7bbf0b2022003be12da0d5673a14 9 ca218c8c0b3022003be12da0d5673a9b 9 *** Script: Top 10 table_sys_id values from sys_attachment7d1915894f12020031577d2ca310c7ae 10b187ad0d4f12020031577d2ca310c7c9 9cd0f59c94f12020031577d2ca310c790 87b4111894f12020031577d2ca310c70b 7cfc2c1d54f52020031577d2ca310c797 70425d5894f12020031577d2ca310c75c 67a134ae54f52020031577d2ca310c70c 694e211894f12020031577d2ca310c70f 6c70615894f12020031577d2ca310c74c 648d4e45893c13200bebe7344967ffb07 5 Related LinksGlideAggregate - グローバルhttps://docs.servicenow.com/csh?topicname=c_GlideAggregateAPI.html&version=latest GlideAggregate - スコープ対象https://docs.servicenow.com/csh?topicname=c_GlideAggregateScopedAPI.html&version=latest