ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →REST Driver の30日間無償トライアルをダウンロード
30日間のトライアルで試してみるCData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Crystal Reports には、JDBC 標準向けのサポートが組み込まれています。この記事では、REST の機能を持つ帳票を作成するレポート作成ウィザードの使い方を説明します。
CData JDBC Driver for REST を、ドライバーのJAR をCrystal Reports のクラスパスに含めてインストール:DataDriverCommonElement の下のClassPath element のパスに、 .jar を含むファイルのフルパスを追加します。
CRConfig.xml は通常C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java に配置されます。— パスはインストールによって若干異なる場合があります。ドライバーのJAR はインストールディレクトリの[lib]サブフォルダ内にあります。
ClassPath にJAR を追加したら、Crystal Reports を再起動します。
下記の手順に従って、レポート作成ウィザードを使ってREST 接続を作成します。
ウィザードでJDBC 接続URL を選択します。
jdbc:rest:DataModel=Relational;URI=C:/people.xml;Format=XML;
ドライバーのクラス名を設定:
cdata.jdbc.rest.RESTDriver
データソースへの認証については、データプロバイダーのヘルプドキュメントの「はじめに」を参照してください: データプロバイダーはREST API を双方向データベーステーブルとして、XML/JSON ファイル(ローカルファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)を読み取り専用のビューとしてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。認証についての詳細は、ヘルプドキュメントの「はじめに」を参照してください。
URI を設定し、認証値を指定したら、Format を"XML" または"JSON" に設定して、データ表現をデータ構造により厳密に一致させるようにDataModel を設定します。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、以下の基本的な設定を切り替えます。
リレーショナル表現の構成について詳しくは、「REST データのモデル化」を参照してください。次の例で使用されているサンプルデータもあります。データには、人、所有している車、およびそれらの車で行われたさまざまなメンテナンスサービスのエントリが含まれています。The data includes entries for people, the cars they own, and various maintenance services performed on those cars.
JDBC 接続をREST に追加したら、レポート作成ウィザードを使ってREST を帳票に追加できます。
帳票に必要なテーブルやフィールドを選択して、データソースを設定します。この例では、people テーブルの[ personal.name.first ] および[ personal.name.last ] カラムを使います。
チャートの種類を設定 ウィザードを完了すると、Crystal Reports はREST データ に実行されるSQL クエリをビルドします。ドライバーは、ライブREST データ に対してクエリを実行します。
データのインポートが終わったら、データをサマライズもしくはソートするチャートやレポートオブジェクトを作成できます。[Insert]>[Chart]をクリックして、チャートエキスパートを開きます。Total [ personal.name.last ] by [ personal.name.first ] を表すグラフを作成するには、[ personal.name.first ] を[On Change Of]メニューセレクションの下のボックスに追加してから[ personal.name.last ] を[Show Values]の下のボックスに追加します。
完成した帳票をプレビューして、チャートにデータが入っていることを確認します。Null 値を取り除きたい場合は、SelectionFormula を使います。