各製品の資料を入手。
詳細はこちら →Crystal Reports でXML のデータに連携して帳票を作成
レポートウィザードを使って、最新のXML 連携データを使った帳票を作成。
最終更新日:2022-06-11
この記事で実現できるXML 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Crystal Reports には、JDBC 標準向けのサポートが組み込まれています。この記事では、XML の機能を持つ帳票を作成するレポート作成ウィザードの使い方を説明します。
XML JDBC Driver のインストール
CData JDBC Driver for XML を、ドライバーの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 を再起動します。
XML のデータに接続
下記の手順に従って、レポート作成ウィザードを使ってXML 接続を作成します。
- 新しい空の帳票で、[Create New Connection]>[JDBC (JNDI)]をクリックします。
ウィザードでJDBC 接続URL を選択します。
jdbc:xml:URI=C:/people.xml;DataModel=Relational;
ドライバーのクラス名を設定:
cdata.jdbc.xml.XMLDriver
データソースを認証するには、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。 データプロバイダーはXML API を双方向データベーステーブルとしてモデル化し、XML ファイルをread-only ビュー(ローカルファイル、人気のクラウドサービスに格納されたファイル、およびFTP サーバー)としてモデル化します。 HTTP Basic、Digest、NTLM、OAuth、およびFTP を含む主な認証スキームはサポートされています。認証のガイドについては、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。
URI と認証値を設定した後で、DataModel を設定することでデータの構造によりよくマッチするようデータの抽象化を調整できます。
DataModel プロパティはデータがどのようにテーブルとして抽象化されるかを制御するプロパティであり、次の基本的な設定を調整します。
- Document(デフォルト):XML データのトップレベルのドキュメントビューをモデル化します。データプロバイダーは入れ子化した要素をデータの集約値として返します。
- FlattenedDocuments:入れ子化したドキュメントとその親を結合して単一のテーブルに入力します。
- Relational:個別の関連テーブルを階層化されたデータから返します。テーブルは主キーと、親ドキュメントにリンクする外部キーを含みます。
リレーショナルな抽象化の設定についての詳細は、「XML データのモデリング」セクションを参照してください。次の例で使用されているサンプルデータも存在します。 このデータには、人名、その人たちが所有する車、車に施されたさまざまなメンテナンスに関する情報が含まれます。
帳票をデザイン
JDBC 接続をXML に追加したら、レポート作成ウィザードを使ってXML を帳票に追加できます。
-
帳票に必要なテーブルやフィールドを選択して、データソースを設定します。この例では、people テーブルの[ personal.name.first ] および[ personal.name.last ] カラムを使います。
-
チャートの種類を設定 ウィザードを完了すると、Crystal Reports はXML のデータ に実行されるSQL クエリをビルドします。ドライバーは、ライブXML のデータ に対してクエリを実行します。
- 必要に応じて、ほかのフィルタや帳票テンプレートを設定します。
-
データのインポートが終わったら、データをサマライズもしくはソートするチャートやレポートオブジェクトを作成できます。[Insert]>[Chart]をクリックして、チャートエキスパートを開きます。Total [ personal.name.last ] by [ personal.name.first ] を表すグラフを作成するには、[ personal.name.first ] を[On Change Of]メニューセレクションの下のボックスに追加してから[ personal.name.last ] を[Show Values]の下のボックスに追加します。
完成した帳票をプレビューして、チャートにデータが入っていることを確認します。Null 値を取り除きたい場合は、SelectionFormula を使います。
