Crystal Reports は ODBC DSN を使って、レポート用にデータや情報が摘出できるデータベースに接続することができます。
Crystal Reports の特定のバージョンでは、アプリケーションが開けない、ODBC コネクションを通してテーブルやフィールドをブラウズできない、という問題が報告されています。Crystal Reports で MySQL を使用する前に、不具合に対するサービス パックやホットフィックスを含む、最新バージョンへのアップデートをするようにしてください。この問題に関する情報は、Business) Objects Knowledgebase でご覧ください。
例として、Crystal Reports XI 内で簡単なクロス集計レポートを作成するには、次のステップに従ってください :
Data Sources (ODBC)
ツールを使用して DSN
を作成。ユーザ名とパスワードのある完全なデータベースを指定するか、基本的な
DSN を作成し、Crystal Reports
を使ってユーザ名とパスワードを設定する。
この例の目的のために、MySQL Sakila サンプル データベースの実例に接続を提供する DSN が作成されている。
Crystal Reports を開き、新しいプロジェクトを作成するか、MySQL データソースからのデータをインサートしたい既存のレポート プロジェクトを開く。
Start Page のオプションをクリックするなどして、Cross-Tab Report Wizard を起動。Create New Connection フォルダを展開し、それから ODBC (RDO) フォルダを広げて ODBC データソースのリストを獲得する。
データソースの選択が要請される。
ODBC (RDO) フォルダを最初に展開する際、Data Source Selection スクリーンが表示される。ここからは、事前に構成された DSN を選択する、ファイルベース DSN を開く、もしくは手動接続ストリングを入力する、からどれかを選ぶことができる。この例では、Sakila DSN を使用。
DSN がユーザ名とパスワードのコンビネーションを持つ場合、または別の承認信任状を使用する場合は、Next をクリックして、使用するユーザ名とパスワードを入力する。それ以外では、Finish をクリックして、データソース選択ウィザードを続ける。
Cross-Tab Report Creation Wizard
に戻る。レポートに含めたいデータベースとテーブルを選択。ここでは例として、選ばれた
Sakila
データベースを展開する。city
テーブルをクリックし、>
ボタンでテーブルをレポートに加える。そして、country
テーブルで同じ動作を繰り返す。あるいは、複数のテーブルを選択し、それらをレポートに加えることもできる。
最後に、Sakila の親リソースを選択し、そのテーブルをレポートに加えることができる。
取り入れたいテーブルを選択したら、Next を押して次に進む。
これで、Crystal Reports はテーブルの定義を読み取り、テーブル間のリンクを自動的に特定するようになる。テーブル間のリンクの特定により、Crystal Reports はクエリ従って、データベース内の全テーブルに基づく情報を参照そして要約することができる。Crystal Reports がリンクそのものを実行できない場合、選択したテーブルのフィールド間に手動でリンクを作成することができる。
Next をクリックしてプロセスを続行。
次に、クロス集計レポートに取り込みたいカラムと行を選択。ドラッグ アンド ドロップか、> ボタンを使って、レポートの各部にフィールドを加える。この例の画面では、city をレポートし、country で整理、各 county の city の数を取り込むことにする。データをブラウスしたい場合は、フィールドを選択して Browse Data... ボタンをクリックする。
Next をクリックして結果のグラフを作成。このデータからはグラフを作成していないので、Finish をクリックしてレポートを発行する。
完成したレポートが表示される。以下はSakila サンプル データベースからの出力サンプル。
Clystal Reports 内で ODBC 接続が開いたら、使用可能なテーブルのどのフィールドでも、レポートに加えることができます。