各製品の資料を入手。
詳細はこちら →JReport Designer でNetSuite のデータを連携
JReport Designer でNetSuite に連携するチャートとレポートを作成します。
最終更新日:2022-10-10
この記事で実現できるNetSuite 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for NetSuite を使用すると、NetSuite がリレーショナルデータベースであるかのようにダッシュボードやレポートからリアルタイムデータにアクセスでき、使い慣れたSQL クエリを使用してNetSuite] をクエリできます。ここでは、JDBC データソースとしてNetSuite に連携し、JReport Designer でNetSuite のレポートを作成する方法を説明します。
NetSuite のデータに接続
- C:\JReport\Designer\bin\setenv.bat を編集し、JAR ファイルの場所をADDCLASSPATH 変数に追加します。
... set ADDCLASSPATH=%JAVAHOME%\lib\tools.jar;C:\Program Files\CData\CData JDBC Driver for NetSuite 2016\lib\cdata.jdbc.netsuite.jar; ...
- [File][New][Data Source]と進み、新しいデータソースを作成します。
- 表示されるダイアログで、データソースの名前(CData JDBC Driver for NetSuite) を作成し、JDBC を選択して[OK]をクリックします。
- [JDBC Connection Information]ダイアログで、JDBC ドライバーへの接続を構成します。
- Driver:[Driver]ボックスにチェックがついていることを確認し、ドライバーのクラスの名前を入力します。
cdata.jdbc.netsuite.NetSuiteDriver
- URL:jdbc:netsuite: から始まり、その後にセミコロンで区切られた接続プロパティのリストが続くJDBC URL を入力します。
Netsuite への接続
NetSuite は現在、2つの異なるAPI を提供しています。
- SuiteTalk はNetSuite との通信に使用する、SOAP ベースのより古いサービスです。多くのエンティティを幅広くサポートし、INSERT / UPDATE / DELETE を完全にサポートします。 しかしデータの抽出用ツールは低機能で、SELECT 時のパフォーマンスは極めて低いです。テーブルを結合するよい方法もありません。データのグループ化および集計はこのAPI からは利用できず、 そのためこれらの操作をサポートするには、すべてをクライアントサイドで実行しなければなりません。
- SuiteQL は新しいAPI です。サービスとのSQL ライクな通信方法を実現するため、JOIN の機能はより豊富になり、GROUP BY や集計機能もサポートします。 加えて、抽出したいカラムだけを取得する機能も完全にサポートします。そのため、データを抽出する際のパフォーマンスがSuiteTalk より大幅に向上しています。ただし、サポートされるのはデータの抽出のみです。
NetSuite に接続するには、以下を行う必要があります。
- Schema を設定して、接続に使用するAPI を指定。データを取得するだけの場合は、SuiteQL の使用をお勧めします。データの取得および変更が必要な場合は、SuiteTalk の使用をお勧めします。
- 使用するAPI に適した接続オプションを設定します。(それぞれのAPI で利用可能な接続オプションが異なります。ヘルプドキュメントの「許可の設定」を参照してください。)
Netsuite への認証
SuiteTalk またはSuiteQL
NetSuite は3つの形式のOAuth 認証を提供します。
- トークンベース認証(TBA)は、基本的にOAuth 1.0 で、OAuthAccessToken とOAuthAccessTokenSecret を実行時ではなくNetSuite UI 内で作成します。 TBA は、2020.2 以降のSuiteTalk およびSuiteQL の両方で利用可能です。
- OAuth 2.0 認証は、SuiteQL でのみ利用できます。OAuth 2.0 認証を強制するには、次のいずれかを実行します。
- OAuthVersion を使用するAPI に明示的に設定、または
- Schema をSuiteQL に設定
- OAuth JWT 認証は、OAuth 2.0 クライアント認証フローであり、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。この認証方法は、Schema がSuiteQL に設定されている場合にのみ使用できます。
認証方法の詳細はヘルプドキュメントの「はじめに」を参照してください。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、NetSuite JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.netsuite.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際、Max Rows 接続プロパティを設定することもできます。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
以下は一般的なJDBC URLです。
jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;
- User:認証に使用するユーザー名は、通常空白のままにします。
- Password:User と同様に認証に使用するパスワードも、通常は空白のままにします。
- Driver:[Driver]ボックスにチェックがついていることを確認し、ドライバーのクラスの名前を入力します。
[Add Table]ダイアログで、レポート(またはこのデータソースを使用する予定のレポート)に含めるテーブルを選択し、[Add]をクリックします。
ダイアログがテーブルのロードを完了したら、[Done]をクリックします。
- [Catalog Browser]では、レポートの作成に使用するクエリを作成できます。今すぐ、またはレポートの作成後に作成できますが、どちらにしても、 データソース(CData JDBC Driver for NetSuite) を展開()し、[Queries]を右クリックして[Add Query]を選択します。
- [Add Table/View/Query]ダイアログで、JDBC URL とTables を展開() し、クエリで使用するテーブルを選択して[OK]をクリックします。
- [Query Editor]ダイアログで、含めるカラムを選択するか、[SQL]ボタンをクリックして以下のようにカスタムクエリを手動で入力できます。
SELECT Customer.FirstName AS CustomerName, SalesOrder.Total AS SalesOrderTotal FROM SalesOrder, Customer
クエリが作成されたら、[OK]をクリックして[Query Editor]ダイアログを閉じます。この時点で、NetSuite を新規または既存のレポートに追加する準備が整いました。
NOTE: クエリが作成されると、クエリに基づいて[Business View]を作成できます。[Business View]を使用すると、クエリに基づいてWeb レポートまたはライブラリコンポーネントを作成できます。これについてのより詳しい情報は、JReport のチュートリアルを参照してください。
レポートにNetSuite のデータを追加
NetSuite を使用してレポートを作成することができるようになりました。
- 新しいレポートを作成([File][New][Page Report]) するか、既存のレポートの[Chart Wizard]を開きます。
- クエリを選択(または上記を参照して新しいクエリを作成) します。
- クエリのカラムからグラフの[Category]と[Value]を割り当て、[Finish]をクリックします。
- レポートの[View]タブをクリックし、チャートを表示します。


