前回の記事 では、SuiteQL(NetSuite 専用 SQL)の活用方法を、製造業のBOM(部品表)を例に、ご紹介いたしました。
今回は、NetSuite 2026.1 (2026年の春)のアップデートにて適用される「NetSuite2.com データソース」への完全移行に伴い、旧式の「NetSuite.com データソース」を使用しているユーザー特定するための、SuiteQLクエリの例をご紹介します。
データソース移行に関する NetSuite 管理者向けの詳細は、以下をご参照ください:
NetSuite サポートコミュニティ› お知らせ › NetSuite2.com データソースへの移行が必要です
※ 上記の内容は、対応が必要なお客様へ、メールやNetSuiteの画面上で、かねてよりNetSuite 管理様などへご連絡差し上げております。
クエリの例
以下の SuiteQL クエリは、過去180日間において「旧式データソース」を利用したユーザー情報を取得します。
SELECT
cla."user" AS user_id,
emp."entityid" AS user_name,
emp."email" AS user_email,
MAX(cla."date") AS last_netsuite_com_login,
COUNT(*) AS netsuite_com_login_count
FROM "ConnectLoginAudit" cla
JOIN "Employee" emp ON emp."id" = cla."user"
WHERE cla."dataSource" = 'NetSuite.com' -- 旧式
AND cla."date" >= CURRENT_DATE - 180
GROUP BY cla."user", emp."entityid", emp."email"
ORDER BY last_netsuite_com_login DESC;
実行結果
前回の記事でご紹介したサンプルアプリでのクエリの実行結果は以下の通りです。
SQL構文の補足
今回のクエリでは以下のSQLの基本を利用しています。
- SELECT句: 取得する情報(列)を指定
- JOIN句: 異なるテーブル間の関連付け
- WHERE句: データ取得の条件を指定
- GROUP BY句: 特定の列を基準にデータを集約
- ORDER BY句: 結果の並び替え条件を指定
まとめ
このようにSuiteQLはSQLの標準的な構文を使いながら、NetSuite内のデータを簡単かつ柔軟、そして安全に取り扱うことができます。NetSuiteも含めた標準システム全体のデータ活用の一環として、SuiteQLをご活用頂けますと幸いです。
参考リンク
Oracle NetSuite Help Center > SuiteQL
Oracle NetSuite Help Center > N/llm Module
NetSuite サポートコミュニティ› AI関連機能› SuiteScript 2.x 生成AI API
NetSuite サポートコミュニティ› お知らせ
© 2025 Takusuke Fujii
本記事は CC BY 4.0(原作者名の表記が必要)で自由に共有・改変・配布できますが、無保証につき著作者は一切責任を負いません。