ディスカッション
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
NetSuite の始め方| SuiteQL拡張クエリ: HAVING
NetSuiteの始め方| SuiteQL 概要およびNetSuiteの始め方| SuiteQL Syntaxの記事では、SuiteQLの基本概念、機能および構造について学習しました。
「拡張クエリ」のSuiteQL構文は、データベース内で堅牢で柔軟かつ分析的なクエリを実行するための単純な選択および結合にとどまりません。SuiteQLの機能は、標準SQLに似ています(NetSuite固有の制約もあります)。これらの高度な機能の1つはHAVINGです。
HAVING句は、GROUP BYステートメントによって作成されたグループ化された結果を、SUM、COUNT、AVGなどの集約関数に基づいてフィルタリングするために使用されます。
一方、WHEREはグループ化の前に個々の行をフィルタリングし、HAVINGは集計後にデータをフィルタリングします。この区別は、集計データを操作する場合に重要です。
構文
SELECT group_field, AGG_FUNCTION(target_field) FROM record [WHERE row_condition] GROUP BY group_field HAVING AGG_FUNCTION(target_field) operator value
実用的な例: 未請求販売合計が多い顧客
合計未請求売上が$30,000を超える顧客のみを表示するとします。
SELECT
c.entityid AS customer_name,
SUM(t.amountunbilled) AS total_unbilled_sales,
COUNT(t.id) AS sales_order_count
FROM transaction t
JOIN customer c ON t.entity = c.id
WHERE t.type = 'SalesOrd'
GROUP BY c.entityid
HAVING SUM(t.amountunbilled) > 30000
ORDER BY total_unbilled_sales DESC
- WHERE:集計前の注文書のみをフィルターします。
- GROUP BY:合計を顧客別にグループ化します。
- SUM(t.amountunbilled):顧客ごとの未請求金額を合計します。
- HAVING SUM(t.amountunbilled) > 30000:
Richard James Uri - SuiteCloud | WMS Tech | SuiteCommerce Advanced
----
- NetSuite Admin Corner | New to NetSuite
- Explore the NSC Webinars Category
- Join our poll and share your ideas! We want to know what you think. Don't forget to comment and make your voice heard!
- Expand your NetSuite knowledge by joining this month's Ask A Guru Live about Suitecloud. RSVP on this event now!
タグ付けされた:
0
