ディスカッション
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Narrative Insights is Temporarily Unavailable due to an Infrastructure Issue. Learn how This Impacts Your Account and What to Expect While the Feature is Disabled.
Map Reduceスクリプトで複数の計算式列を持つカスタム検索を使用する
適用
製品: NetSuite 2022.1
シナリオ
保存検索結果を Map Red スクリプトに使用しています。検索結果のすべての数値式列を取得し、それをマッピング処理に使用する方法を知りたい。
解決策
SuiteScript API - search.ResultSet を使用して検索結果行を1行取得する際、複数の種類の数式を使用している場合、数式列の名前に数字が追加されます。 例えば、このスクリプトでは、保存検索で3つの計算式(数式)列を使用しているとすると、APIの実行時には、Formulanumeric, formulanumeric_1, formulanumeric_2というように計算式の名前が表示されます。 以下のスクリプトは、保存検索の結果が1000件以上であっても、その結果をすべて返します。重要なのは、収集したデータが検索結果の合計と等しくなるまで、do whileループ内でgetRangeメソッドを使用することです。 以下、サンプルコード:
function getInputData() {
var soSearch = search.load({
id: 'customsearch76'
});
var soResult = [];
var count = 0;
var pageSize = 1000;
var start = 0;
do {
var soResultSet = soSearch.run().getRange({
start: start,
end: start + pageSize
});
soResult = soResult.concat(soResultSet);
count = soResultSet.length;
start += pageSize;
} while (count == pageSize);
return soResult
}
function map(context) {
log.debug('In Map Stage');
var searchResult = JSON.parse(context.value);
log.debug({
title: 'First formula',
details: searchResult.values.formulanumeric
});
log.debug({
title: 'Second Formula',
details: searchResult.values.formulanumeric_1
});
log.debug({
title: 'Third Formula',
details: searchResult.values.formulanumeric_2
});
}
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
タグ付けされた:
0