Crystal Reports 2011 ユーザガイド

Crystal Reports 2011 ユーザガイド
■ SAP Crystal Reports 2011
2012-05-10
著作権
© 2012 SAP AG. All rights reserved.SAP、R/3、SAP NetWeaver、Duet、PartnerEdge、ByDesign、SAP
BusinessObjects Explorer、StreamWork、SAP HANA、および本文書に記載されたその他の SAP 製品、
サービス、ならびにそれぞれのロゴは、ドイツおよびその他の国々における SAP AG の商標または登録
商標です。Business Objects および Business Objectsロゴ、BusinessObjects、Crystal Reports、Crystal
Decisions、Web Intelligence、Xcelsius、および本書で引用されているその他のBusiness Objects 製品お
よびサービス、ならびにそれぞれのロゴも含めて、Business Objects Software Ltd. の商標または登録商
標です。Business Objects は SAP の子会社です。Sybase および Adaptive Server、iAnywhere、Sybase
365、SQL Anywhere、および本書で引用されている Sybase 製品およびサービス、ならびにそれぞれの
ロゴも含めて、Sybase, Inc. の商標または登録商標です。Sybase は SAP の子会社です。Crossgate、
m@gic EDDY、B2B 360°、B2B 360° Services は、ドイツおよびその他の国々における Crossgate AG
の登録商標です。Crossgate は SAP の子会社です。本書に記載されたその他すべての製品およびサー
ビス名は、それぞれの企業の商標です。本書に記載されたデータは情報提供のみを目的として提供され
ています。製品仕様は、国ごとに変わる場合があります。これらの文書の内容は、予告なしに変更され
ることがあります。これらの文書はSAP AGおよびその関連会社(「SAPグループ」)が情報提供のために
のみ提供するもので、いかなる種類の表明および保証を伴うものではなく、SAPグループは文書に関す
る誤記・脱落等の過失に対する責任を負うものではありません。SAPグループの製品およびサービスに
対する唯一の保証は、当該製品およびサービスに伴う明示的保証がある場合に、これに規定されたも
のに限られます。本書のいかなる記述も、追加の保証となるものではありません。
2012-05-10
目次
3
第1章
SAP Crystal Reports 2011 の概要.............................................................................................................................21
1.1
1.2
1.2.1
1.2.2
Crystal Reports について...............................................................................................................................................21
第2章
クイック スタート..................................................................................................................................................................23
2.1
2.1.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.4
2.4.1
2.4.2
2.4.3
Crystal Reports の使い方の学習...............................................................................................................................23
第3章
レポートデザインの概念..................................................................................................................................................51
3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4
レポートデザインの基礎..................................................................................................................................................51
Crystal Reports のマニュアル......................................................................................................................................21
情報をすばやく検索..........................................................................................................................................................22
サンプルレポート................................................................................................................................................................22
サンプルデータ - xtreme.mdb.......................................................................................................................................23
レポート作成ウィザード....................................................................................................................................................24
標準..........................................................................................................................................................................................24
クロスタブ...............................................................................................................................................................................24
宛名ラベル............................................................................................................................................................................25
OLAP.......................................................................................................................................................................................25
クイック スタート - 初心者ユーザー...........................................................................................................................25
開始する前に.......................................................................................................................................................................26
レポートの作成....................................................................................................................................................................26
レコードの選択....................................................................................................................................................................37
グループ化と並べ替え.....................................................................................................................................................40
レポートの完成....................................................................................................................................................................44
クイック スタート - 上級ユーザ.....................................................................................................................................45
レポートの種類とデータ ソースの選択......................................................................................................................45
[デザイン]タブでの作業...................................................................................................................................................46
その他のレポート機能の使い方..................................................................................................................................47
レポートの内容の決定.....................................................................................................................................................51
目的の明確化......................................................................................................................................................................51
レポートのレイアウトの決定 .........................................................................................................................................52
データの決定.......................................................................................................................................................................53
データの操作.......................................................................................................................................................................54
2012-05-10
目次
4
3.2.5
3.3
3.3.1
出力領域の特性の決定..................................................................................................................................................55
第4章
レポートの基礎....................................................................................................................................................................59
4.1
4.2
4.2.1
4.2.2
4.3
4.3.1
4.3.2
4.3.3
4.4
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
4.4.7
4.4.8
4.4.9
4.4.10
4.4.11
4.4.12
4.4.13
4.5
4.5.1
4.5.2
4.5.3
4.5.4
4.6
レポート作成のオプション...............................................................................................................................................59
第5章
SAP BusinessObjects Enterprise リポジトリ...........................................................................................................95
5.1
5.1.1
5.2
5.2.1
5.3
5.4
SAP BusinessObjects Enterprise リポジトリとは..................................................................................................95
紙でのプロトタイプの作成..............................................................................................................................................56
紙にプロトタイプをデザインする...................................................................................................................................57
データソースとデータベースフィールドの選択.......................................................................................................60
データベースエキスパート..............................................................................................................................................60
フィールドエクスプローラ.................................................................................................................................................62
レポートデザイン環境について....................................................................................................................................64
[デザイン]タブ......................................................................................................................................................................64
[プレビュー]タブ...................................................................................................................................................................68
[HTML プレビュー]タブ.....................................................................................................................................................72
新しいレポートの作成.......................................................................................................................................................72
データソースの選択..........................................................................................................................................................72
テーブルの追加..................................................................................................................................................................74
複数のテーブルのリンク..................................................................................................................................................74
データの配置.......................................................................................................................................................................76
BLOB(Binary Large Object)フィールド.......................................................................................................................83
データの書式の設定.........................................................................................................................................................83
レコードの選択....................................................................................................................................................................84
データのグループ化、並べ替え、集計......................................................................................................................84
集計データのドリルダウン..............................................................................................................................................84
ズーム機能の使用.............................................................................................................................................................85
ページヘッダとページフッタの挿入.............................................................................................................................85
タイトルページの追加.......................................................................................................................................................86
概要情報の追加.................................................................................................................................................................87
レポートの参照と複数のレポートの操作..................................................................................................................88
レポートエクスプローラ.....................................................................................................................................................88
ワークベンチ.........................................................................................................................................................................89
依存関係チェッカー...........................................................................................................................................................91
エクスプローラの使用とドッキング..............................................................................................................................93
より高度なレポート............................................................................................................................................................94
ワークフロー.........................................................................................................................................................................95
SAP BusinessObjects Enterprise リポジトリへのアクセス................................................................................96
SAP BusinessObjects Enterprise リポジトリを開く...............................................................................................97
リポジトリエクスプローラツールバー..........................................................................................................................97
サブフォルダやサブカテゴリのリポジトリへの追加..............................................................................................98
2012-05-10
目次
5
5.4.1
5.5
5.5.1
5.5.2
5.5.3
5.5.4
5.6
5.6.1
5.6.2
5.6.3
5.6.4
5.7
5.7.1
5.8
5.8.1
5.9
5.9.1
5.10
新しいサブフォルダまたはサブカテゴリを追加する.............................................................................................99
第6章
最適化された Web レポートの作成..........................................................................................................................107
6.1
6.1.1
6.2
6.2.1
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.3.5
6.3.6
6.4
6.4.1
6.4.2
6.4.3
6.4.4
6.4.5
6.5
6.5.1
6.5.2
6.5.3
概要.......................................................................................................................................................................................107
リポジトリへのアイテムの追加......................................................................................................................................99
テキストオブジェクトまたはビットマップイメージの追加......................................................................................99
テキストオブジェクトまたはビットマップイメージの追加 - 別の方法..........................................................100
カスタム関数の追加.......................................................................................................................................................100
コマンドの追加..................................................................................................................................................................101
レポートでのリポジトリオブジェクトの使用 ...........................................................................................................101
レポートへのテキストオブジェクトまたはビットマップイメージの追加.........................................................102
レポートへのカスタム関数の追加.............................................................................................................................102
レポートへのコマンドの追加.......................................................................................................................................103
値の一覧のパラメータへの追加................................................................................................................................103
リポジトリのオブジェクトの変更.................................................................................................................................103
リポジトリオブジェクトを変更する..............................................................................................................................104
接続されているリポジトリオブジェクトのレポートでの更新............................................................................104
更新オプションを設定する...........................................................................................................................................104
アイテムのリポジトリからの削除...............................................................................................................................105
リポジトリからオブジェクトを削除する.....................................................................................................................105
リポジトリでの[元に戻す]の使用...............................................................................................................................106
Web レポートを最適化するための主な方法.........................................................................................................108
SAP BusinessObjects Business Intelligence プラットフォームを使用した拡張 ....................................108
SAP BusinessObjects Business Intelligence プラットフォームでの日付/時刻関数の評価時期 ...109
適切なデザインの選択..................................................................................................................................................110
より高速なレポート形式の使用.................................................................................................................................110
ライブデータまたは保存データの選択....................................................................................................................111
集計レポートの作成........................................................................................................................................................112
サブレポート使用時の留意点....................................................................................................................................113
他のデザイン要素の効率的な使用.........................................................................................................................115
データを最大限に共有するレポートの作成..........................................................................................................115
レポート環境の簡略化...................................................................................................................................................116
最速のデータベースと接続の選択...........................................................................................................................116
テーブルインデックスの使用.......................................................................................................................................116
テーブルのリンク選択の改善.....................................................................................................................................117
スレッドセーフデータベースドライバの使用..........................................................................................................117
ストアドプロシージャによる処理の高速化.............................................................................................................118
機能拡張されたレコード選択式の使用 .................................................................................................................119
レコード選択のプッシュダウンの例..........................................................................................................................119
レコード選択のパフォーマンスに関するヒント.....................................................................................................120
効率のよいレコード選択式を記述するためのヒント..........................................................................................121
2012-05-10
目次
6
6.5.4
6.5.5
6.6
6.6.1
6.6.2
6.6.3
6.6.4
6.6.5
パラメータフィールドのレコード選択式への取り込み.......................................................................................124
第7章
レコードの選択..................................................................................................................................................................129
7.1
7.1.1
7.1.2
7.1.3
7.1.4
7.1.5
7.1.6
7.2
7.2.1
7.3
7.4
7.4.1
7.4.2
レコードの選択..................................................................................................................................................................129
第8章
並べ替え、グループ化、集計......................................................................................................................................141
8.1
8.1.1
8.1.2
8.1.3
8.2
8.2.1
8.2.2
8.2.3
8.2.4
8.2.5
8.2.6
8.2.7
8.2.8
8.2.9
8.3
8.3.1
データの並べ替え............................................................................................................................................................141
SQL 式の使用条件.........................................................................................................................................................124
グループ化、並べ替え、および総計機能の向上................................................................................................125
サーバ上でのグループ化の実行..............................................................................................................................125
サーバ上でグループ化する利点の例.....................................................................................................................126
グループ化、並べ替え、および総計での SQL 式の使用...............................................................................127
SQL 式での Case 式の使用.......................................................................................................................................127
集計フィールドと積算合計フィールドの挿入条件..............................................................................................128
レコード選択のオプション.............................................................................................................................................129
使用するフィールドの決定...........................................................................................................................................129
選択エキスパートの使用..............................................................................................................................................130
式の使用.............................................................................................................................................................................131
選択エキスパートと式エディタの関係.....................................................................................................................132
保存データ選択式...........................................................................................................................................................133
式のテンプレートの使用...............................................................................................................................................134
レコード選択式のテンプレート....................................................................................................................................134
データベースサーバへのレコード選択のプッシュダウン.................................................................................136
レコード選択式のトラブルシューティング...............................................................................................................137
レコード選択式の問題を修正する............................................................................................................................137
データを生成しない選択式の修正...........................................................................................................................138
並べ替えオプションについて.......................................................................................................................................141
単一および複数のフィールドの並べ替え..............................................................................................................143
並べ替えの制御...............................................................................................................................................................145
データのグループ化.......................................................................................................................................................147
データのグループ化.......................................................................................................................................................147
カスタムグループの作成...............................................................................................................................................148
条件によるグループの並べ替え...............................................................................................................................149
グループ内のレコードの並べ替え............................................................................................................................151
グループ選択.....................................................................................................................................................................151
データを範囲でグループ化..........................................................................................................................................155
会社名の最初の文字でグループ化.........................................................................................................................157
データを階層的にグループ化.....................................................................................................................................158
グループの編集................................................................................................................................................................164
グループ値の集計...........................................................................................................................................................165
グループ化したデータを集計する.............................................................................................................................165
2012-05-10
目次
7
8.3.2
8.3.3
8.3.4
8.4
8.4.1
8.4.2
8.5
8.5.1
8.6
8.6.1
8.6.2
8.6.3
集計値を基にグループを並べ替え..........................................................................................................................166
第9章
積算合計.............................................................................................................................................................................179
9.1
9.1.1
9.2
9.2.1
9.2.2
9.2.3
9.2.4
9.3
9.3.1
積算合計の概要...............................................................................................................................................................179
第 10 章
複数セクションレポート..................................................................................................................................................189
10.1
10.2
10.2.1
10.2.2
10.2.3
10.2.4
10.3
10.3.1
10.3.2
10.4
10.4.1
10.4.2
10.4.3
10.5
10.5.1
10.5.2
セクションについて..........................................................................................................................................................189
上位または下位の N グループまたはパーセントの選択................................................................................167
条件に応じた上位または下位のグループまたはパーセントの選択..........................................................169
小計.......................................................................................................................................................................................170
データの小計.....................................................................................................................................................................170
金額の計算とその小計.................................................................................................................................................171
割合.......................................................................................................................................................................................172
割合(%)の計算...................................................................................................................................................................172
グループヘッダ..................................................................................................................................................................173
グループヘッダの作成...................................................................................................................................................173
グループヘッダの非表示..............................................................................................................................................177
グループヘッダのドリルダウン...................................................................................................................................177
積算合計のしくみ.............................................................................................................................................................179
積算合計の作成...............................................................................................................................................................180
単一のリスト内での積算合計の作成......................................................................................................................180
グループ単位での積算合計の作成.........................................................................................................................182
条件付き積算合計の作成............................................................................................................................................183
1 対多のリンクリレーションシップがある積算合計の作成.............................................................................185
式を使った積算合計の作成........................................................................................................................................186
式を使って積算合計を作成する................................................................................................................................186
セクションの操作..............................................................................................................................................................189
セクションの挿入..............................................................................................................................................................190
セクションの削除..............................................................................................................................................................190
セクションの移動..............................................................................................................................................................190
関連する 2 つのセクションのマージ........................................................................................................................191
セクションの分割およびサイズ変更.........................................................................................................................192
セクションの分割..............................................................................................................................................................192
セクションのサイズ変更................................................................................................................................................193
複数のセクションの使用 ..............................................................................................................................................194
可変長オブジェクトが重ならないように制御.........................................................................................................194
フィールドが空の空白行の削除................................................................................................................................195
空白行の条件付き追加.................................................................................................................................................196
フォームレター...................................................................................................................................................................196
テキストオブジェクトの使用.........................................................................................................................................197
テキストオブジェクトによるフォームレターの作成..............................................................................................198
2012-05-10
目次
8
10.5.3
フォームレターへのメッセージの条件付き出力..................................................................................................203
第 11 章
書式設定.............................................................................................................................................................................205
11.1
11.2
11.2.1
11.2.2
11.2.3
11.2.4
11.2.5
11.3
11.3.1
11.3.2
11.3.3
11.3.4
11.3.5
11.3.6
11.3.7
11.3.8
11.3.9
11.3.10
11.3.11
11.3.12
11.3.13
11.3.14
11.3.15
11.3.16
11.3.17
11.3.18
11.3.19
11.3.20
11.4
11.5
11.5.1
11.5.2
11.5.3
11.5.4
11.5.5
11.5.6
11.5.7
11.5.8
書式設定の概念...............................................................................................................................................................205
テンプレートの使用.........................................................................................................................................................205
テンプレートの適用.........................................................................................................................................................206
適用したテンプレートの削除.......................................................................................................................................207
最後に選択したテンプレートの再適用....................................................................................................................207
テンプレートフィールドオブジェクトの使用.............................................................................................................208
テンプレートに関する留意点.......................................................................................................................................209
レポートデザイン環境の使用......................................................................................................................................211
セクションの特性..............................................................................................................................................................212
オブジェクトを後続セクションのアンダーレイとして使用..................................................................................212
定型フォーム......................................................................................................................................................................214
複数の列.............................................................................................................................................................................214
セクションの非表示.........................................................................................................................................................215
レポートオブジェクトの非表示....................................................................................................................................216
テキストベースのオブジェクトの配置.......................................................................................................................218
複数行のテキストベースのオブジェクトの配置...................................................................................................221
ファイルからテキストベースのオブジェクトのインポート..................................................................................222
テキストベースのオブジェクトの間隔の調整........................................................................................................223
オーバーフローフィールド表示を有効にする.......................................................................................................229
複数のオブジェクトの選択...........................................................................................................................................230
垂直配置.............................................................................................................................................................................231
文字間隔および行間隔の挿入..................................................................................................................................231
小数フォントサイズの設定...........................................................................................................................................232
ページのサイズと向きの設定.....................................................................................................................................233
ページ余白の設定...........................................................................................................................................................234
TrueType フォント............................................................................................................................................................235
プリンタドライバ.................................................................................................................................................................235
Web 表示用レポートの書式設定...............................................................................................................................236
書式設定のプロパティ...................................................................................................................................................237
無条件の書式設定..........................................................................................................................................................237
フィールドへの境界線、色、および影の追加.......................................................................................................237
レポート、セクション、領域、またはオブジェクトの読み取り専用設定.......................................................238
オブジェクトのサイズと位置のロック........................................................................................................................239
デフォルトのフィールド書式設定の変更.................................................................................................................239
線のレポートへの追加と編集.....................................................................................................................................241
レポートのボックスへの追加と編集.........................................................................................................................243
行とボックスの書式設定で予期される動作..........................................................................................................244
レポートへの図形の追加..............................................................................................................................................246
2012-05-10
目次
9
11.5.9
11.5.10
11.5.11
11.5.12
11.6
11.6.1
11.6.2
11.6.3
11.6.4
11.6.5
11.6.6
11.6.7
11.7
11.7.1
11.8
11.8.1
11.8.2
11.8.3
オブジェクトの拡大/縮小、トリミング、およびサイズ設定...............................................................................247
第 12 章
チャート.................................................................................................................................................................................267
12.1
12.1.1
12.1.2
12.1.3
12.1.4
12.1.5
12.1.6
12.2
12.2.1
12.2.2
12.2.3
12.2.4
12.3
12.3.1
12.3.2
12.3.3
12.3.4
12.3.5
12.3.6
12.3.7
チャートの基礎..................................................................................................................................................................267
従来の経理形式の使用................................................................................................................................................248
横方向のページへのレポートオブジェクトの繰り返し出力.............................................................................249
行間のスペースの使用.................................................................................................................................................250
条件付き書式設定..........................................................................................................................................................253
条件に基づいてオン/オフを切り替えるプロパティ............................................................................................253
条件付き属性プロパティ...............................................................................................................................................254
条件に応じた余白の変更.............................................................................................................................................255
X 位置の条件に応じた変更........................................................................................................................................256
最初のページを除くすべてのページに表示するフッタの作成......................................................................257
強調表示エキスパートの使用....................................................................................................................................258
元に戻す/やり直しの操作...........................................................................................................................................261
書式ペインタの使用........................................................................................................................................................261
書式設定をコピーおよび適用する............................................................................................................................263
バーコードの使用............................................................................................................................................................263
バーコードについて.........................................................................................................................................................263
バーコードの外観の変更..............................................................................................................................................264
バーコードの削除............................................................................................................................................................265
チャートの概要..................................................................................................................................................................267
チャートのレイアウト.......................................................................................................................................................268
チャートの種類..................................................................................................................................................................269
チャートの配置 ................................................................................................................................................................271
チャートのドリルダウン..................................................................................................................................................271
凡例を使ったドリルダウン............................................................................................................................................271
チャートの作成..................................................................................................................................................................272
詳細フィールドまたは式フィールドを使ったチャートの作成 (詳細レイアウト)........................................272
集計および小計フィールドを使ったチャートの作成(グループレイアウト )...............................................272
クロスタブを使ったチャートの作成(クロスタブレイアウト)...............................................................................274
OLAP キューブを使ったチャートの作成(OLAP レイアウト)...........................................................................275
チャートの使い方.............................................................................................................................................................276
チャートエキスパートによるチャートの編集..........................................................................................................276
[チャートオプション]メニュー項目によるチャートの編集..................................................................................276
他のメニュー項目を使用したチャートの編集.......................................................................................................277
棒チャートおよび折れ線チャートでの拡大/縮小機能の使用.......................................................................278
チャートの自動整列........................................................................................................................................................279
チャートの書式設定........................................................................................................................................................280
チャートのアンダーレイ機能の使用.........................................................................................................................281
2012-05-10
目次
10
第 13 章
マップ.....................................................................................................................................................................................283
13.1
13.1.1
13.1.2
13.1.3
13.1.4
13.1.5
13.2
13.2.1
13.2.2
13.2.3
13.3
13.3.1
13.3.2
13.3.3
13.3.4
13.3.5
13.3.6
13.3.7
13.3.8
13.3.9
13.3.10
13.3.11
13.3.12
マップの基礎......................................................................................................................................................................283
第 14 章
OLE........................................................................................................................................................................................299
14.1
14.1.1
14.1.2
14.1.3
14.2
14.2.1
14.3
14.4
14.4.1
14.4.2
14.4.3
14.5
14.5.1
14.5.2
OLE の概要........................................................................................................................................................................299
マップの概要......................................................................................................................................................................283
マップレイアウト................................................................................................................................................................283
マップタイプ........................................................................................................................................................................284
マップの配置場所............................................................................................................................................................286
マップのドリルダウン......................................................................................................................................................286
マップの作成......................................................................................................................................................................286
グループフィールドを使ったマップの作成(グループレイアウト)...................................................................287
クロスタブを使ったマップの作成(クロスタブレイアウト)...................................................................................288
OLAP キューブを使ったマップの作成(OLAP レイアウト)...............................................................................289
マップの操作......................................................................................................................................................................290
マップエキスパートによるマップの編集..................................................................................................................290
マップのタイトルの変更.................................................................................................................................................291
マップタイプの変更..........................................................................................................................................................291
マップレイヤの変更.........................................................................................................................................................292
データの不一致の解消.................................................................................................................................................293
地図の変更........................................................................................................................................................................294
マップの拡大または縮小..............................................................................................................................................294
マップのパン.......................................................................................................................................................................295
マップの中央揃え............................................................................................................................................................295
マップナビゲータの表示または非表示...................................................................................................................295
マップの書式設定............................................................................................................................................................296
マップをアンダーレイにする.........................................................................................................................................297
OLE の用語........................................................................................................................................................................299
OLE オブジェクトのタイプ.............................................................................................................................................300
OLE に関する一般的な留意点..................................................................................................................................300
レポートへのOLE オブジェクトの挿入.....................................................................................................................301
OLE オブジェクトのコピーと貼り付け .....................................................................................................................301
OLE オブジェクトのレポートでの表示.....................................................................................................................302
レポート内の OLE オブジェクトの編集....................................................................................................................302
インプレイス編集..............................................................................................................................................................302
動的な OLE のメニューコマンド.................................................................................................................................303
[OLE オブジェクト]コマンドと[ピクチャ]コマンド................................................................................................303
静的 OLE オブジェクトの操作....................................................................................................................................304
静的 OLE オブジェクトの挿入....................................................................................................................................304
静的 OLE オブジェクトの動的化...............................................................................................................................305
2012-05-10
目次
11
14.5.3
14.6
14.6.1
14.6.2
14.7
14.7.1
14.7.2
14.7.3
静的 OLE オブジェクトのビットマップイメージオブジェクトへの変換..........................................................306
第 15 章
クロスタブオブジェクト....................................................................................................................................................313
15.1
15.2
15.2.1
15.2.2
15.2.3
15.2.4
15.2.5
15.3
15.3.1
15.3.2
15.3.3
15.3.4
15.3.5
15.3.6
15.3.7
15.3.8
15.3.9
15.4
15.4.1
15.4.2
15.4.3
15.4.4
15.4.5
15.5
15.5.1
15.5.2
15.5.3
15.5.4
15.5.5
15.5.6
15.6
クロスタブオブジェクトについて..................................................................................................................................313
埋め込みオブジェクトとリンクオブジェクトの操作の違い................................................................................306
埋め込みオブジェクト.....................................................................................................................................................306
リンクされたオブジェクト................................................................................................................................................307
Shockwave フラッシュ(SWF)オブジェクトの統合.................................................................................................308
Shockwave Flash(SWF)オブジェクトの印刷..........................................................................................................309
レポートへの Xcelsius SWF オブジェクトの追加.................................................................................................310
データバインディングによるレポートへの Xcelsius SWF オブジェクトの追加........................................311
クロスタブの例..................................................................................................................................................................314
注文データのレポート - 並べ替え/グループ化なし.........................................................................................314
注文データのレポート - 地域別................................................................................................................................315
注文データのレポート - 商品別................................................................................................................................316
注文データのレポート - 地域/商品別....................................................................................................................317
クロスタブオブジェクトにした注文データ................................................................................................................318
クロスタブオブジェクトの作成.....................................................................................................................................319
クロスタブレポートを作成する....................................................................................................................................320
既存のレポートにクロスタブを追加する.................................................................................................................320
データソースの指定........................................................................................................................................................321
リンクの修正......................................................................................................................................................................322
チャートの追加..................................................................................................................................................................322
レコードの選択..................................................................................................................................................................322
クロスタブの構造の定義...............................................................................................................................................323
定義済みのスタイルを適用したレポートの作成.................................................................................................324
クロスタブエキスパートを使用した既存のレポートへのクロスタブの追加..............................................324
クロスタブの使用.............................................................................................................................................................326
百分率による値の表示.................................................................................................................................................326
大きい集計フィールドの短縮 .....................................................................................................................................327
行/列ラベルのカスタマイズ.........................................................................................................................................328
クロスタブでの積算合計の使用................................................................................................................................328
複数ページにわたるクロスタブの出力 ..................................................................................................................329
クロスタブの書式設定....................................................................................................................................................330
クロスタブセルの幅、高さ、および配置の変更...................................................................................................330
行や列全体の背景色の書式設定............................................................................................................................331
フィールドの個別での書式設定.................................................................................................................................331
複数のフィールドの一括書式設定...........................................................................................................................331
クロスタブデータの非表示...........................................................................................................................................332
集計フィールドの水平方向表示................................................................................................................................333
高度なクロスタブ機能....................................................................................................................................................333
2012-05-10
目次
12
15.6.1
15.6.2
計算メンバー......................................................................................................................................................................334
第 16 章
クエリの構築......................................................................................................................................................................339
16.1
16.1.1
16.2
16.2.1
16.2.2
16.2.3
16.3
16.3.1
16.4
16.4.1
16.4.2
16.5
16.5.1
16.5.2
16.5.3
16.5.4
16.5.5
16.5.6
16.6
16.6.1
16.6.2
16.6.3
16.6.4
ユニバースへの接続......................................................................................................................................................339
第 17 章
OLAP データを使ったレポートの作成.....................................................................................................................357
17.1
17.1.1
17.2
17.2.1
17.2.2
17.2.3
17.2.4
17.2.5
17.2.6
17.3
17.3.1
17.3.2
Crystal Reports による OLAP レポートの作成...................................................................................................357
埋め込まれた集計...........................................................................................................................................................337
ユニバースに接続する..................................................................................................................................................339
クエリ用のデータの選択を定義.................................................................................................................................340
単純なクエリを作成する................................................................................................................................................340
複合クエリを作成する....................................................................................................................................................341
オブジェクトのクイックリファレンス............................................................................................................................341
既存のクエリの編集.......................................................................................................................................................342
既存のクエリを編集する...............................................................................................................................................342
クエリの SQL 文を表示.................................................................................................................................................343
クエリを作成するときに SQL を表示する..............................................................................................................343
クエリを作成してから SQL を表示する...................................................................................................................343
クエリフィルタとプロンプト.............................................................................................................................................344
クエリフィルタの作成......................................................................................................................................................344
プロンプトの作成..............................................................................................................................................................345
クエリフィルタとプロンプトの組み合わせ...............................................................................................................346
And または Or を使ったクエリフィルタの結合.....................................................................................................347
クエリフィルタ演算子のクイックリファレンス..........................................................................................................347
クエリフィルタの編集と削除.........................................................................................................................................349
サブクエリおよびデータベースのランクを使用したデータのフィルタ処理................................................350
サブクエリについて.........................................................................................................................................................350
サブクエリの作成.............................................................................................................................................................350
データベースのランクとは............................................................................................................................................353
データベースのランクの作成......................................................................................................................................353
OLAP グリッドオブジェクト............................................................................................................................................357
OLAP レポートの作成....................................................................................................................................................358
OLAP レポートを作成する...........................................................................................................................................358
データソースの指定........................................................................................................................................................358
グリッドの構造の定義....................................................................................................................................................359
スライスディメンションとグリッド数の設定..............................................................................................................361
定義済みのスタイルの適用........................................................................................................................................362
チャートの挿入..................................................................................................................................................................363
OLAP レポートの更新....................................................................................................................................................364
OLAP グリッドオブジェクトのキューブの保存場所を更新する.....................................................................364
データベースの場所を更新する................................................................................................................................365
2012-05-10
目次
13
17.4
17.4.1
17.4.2
17.4.3
17.4.4
17.5
17.5.1
17.5.2
17.5.3
17.5.4
17.5.5
17.5.6
17.6
17.6.1
17.6.2
17.7
OLAP グリッドのデータの書式設定.........................................................................................................................365
第 18 章
レポートの印刷、エクスポート、および表示..........................................................................................................375
18.1
18.1.1
18.1.2
18.1.3
18.1.4
18.1.5
18.2
18.2.1
18.2.2
18.3
18.3.1
レポートの配布.................................................................................................................................................................375
第 19 章
レポートのアラート...........................................................................................................................................................405
19.1
19.2
19.2.1
19.2.2
19.2.3
19.2.4
19.2.5
レポートのアラートについて.........................................................................................................................................405
ディメンションの背景色の変更...................................................................................................................................366
ディメンションのエイリアスの作成.............................................................................................................................367
グリッドラインの書式設定.............................................................................................................................................367
ディメンションのラベル付け.........................................................................................................................................368
OLAP データのビューの変更.....................................................................................................................................368
ディメンションメンバーの表示/非表示を切り替えるには ...............................................................................368
OLAP グリッドで非対称を作成する..........................................................................................................................369
OLAP グリッドに合計を追加する..............................................................................................................................369
メンバー名の表示形式を変更する...........................................................................................................................369
OLAP グリッドに表示されたデータを変更する....................................................................................................370
OLAP グリッド内のフィールド順序を定義する ...................................................................................................370
OLAP グリッドデータの並べ替えとフィルタ処理.................................................................................................370
OLAP グリッドのデータの並べ替え..........................................................................................................................370
OLAP グリッドのデータのフィルタ処理...................................................................................................................372
OLAP グリッドへの計算の追加.................................................................................................................................373
レポートの印刷.................................................................................................................................................................375
レポートのファックス送信..............................................................................................................................................375
レポートのエクスポート..................................................................................................................................................376
Web フォルダの使用.......................................................................................................................................................386
Enterprise フォルダの使用..........................................................................................................................................387
レポートの表示.................................................................................................................................................................389
レポートパーツと他のレポートオブジェクト............................................................................................................390
エンタープライズハイパーリンクの作成.................................................................................................................401
スマートタグの使用.........................................................................................................................................................402
Crystal Reports オブジェクトでスマートタグを使用する..................................................................................403
レポートのアラートの使用............................................................................................................................................405
レポートのアラートの作成............................................................................................................................................405
レポートのアラートの編集............................................................................................................................................407
レポートのアラートの削除............................................................................................................................................408
レポートのアラートの表示............................................................................................................................................408
レポートのアラートの式での参照..............................................................................................................................409
2012-05-10
目次
14
第 20 章
式の使用.............................................................................................................................................................................411
20.1
20.1.1
20.2
20.2.1
20.2.2
20.3
20.4
20.4.1
20.4.2
20.5
20.5.1
20.5.2
20.5.3
20.5.4
20.5.5
20.6
20.6.1
20.6.2
20.7
20.7.1
20.7.2
20.8
式の概要.............................................................................................................................................................................411
第 21 章
パラメータフィールドとプロンプト................................................................................................................................447
21.1
21.1.1
21.1.2
21.1.3
21.1.4
21.2
21.3
21.3.1
21.3.2
21.3.3
21.4
21.4.1
21.4.2
21.4.3
21.5
パラメータとプロンプトの概要.....................................................................................................................................447
式の使用例........................................................................................................................................................................411
式の構成要素と構文......................................................................................................................................................412
式の構成要素...................................................................................................................................................................412
式の構文.............................................................................................................................................................................413
式のユーザ関数ライブラリ...........................................................................................................................................414
式の説明.............................................................................................................................................................................415
式ワークショップの使用.................................................................................................................................................416
式エディタを使った作業.................................................................................................................................................420
式の作成と変更................................................................................................................................................................424
式の作成およびレポートへの挿入...........................................................................................................................425
式エキスパートによる式の作成.................................................................................................................................425
式の編集.............................................................................................................................................................................427
式テキストの検索.............................................................................................................................................................427
式のコピー..........................................................................................................................................................................428
式の削除.............................................................................................................................................................................430
レポートからの作業用コピーの削除........................................................................................................................430
式の仕様の削除...............................................................................................................................................................430
式のデバッグ.....................................................................................................................................................................431
評価時エラーのデバッグ..............................................................................................................................................431
デバッグのチュートリアル.............................................................................................................................................432
エラーメッセージと式コンパイラによる警告..........................................................................................................435
パラメータフィールドに関する留意点......................................................................................................................447
プロンプトの留意点.........................................................................................................................................................448
データパラメータと非データパラメータ....................................................................................................................449
オプションパラメータ.......................................................................................................................................................450
動的プロンプトについて................................................................................................................................................450
値の一覧について...........................................................................................................................................................453
値の一覧のタイプ............................................................................................................................................................453
使用する値の一覧のタイプの判断...........................................................................................................................455
値の一覧とプロンプトグループの対比....................................................................................................................456
静的プロンプトを伴うパラメータの作成..................................................................................................................457
静的プロンプトを伴うパラメータを作成する .........................................................................................................457
レコード選択フィルタにパラメータを取り込む.......................................................................................................459
保存されたデータ選択式にパラメータを取り込む..............................................................................................460
動的プロンプトを伴うパラメータの作成..................................................................................................................460
2012-05-10
目次
15
21.5.1
21.6
21.6.1
21.7
21.8
21.8.1
21.8.2
21.8.3
21.8.4
21.8.5
21.9
21.9.1
21.9.2
21.9.3
21.9.4
21.10
21.10.1
21.10.2
21.10.3
21.11
21.11.1
21.11.2
21.12
21.12.1
21.12.2
21.12.3
21.12.4
21.12.5
21.12.6
21.12.7
21.12.8
21.12.9
21.12.10
21.12.11
動的プロンプトを伴うパラメータを作成する..........................................................................................................460
第 22 章
サブレポート.......................................................................................................................................................................485
22.1
22.1.1
22.1.2
22.2
22.2.1
サブレポートの概要........................................................................................................................................................485
カスケード値の一覧を伴うパラメータの作成........................................................................................................462
カスケード値の一覧を伴うパラメータを作成する...............................................................................................462
パラメータパネル..............................................................................................................................................................464
値の一覧の使用...............................................................................................................................................................465
レポート内での共通する値の一覧の共有.............................................................................................................465
独立した値と説明のフィールド...................................................................................................................................467
値の一覧のデータソースとしてのコマンドオブジェクトの使用......................................................................468
NULL の処理.....................................................................................................................................................................468
長い値の一覧....................................................................................................................................................................468
プロンプトのベストプラクティス...................................................................................................................................469
アンマネージドレポート..................................................................................................................................................469
マネージドレポート...........................................................................................................................................................470
アンマネージドレポートからアンマネージドレポートへの変換......................................................................470
動的プロンプトを伴うマネージドレポートの導入.................................................................................................471
パラメータフィールドの削除.........................................................................................................................................471
式で使用されていないパラメータを削除する.......................................................................................................472
選択エキスパートで使用されているパラメータを削除する............................................................................472
式で使用されているパラメータを削除する............................................................................................................472
パラメータフィールドのプロンプト..............................................................................................................................473
最初のプレビュー.............................................................................................................................................................473
レポートデータの最新表示..........................................................................................................................................473
高度なパラメータ機能....................................................................................................................................................474
複数のプロンプト値を持つパラメータの作成.......................................................................................................475
パラメータフィールドを使用した条件付き書式設定の適用............................................................................475
パラメータフィールドによるレポートタイトルの作成...........................................................................................476
単一の値または値の範囲の指定.............................................................................................................................477
式にパラメータを取り込む............................................................................................................................................478
パラメータフィールドによる並べ替え順序の設定...............................................................................................479
エディットマスクによるエントリタイプと書式の定義............................................................................................479
パラメータフィールドを使った保存データレコードフィルタの作成................................................................481
パラメータパネルに表示されるパラメータを作成する......................................................................................481
保存されたデータ選択式にパラメータを取り込む..............................................................................................482
パラメータフィールドを使用した動的グループ化機能の追加.......................................................................483
リンクされていないサブレポートとリンクされたサブレポート.........................................................................485
サブレポートのリンク機構............................................................................................................................................487
サブレポートの挿入........................................................................................................................................................488
サブレポートのプレビュー.............................................................................................................................................489
2012-05-10
目次
16
22.2.2
22.2.3
22.3
22.3.1
22.4
22.4.1
22.5
22.5.1
22.5.2
22.6
22.6.1
22.6.2
22.7
22.7.1
22.8
22.8.1
22.9
サブレポートをプライマリレポートとして保存........................................................................................................490
第 23 章
データベースの基礎.......................................................................................................................................................499
23.1
23.1.1
23.1.2
23.2
23.2.1
23.2.2
23.2.3
23.2.4
23.2.5
23.3
23.3.1
23.4
23.5
23.5.1
23.5.2
23.5.3
23.5.4
23.5.5
23.5.6
23.5.7
23.5.8
23.5.9
データベースの概要.......................................................................................................................................................499
サブレポートの更新........................................................................................................................................................490
サブレポートをプライマリレポートのデータにリンク...........................................................................................491
サブレポートをプライマリレポートのデータにリンクする..................................................................................492
選択式を変更しないサブレポートのメインレポートへのリンク......................................................................493
選択式を変更しないで、サブレポートをメインレポートにリンクする...........................................................493
サブレポートによる関連のないレポートの組み合わせ....................................................................................493
関連のない 2 つのレポートを組み合わせるには...............................................................................................494
関連のない 3 つ以上のレポートを組み合わせるには.....................................................................................494
リンクできないデータを持つサブレポートの使用................................................................................................494
式フィールドへのリンク、式フィールドからのリンク............................................................................................495
インデックスのないテーブルのリンク.......................................................................................................................496
オンデマンドサブレポートの作成..............................................................................................................................496
オンデマンドのサブレポートを作成する.................................................................................................................497
オンデマンドサブレポートへのキャプションの追加............................................................................................497
キャプションを追加する.................................................................................................................................................497
レポートのデータを異なるビューで表示.................................................................................................................498
リレーショナルデータベースの基礎..........................................................................................................................499
インデックス付きテーブル.............................................................................................................................................500
SQL および SQL データベースの使用...................................................................................................................503
SQL とは..............................................................................................................................................................................503
SQL DBMS.........................................................................................................................................................................505
Crystal Reports が使用する SQL.............................................................................................................................507
SQL 言語.............................................................................................................................................................................508
SQL コマンドの定義........................................................................................................................................................510
データソースの変更........................................................................................................................................................513
データソースを変更する................................................................................................................................................514
エイリアスの操作方法...................................................................................................................................................515
テーブルのリンク..............................................................................................................................................................516
参照元のテーブルと参照先のテーブル.................................................................................................................516
リンクリレーションシップ................................................................................................................................................516
1 対多のリンクの処理速度に関する留意点........................................................................................................517
データファイルに関する留意点..................................................................................................................................519
SQL データベースに関する留意点..........................................................................................................................521
任意のレポートにおける処理速度に関する留意点..........................................................................................522
データベースエキスパートの[リンク]タブ...............................................................................................................524
インデックス付きテーブルのリンク............................................................................................................................524
リンクの処理順序.............................................................................................................................................................525
2012-05-10
目次
17
23.5.10
23.6
23.6.1
23.7
23.7.1
23.7.2
23.7.3
23.8
23.8.1
23.8.2
23.8.3
23.9
23.10
23.10.1
23.10.2
23.11
23.11.1
23.11.2
23.11.3
23.12
リンクオプション................................................................................................................................................................526
第 24 章
ビジネスアプリケーションと Crystal Reports の統合........................................................................................559
24.1
24.1.1
24.1.2
24.1.3
24.2
24.2.1
24.2.2
24.3
24.3.1
24.3.2
24.3.3
24.3.4
24.3.5
24.3.6
24.3.7
24.3.8
24.3.9
24.3.10
24.3.11
SAP との統合....................................................................................................................................................................559
サーバサイドプロセス....................................................................................................................................................540
サーバ側のグループ化が SQL クエリに及ぼす影響.......................................................................................541
データベースフィールドのマップ................................................................................................................................542
[フィールドのマップ]ダイアログボックスの使用...................................................................................................543
再マップの手順.................................................................................................................................................................543
変更されたデータベースフィールドの再マップ....................................................................................................545
保存データのインデックス............................................................................................................................................546
レポートのインデックスのしくみ..................................................................................................................................547
保存データのインデックスを使用する場合の留意点.......................................................................................547
適切なフィールドのインデックス付け.......................................................................................................................548
Crystal Reports での Unicode のサポート............................................................................................................549
データベースの操作.......................................................................................................................................................549
Access のクエリーの使用............................................................................................................................................549
ODBC データ ソースの使用........................................................................................................................................552
高度なデータベース機能..............................................................................................................................................555
1 対多のリンク .................................................................................................................................................................555
ACT! データベース..........................................................................................................................................................556
NT イベントログに基づくレポートの作成................................................................................................................557
その他の情報について.................................................................................................................................................558
はじめに...............................................................................................................................................................................559
アドオン................................................................................................................................................................................563
SAP を使用したレポーティング..................................................................................................................................563
Oracle E-Business Suite との統合..........................................................................................................................620
概要.......................................................................................................................................................................................620
SAP Crystal Reports のデータにアクセスする...................................................................................................620
Siebel との統合.................................................................................................................................................................621
Siebel への接続...............................................................................................................................................................621
接続の設定........................................................................................................................................................................623
ビジネスコンポーネントの選択...................................................................................................................................627
Siebel データによるレポートの最新表示...............................................................................................................628
旧バージョンの Crystal Reports で作成されたレポートの更新...................................................................628
セキュリティ.........................................................................................................................................................................628
ビュー....................................................................................................................................................................................628
Siebel の書式設定の使用............................................................................................................................................629
レポート内のテーブルのリンク...................................................................................................................................629
マルチバリュー列.............................................................................................................................................................630
データ型...............................................................................................................................................................................630
2012-05-10
目次
18
24.4
24.4.1
24.4.2
24.5
24.5.1
24.5.2
PeopleSoft との統合......................................................................................................................................................632
付録 A
データ ソースへのアクセス..........................................................................................................................................637
A.1
A.1.1
A.2
A.2.1
A.2.2
A.2.3
A.2.4
A.3
A.3.1
A.3.2
A.3.3
A.3.4
A.3.5
A.3.6
A.4
A.4.1
A.4.2
A.4.3
A.4.4
A.5
A.6
A.7
A.8
概要.......................................................................................................................................................................................637
付録 B
レポート処理モデル........................................................................................................................................................665
B.1
B.1.1
B.1.2
B.1.3
B.1.4
B.1.5
B.1.6
概要.......................................................................................................................................................................................665
概要.......................................................................................................................................................................................632
SAP Crystal Reports のデータにアクセスする...................................................................................................632
JD Edwards との統合....................................................................................................................................................634
概要.......................................................................................................................................................................................634
SAP Crystal Reports のデータにアクセスする...................................................................................................634
6 種類のデータ.................................................................................................................................................................637
ダイレクト アクセス データベース ファイル............................................................................................................638
長所.......................................................................................................................................................................................638
短所.......................................................................................................................................................................................638
3 つのレイヤ......................................................................................................................................................................639
共通のデータベース形式.............................................................................................................................................640
ODBC データソース[odbc データソース]...............................................................................................................649
長所.......................................................................................................................................................................................650
短所.......................................................................................................................................................................................650
5 つのレイヤ......................................................................................................................................................................651
データベース クライアントのインストール..............................................................................................................653
ODBC DSN の設定が正しいかどうかを確認する..............................................................................................653
一般的な ODBC データベース形式.........................................................................................................................654
JDBC データソース .......................................................................................................................................................657
JNDI.......................................................................................................................................................................................657
5 つのレイヤ......................................................................................................................................................................658
サポートされる JDBC データベース形式..............................................................................................................659
Crystal Reports JDBC ドライバの設定..................................................................................................................660
Business Objects ユニバース....................................................................................................................................660
ビジネス ビュー.................................................................................................................................................................661
Crystal SQL Designer ファイル..................................................................................................................................662
Crystal 辞書ファイル......................................................................................................................................................662
パスについて.....................................................................................................................................................................665
プレパス 1...........................................................................................................................................................................665
パス 1....................................................................................................................................................................................665
プレパス 2...........................................................................................................................................................................666
パス 2....................................................................................................................................................................................666
パス 3....................................................................................................................................................................................667
2012-05-10
目次
付録 C
Crystal Reports エラーメッセージ.............................................................................................................................669
C.1
C.2
C.3
C.4
C.5
Drive:\filename.extension.............................................................................................................................................669
付録 D
アクセシブルレポートの作成.......................................................................................................................................673
D.1
D.1.1
D.1.2
D.1.3
D.2
D.2.1
D.2.2
D.2.3
D.2.4
D.2.5
D.3
D.3.1
D.3.2
D.3.3
D.4
D.4.1
D.4.2
D.5
D.5.1
D.6
D.7
アクセシビリティについて..............................................................................................................................................673
付録 E
より詳しい情報..................................................................................................................................................................695
Drive:\test.rpt....................................................................................................................................................................669
Database Connector セッションのロードに失敗しました。..............................................................................670
接続を開けませんでした。詳細: [データベースベンダーコード: <ベンダーコード番号>]...................670
データベースからのデータを受信できませんでした。詳細: [データベースベンダーコード: <ベンダー
コード番号>].......................................................................................................................................................................671
アクセシブルなレポートの利点..................................................................................................................................673
アクセシビリティ ガイドラインについて....................................................................................................................674
アクセシビリティと Business Objects 製品............................................................................................................675
レポートのアクセシビリティの向上............................................................................................................................675
レポートへのオブジェクトの配置...............................................................................................................................676
テキスト................................................................................................................................................................................677
色............................................................................................................................................................................................681
ナビゲーション...................................................................................................................................................................682
パラメータ フィールド......................................................................................................................................................683
柔軟なデザイン.................................................................................................................................................................683
アクセシビリティと条件付き書式設定......................................................................................................................684
アクセシビリティと非表示セクション.........................................................................................................................685
アクセシビリティとサブレポート..................................................................................................................................686
データテーブルのアクセシビリティの向上.............................................................................................................686
テキスト オブジェクトとデータ テーブルの値........................................................................................................687
データテーブルデザインのその他の考慮事項....................................................................................................691
アクセシビリティと BusinessObjects Business Intelligence プラットフォーム..........................................692
SAP BusinessObjects Business Intelligence プラットフォームのアクセシブルな基本設定..............692
アクセシビリティとカスタマイズ...................................................................................................................................693
リソース................................................................................................................................................................................694
索引
19
697
2012-05-10
SAP Crystal Reports 2011 の概要
SAP Crystal Reports 2011 の概要
1.1 Crystal Reports について
SAP Crystal Reports 2011 (Crystal Reports) は、データベースと連携して動作するように設計されており、ユー
ザが重要な情報を分析、解析するのに役立ちます。Crystal Reports を使用すると、シンプルなレポートを容易
に作成でき、また、複雑なレポートや特殊なレポートの生成に必要な総合的ツールも用意されています。
思いどおりのレポートを作成
Crystal Reports では、事実上すべてのデータソースからレポートを作成できます。付属のレポートエキスパー
トにより、レポートの構築やレポートでよく行われる操作の手順が紹介されます。式、クロスタブ、サブレポート、
および条件付き書式設定を使用すれば、データの持つ意味が浮かび上がり、隠されていた重要な関係が明ら
かになります。文字や数字だけでなく、地図やチャートで視覚的に情報を伝えることもできます。
レポートを Web で展開
Crystal Reports の機能は、レポートの作成だけではありません。作成したレポートは、Microsoft Word および
Excel、電子メール、Web などのさまざまな形式で配布できます。高度な Web レポート機能を使用すると、ワー
クグループ内のメンバーは、共有されたレポートを自分の Web ブラウザで表示できます。
レポートをアプリケーションに統合
アプリケーションと Web の開発者は、Crystal Reports のレポート処理機能をデータベースアプリケーションに
統合することにより、時間を節約しながらユーザの要求に応えることができます。一般的なほとんどの開発言語
がサポートされているため、レポート機能を任意のアプリケーションに簡単に追加できます。
Crystal Reports は、IT 部門の Web マスタ、マーケティング部門の宣伝部長、経理部門のデータベース管理
者、CEO など、あらゆる人々に必要とされる情報の分析と理解を強力に支援します。
1.2 Crystal Reports のマニュアル
Crystal Reports のマニュアルは、フィールドの配置、レポートの書式設定、レコードの並べ替えなど、レポート
を作成するための基本的な操作手順について説明しています。より特殊な作業に関する情報もあります。たと
えば、高度な式を作成したり、異なるタイプのデータにアクセスします。マニュアルを、基本的なレポート作成の
ためのリファレンスとして使用すると同時に、レポート作成における新しい概念の手引きとしてもお使いください。
21
2012-05-10
SAP Crystal Reports 2011 の概要
1.2.1 情報をすばやく検索
•
Crystal Reports の[ヘルプ]メニューからオンラインヘルプにアクセスします。
[目次]タブを使用して、オンラインヘルプ内の大きなセクション名をすべて表示したり、各セクション内の特
定の見出しにドリルダウンします。[キーワード]タブを使用すると、トピックが表示されます。また、[検索]タブ
を使用して、特定のキーワードに関連するすべてのセクションを表示することもできます。
•
http://support.businessobjects.com/documentation には、オンラインでアクセスできる PDF 版の Crystal
Reports のマニュアルがあります。
PDF 版には、オンラインヘルプのトピックのサブセットに加え、Crystal Reports を知るためのクイックスター
トなどの追加の情報が組み込まれています。
1.2.2 サンプルレポート
Crystal Reports のマニュアルで説明するトピックの多くには、関連するサンプルレポートの一覧が用意されて
います。これらのレポートを使用すると、トピックの内容が具体的にわかりやすくなります。またサンプルレポート
は、各ユーザのニーズに合わせて応用することができます。
サンプルレポートは、SAP Business Objects サポート Web サイトにあります。
22
2012-05-10
クイック スタート
クイック スタート
2.1 Crystal Reports の使い方の学習
Crystal Reports の使い方を学習するには、この節で説明する次の方法から選択します。
•
Crystal Reports に付属しているサンプル レポートとサンプルデータベースを学習する。
Crystal Reports のサンプルレポートとサンプルデータベースは、SAP Business Objects サポート Web サイ
トにあります。
•
25 ページの 「クイック スタート - 初心者ユーザー」にある詳細な解説と手順の説明を読む。
•
45 ページの 「クイック スタート - 上級ユーザ」にある要約とキーワードを相互に参照して学習する。特にレ
ポート作成の概念を既に把握している場合は、この方法が有益です。
上のそれぞれの方法は、どれも Crystal Reports を学習して理解するには有効な方法です。1 つの方法では
十分に解決しない点がある場合でも、必要に応じていつでもこの節に戻り、別の方法を調べることができます。
2.1.1 サンプルデータ - xtreme.mdb
サンプルデータベース xtreme.mdb は、Crystal Reports の学習中に使用できます。xtreme.mdb は Microsoft
Access のデータベースで、必要なドライバがすべて含まれています。直接このデータベースを開いて、レポー
トのデザインを開始できます。実際、このマニュアルのすべてのサンプルは、xtreme.mdb データに基づいてい
ます。
xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
xtreme.mdb は、マウンテン バイクとその部品を扱う架空の製造会社、Xtreme マウンテン バイク社のデータを
含むデータベースです。
注
このサンプルデータは、データベースの設計の学習ではなく、レポートの作成に関するさまざまな概念の学習
を目的として設計されています。データベースはさまざまな方法で設計できますが、xtreme.mdb は、データの
操作ではなく、レポートの作成に焦点を当てたサンプルとチュートリアルで使用することを目的として設計され
ています。
23
2012-05-10
クイック スタート
2.2 レポート作成ウィザード
この節のチュートリアルでは、レポートをまったくの最初から作成する方法を示します。ただし、補助的な、また
は代わりの方法として、開始ページにあるレポート作成ウィザードを利用することもできます。レポート作成ウィ
ザードには次の 4 つがあります。
•
24 ページの 「標準」
•
24 ページの 「クロスタブ」
•
25 ページの 「宛名ラベル」
•
25 ページの 「OLAP」
どのウィザードも、一連の画面を使用していくことによって、レポートが作成できるように構成されています。ま
た、多くのウィザードは、特定のレポート タイプに固有の画面を持っています。たとえば、宛名ラベル レポート
作成ウィザードには、宛名ラベルのタイプを選択するための画面があります。
注
プログラムでデータソースからすべてのデータを収集しないようにする場合は、レポート作成ウィザードの[完了]
ボタンをクリックした後に、[ナビゲーションツール]ツールバーで[停止]ボタンをクリックします。この方法は、ウィ
ザードで作成したレポートレイアウトを調整する場合に便利です。
2.2.1 標準
標準レポート作成ウィザードは、最も一般的なウィザードです。このウィザードは、データ ソースを選択したり、
データベース テーブルをリンクしたりする手順を案内します。また、フィールドを追加し、フィールドに対してグ
ループ化、集計 (合計)、および並べ替え条件を指定することもできます。さらに、チャートの作成およびレコー
ド選択の手順を案内します。
[テンプレート]画面には定義済みのレイアウトが用意されています。これらのレイアウトをレポートに適用すると、
さらに見栄えの良いレポートを作成できます。
2.2.2 クロスタブ
クロスタブレポート作成ウィザードは、データをクロスタブオブジェクトとして表示するレポートを作成します。クロ
スタブ自体の作成および書式設定は、特別に用意された 2 つの画面([クロスタブ]と[グリッドのスタイル])で行
います。
24
2012-05-10
クイック スタート
2.2.3 宛名ラベル
宛名ラベルレポート作成ウィザードでは、目的のサイズの宛名ラベルに印刷できるように書式設定したレポート
を作成します。[ラベル]画面を使用すると、市販のラベルを選択したり、行および列に独自のレイアウトを定義
して、複数列形式のレポートを作成できます。
2.2.4 OLAP
OLAP レポート作成ウィザードでは、データをグリッドオブジェクトとして表示するレポートを作成します。OLAP
レポート作成ウィザードは、クロスタブ レポート作成ウィザードと似ている点もありますが、OLAP データ ソース
を操作する必要があるので、外観も多少異なります。最初に、OLAP データの保存場所を指定し、グリッドに入
れるディメンションを選択します。次に、レポート データをフィルタし、グリッド オブジェクトのスタイルを選択しま
す。グリッド オブジェクトのスタイルもカスタマイズできます。最後に、必要に応じてグリッドのラベルを定義した
り、チャートを挿入します。
2.3 クイック スタート - 初心者ユーザー
このチュートリアルは、初めてのユーザーが不安を感じることなくレポートを作成できるように作成されています。
このチュートリアルでは、顧客リストを作成しながらプログラムを習得していきます。顧客リストは、最も基本的な
ビジネス レポートです。通常、顧客名、都市名、地域名、連絡先などの情報が含まれています。
最初は、基本的な概念を理解します。データベースの呼び出し、いくつかのフィールドの配置、選択したレコー
ドの挿入などです。その他にも、次の操作を習得します。
25
•
データベース フィールドを挿入および移動する。
•
タイトルを追加および書式設定する。
•
[プレビュー]タブにレポートを表示して細かい調整を行う。
•
選択エキスパートを使用して、必要なデータだけをレポートに入れる。
•
オブジェクトを移動する。
•
データのグループ化および並べ替え
•
ピクチャを挿入する。
•
レポートを印刷する。
2012-05-10
クイック スタート
2.3.1 開始する前に
このチュートリアルは、ユーザーが Microsoft Windows に慣れていて、Windows 環境で使用されている従来の
用語や操作レポート エキスパート手順を理解していることを前提としています。Windows の使用経験が少ない
場合は、スクロールやクリックなどの基本的な操作手順にとまどいを感じるかもしれません。これらの操作手順
については、Microsoft Windows に付属するマニュアルを参照してください。
Crystal Reports の環境に慣れていない場合は、205 ページの 「書式設定」を参照して、グリッドを使った作業、
ガイドラインの使い方、および書式設定の作業についての説明をお読みください。
2.3.2 レポートの作成
1 開始ページが Crystal Reportsにまだ表示されていない場合は、[開始ページ]タブをクリックします。
2 新しい領域で [データソースから] をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
注
データベース ファイル、SQL/ODBC データ ソース、ビジネス ビュー、およびその他のさまざまなデータ
ソースに基づいてレポートを作成できます。
2.3.2.1 使用するデータベースの選択
次の手順はデータベースの選択です。このチュートリアルでは、xtreme.mdb サンプルデータベースを使用しま
す。
xtreme.mdb ファイルは、SAP Business Objects サポート Web サイトにあります。
xtreme.mdb を、チュートリアルでアクセスできるマシン上の場所にコピーします。
2.3.2.1.1 データベースを選択する
1 [データベース エキスパート]ダイアログ ボックスで、[接続の新規作成]フォルダを展開し、[データベース
ファイル]フォルダを展開します。次に、Xtreme.mdb サンプル データベースを探します。
注
•
•
26
Xtreme データベースを見つけるには、[開く]ダイアログ ボックスを使用する必要があります。
データベースを選択した後、データベースとサーバー プロパティを参照するには、[データベース エキ
スパート]でデータベース ノードを右クリックし、ショートカット メニューから[プロパティ]を選択します。
2012-05-10
クイック スタート
2 Xtreme.mdb 接続の[テーブル]ノードを展開して、テーブルの一覧を参照します。
このチュートリアルでは、顧客だけを取り扱うので、Customer テーブルだけを選択します。
3 Customer を強調表示し、右矢印(>)をクリックして[選択したテーブル]リストに追加し、[OK]をクリックします。
Report Designer の[デザイン]タブが表示されます。
4
[標準]ツールバーの[フィールド エクスプローラ]をクリックします。
[フィールド エクスプローラ]ダイアログ ボックスが表示されます。
注
最後に Crystal Reports を使用したときの表示によって、[フィールド エクスプローラ]ダイアログ ボックスは、
固定されている場合も、移動可能になっている場合もあります。エクスプローラのドッキングに関する情報
は、93 ページの 「エクスプローラの使用とドッキング」を参照してください。
27
2012-05-10
クイック スタート
2.3.2.2 レポート セクション
[デザイン]タブは、5 つのセクションに分かれています。レポート ヘッダー(RH)、ページ ヘッダー(PH)、詳細
(D)、レポート フッター(RF)、およびページ フッター(PF)の各セクションです。作業しているレポート セクションが
わからない場合は、レポートの左側の影付きの領域を見ます。ここには、常にセクション名またはセクションの省
略形が表示されます。詳細については、64 ページの 「[デザイン]タブ」を参照してください。
[オプション]ダイアログ ボックスの[デザイン ビュー]領域にある[短いセクション名]チェック ボックスがオンになっ
ている場合は、レポート ヘッダー、ページ ヘッダー、詳細、レポート フッター、およびページ フッター セクショ
ンの名前が、それぞれ RH、PH、D、RF、および PF と表示されます。このチェック ボックスがオフになっている
場合は、次の手順に従ってください。
2.3.2.3 フィールドの挿入
[フィールド エクスプローラ]ダイアログ ボックスを使用して、新しいレポートを作成するときにデータベース フィー
ルドを挿入できます。
このダイアログ ボックスは、閉じるまで画面に表示されたままになります。利用できるすべてのテーブルがこの
ダイアログ ボックスに一覧表示されます。
これで、オブジェクトを配置する準備が整いました。"顧客名"フィールドを挿入します。
2.3.2.3.1 フィールドを挿入する
1 [フィールド エクスプローラ]ダイアログ ボックスの[データベース フィールド]ノードを展開し、テーブルを展
開します。
2 フィールド名をクリックして強調表示します。
フィールド名を強調表示し、フィールドを右クリックして表示されるショートカット メニューから[データの参照]
を選択すると、そのフィールドの値、タイプ、およびサイズを確認できます。
28
2012-05-10
クイック スタート
3 "顧客名"フィールドをクリックし、それをレポートの[詳細]セクションにドラッグします。
フィールドをレポートにドラッグすると、矢印ポインタと一緒にオブジェクト フレームが表示されます。
•
オブジェクト フレームは、配置しようとしている選択したオブジェクトを示しています。
•
オブジェクト フレームのサイズは、選択したフィールドのサイズからおよその大きさが計算されます。
4 詳細セクションで、できる限り左側にオブジェクト フレームを移動します。
フィールドを左側に移動しすぎると、矢印ポインタが中止ポインタに変わり、そこにフィールドを移動できな
いことが示されます。オブジェクトは、ページ余白の外に配置できないことに注意してください。
[デザイン]タブは、次のようになります。
2.3.2.4 フィールドについて
先に進む前に、先ほど詳細セクションに配置したフィールドを見てください。
29
•
オブジェクト フレームは、レポートの出力時、ボックスを配置した位置にフィールド値が表示されることを示
します。
•
[オプション]ダイアログ ボックスの[レイアウト]タブにある[フィールド名の表示]チェック ボックがオフになって
いる場合は、データベース フィールドにテキスト文字列が含まれていることを示す X がオブジェクト フレー
ムに示されます。他のデータ型では、異なる文字表現となります。たとえば、通貨型は、\55,555 で表されま
す。
•
レポートにフィールド名が表示されていない場合、オブジェクト フレームの X の数は、データの幅を示しま
す。これは、データベースで定義されたフィールドの最大文字数です。レポートにフィールド名が表示され
ているかどうかに関係なく、オブジェクト フレームの幅は、フィールドの幅(印刷のためにフィールドに割り当
2012-05-10
クイック スタート
てられた領域の大きさ)です。初めに、フィールド用に選択されたフォントを使用して、フィールドを最大文字
数まで表示するために必要な幅が設定されます。フィールドのサイズを変更すると、この幅を変更できます。
•
文字または X のサイズは、フィールドの文字用に選択されたフォントのサイズです。
•
文字または X の表示に使用されるフォントとスタイル(太字や下線など)は、フィールドの文字用に選択され
たフォントとスタイルです。このチュートリアルの後半では、これらのプロパティの変更方法について学習し
ます。
•
行間は、フィールドの文字用に選択されたフォント サイズに合わせて調整されます。
2.3.2.5 追加フィールドの追加
次に、2 つの追加フィールドをレポートに挿入します。ただし、ここでは、Ctrlキーを押しながらクリックして、す
べてのフィールドを同時に追加します。
2.3.2.5.1 追加フィールドを追加する
1 [フィールド エクスプローラ]ダイアログ ボックスの[市]フィールドを強調表示し、Ctrl キーを押して、[国]フィー
ルドを強調表示します。Ctrl キーを離します。
フィールド リストをスクロールすると、両方のフィールドが選択されているのがわかります。
注
Ctrl キーを押しながらクリックすると、隣接しない複数のフィールドを選択することができます。Shift キーを
押しながらクリックすると、リスト内で連続する複数のフィールドを選択することができます。
2 フィールドをドラッグして配置します。
ポインタをレポートに移動すると、矢印ポインタと一緒にオブジェクト フレームが表示されます。
3 [顧客名]フィールドの右にフィールドを配置します。
両方のフィールドが、[フィールド エクスプローラ]ダイアログ ボックス内の表示と同じ順序でレポートの[詳
細]セクションに表示されます。
2.3.2.6 フィールドの選択
フィールドを選択すると、上下、左右にハンドル(ボックス)の付いたオブジェクト フレームが表示されます。これ
らのハンドルは、そのフィールドが選択され、操作対象であることを示します。フォントの変更やフィールドの移
動など、フィールドに対する操作を実行するには、まずフィールドを選択する必要があります。
•
30
オブジェクト フレームの中にポインタを置き、一度クリックします。ハンドルが表示され、オブジェクトが選択
されたことが示されます。
2012-05-10
クイック スタート
•
オブジェクト フレームの外にポインタを移動し、ウィンドウの空いている部分でクリックすると、ハンドルが表
示されなくなります。
これだけの操作で、オブジェクトを選択または選択解除できます。
2.3.2.7 フィールドのサイズ変更
フィールドのサイズを変更するには、次の手順を行います。
1
2
3
4
[詳細]セクションの"顧客名"フィールドをクリックして選択します。
Ctrlキーを押しながら、フィールド見出しをクリックし、両方のオブジェクトを選択します。
ポインタがサイズ変更ポインタに変わるまで、フィールドの右端のサイズ変更ハンドル上に移動します。
フィールドのサイズを右側に伸ばし、5 cm ほどの幅にします。
2.3.2.8 作業の確認
ここで、配置された 3 つのフィールドを確認してみます。
1
[標準]ツールバーの[印刷プレビュー]ボタンをクリックし、[プレビュー]タブを表示します。
画面は、次のようになります。
31
2012-05-10
クイック スタート
注
初めてレポートをプレビューする場合は、[標準]ツールバーの[印刷プレビュー]ボタンをクリックして、[プレ
ビュー]タブを表示する必要があります。[プレビュー]タブは、[デザイン]タブの右側に表示されます。それぞ
れのタブをクリックすると、デザインとプレビューのウィンドウを切り替えることができます。
これで、顧客レポートの原形ができました。ほかにも追加するフィールドがいくつかあります。
2 レポートを確認したら、[デザイン]タブをクリックして戻ります。
2.3.2.9 フィールド名の表示
フィールドのピクチャ(オブジェクト フレーム内に表示される代替文字)については既に説明しましたが、[デザイ
ン]タブでフィールド名を表示することもできます。
2.3.2.9.1 フィールド名を表示する
1 [ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログ ボックスの[レイアウト]タブが表示されます。
2 [フィールド名を表示]をオンにして、[OK]をクリックします。
これで、[デザイン]タブには、代替文字(X、$、# など)ではなく実際のフィールド名が表示されます。
2.3.2.10 テキスト オブジェクトでのデータベース フィールドの組み合わせ
"担当者(姓)"と"担当者(名)"フィールドを個別のオブジェクトとして追加する代わりに、両方のフィールドを 1 つ
のテキスト オブジェクトに挿入してみます。これにより、1 つのオブジェクトを書式変更するだけで、2 つのフィー
ルドを管理できます。テキスト オブジェクトにフィールドを挿入すると、フィールドは自動的にそれぞれのデータ
の幅に調節されます。つまり、2 つのオブジェクト間に余分なスペースができません。これはとても重要です。な
ぜなら、フィールドのサイズが固定されていても、フィールド内のデータのサイズはまちまちで、そこで生じる不
要なスペースを削除してくれるからです。
2.3.2.10.1 テキスト オブジェクト内でフィールドを組み合わせるには
1
[挿入ツール]ツールバーの[テキスト オブジェクトの挿入]ボタンをクリックします。レポートにポインタを
移動するとオブジェクト フレームがポインタの横に表示されます。
2 [詳細]セクションの右側にオブジェクトを挿入します。
オブジェクトをドラッグしていくと、[デザイン]タブは、必要に応じて自動的に右側にスクロールします。クリッ
クしてオブジェクトを配置すると、テキスト オブジェクトが表示されます。また、[デザイン]タブの水平ルーラー
は、テキスト オブジェクトの編集に使用するルーラーとタブ セレクタに変わります。レポートの空いた領域を
クリックすると、[デザイン]タブの標準のルーラーに変わります。
32
2012-05-10
クイック スタート
3 サイズを変更するには、テキスト オブジェクトを一度クリックして選択します。オブジェクトのすべての側面に
ハンドルが表示されます。
4 テキスト オブジェクトの右側のサイズ変更ハンドルの上にポインタを移動し、3 cm ほど幅を広げます。右側
にスクロールしてからサイズ変更する必要があるかもしれません。
5 テキストを編集するには、テキスト オブジェクトの内側をダブルクリックします。テキスト ボックス内の挿入位
置でカーソルが点滅していることが確認できます。
6 [フィールド エクスプローラ]ダイアログ ボックスで、"担当者(姓)"フィールドを選択します。タイトル バーをド
ラッグすると、[フィールド エクスプローラ]ダイアログ ボックスを移動できます。
7 フィールドをテキスト オブジェクトまでドラッグします。
8 ポインタがドラッグ アンド ドロップ ポインタに変わるまで、テキスト オブジェクトの上にポインタを移動しま
す。
9 テキスト オブジェクト内のフィールドを配置する場所でマウス ボタンを離します。これで、カーソルがテキス
ト オブジェクト内の"担当者(姓)"フィールドの後に表示されます。
10 "担当者(姓)"フィールドの後に、カンマとスペースを入力します。
11 [フィールド エクスプローラ]ダイアログ ボックスで "担当者(名)"フィールドを強調表示します。
12 フィールドをテキスト オブジェクトまでドラッグします。
13 ポインタがドラッグ アンド ドロップ ポインタに変わるまで、テキスト オブジェクトの上にポインタを移動しま
す。入力したカンマとスペースの右側にポインタを移動し、マウス ボタンを離します。スペースの右側にフィー
ルドが挿入されます。
14 [プレビュー]タブをクリックし、配置したフィールドを確認します。
レポートは、次のようになります。
2.3.2.11 概要情報の追加
33
2012-05-10
クイック スタート
次に、レポートに概要情報を加えます。概要情報には、レポートの作成者、タイトル、表題、およびレポートに関
するキーワードやコメントを入れることができます。概要情報を追加すると、ユーザーはレポートに関する情報
をすぐに知ることができます。
2.3.2.11.1 概要情報を追加する
1 [ファイル]メニューの[プロパティ]コマンドを選択します。
[ドキュメント プロパティ]ダイアログ ボックスの[概要]タブが表示されます。
2 テキスト ボックスにレポートに関する情報を入力します。[タイトル]ボックスに、「顧客リスト」と入力します。次
のセクションではこの情報を使用します。
3 終了したら、[OK]をクリックします。
2.3.2.12 タイトルの追加
前に見たように、レポートにタイトルがないと不完全な感じがします。テキスト オブジェクトを使ってタイトルを追
加することもできますが、[ドキュメント プロパティ]ダイアログ ボックスの[タイトル]ボックスから直接タイトル情報
を取得して追加することもできます。
2.3.2.12.1 タイトルを追加する
1
2
3
4
[デザイン]タブをクリックします。
フィールド エクスプローラを下にスクロールして[特殊フィールド]を表示し、展開します。
[レポート タイトル]を選択します。
レポート上にポインタをドラッグします。オブジェクト フレームが表示されます。
5 レポートのページ ヘッダー(PH)セクションの左上隅にオブジェクト フレームを置き、マウス ボタンを離して
オブジェクトを配置します。
34
2012-05-10
クイック スタート
6 [プレビュー]タブをクリックするか、[最新表示]をクリックして、変更を確認します。
これで、[ドキュメント プロパティ]ダイアログ ボックスの[タイトル]ボックスで入力したタイトルが、レポート タイトル
オブジェクトに表示されます。
2.3.2.13 オブジェクトの書式設定
次に、レポート タイトルの書式を設定します。今回は、そのまま [プレビュー] タブで操作を行います。これで、
実際に表示されるタイトルの書式を見ながら作業できます。
2.3.2.13.1 オブジェクトを書式設定する
1 タイトルを中央揃えするには、まず、レポートのデータと同じ幅になるように、[タイトル] フィールドのボックス
を広げます。それには、初めにオブジェクトをクリックして選択します。
2 ポインタがサイズ変更ポインタに変わるまで、オブジェクトの右端にポインタを移動します。フィールドのボッ
クスの右端を、"担当者名" フィールドオブジェクトの右端と同じくらいの位置までドラッグします。
レポートの左から右まで広がった大きなフィールドができます。
3
4
5
6
7
8
9
レポートタイトルオブジェクトを選択したまま、[書式設定] ツールバーの [中央揃え] ボタンをクリックし
ます。タイトルがオブジェクトの中心に移動します。
オブジェクトを右クリックし、ショートカット メニューから [フィールドの書式] を選択します。
書式エディタが表示されたら、[フォント] タブをクリックします。
[スタイル] リスト ボックスから [太字] を、また [サイズ] リスト ボックスから [16] ポイント (または使用している
フォントに最適なサイズ) を選択して、レポート タイトルのフォント サイズを大きくし、また太字に設定します。
[色] パレットから [栗色] を選択し、テキストの色を変更します。[サンプル] ボックスにテキストの状態が表示
されます。
終了したら、[OK] をクリックします。
タイトルがボックスにうまく収まるように、レポート タイトル オブジェクトを垂直方向にサイズ変更します。
これで、タイトルが設定され、タイトルがレポートで際立って表示されます。
35
2012-05-10
クイック スタート
2.3.2.14 フィールド見出しの追加
上で見たように、担当者名のフィールドだけは見出しがありません。ここでは、見出しを作成します。
2.3.2.14.1 フィールド見出しを追加する
1
[挿入ツール]ツールバーの[テキスト オブジェクトの挿入]ボタンをクリックします。
2 "担当者名"フィールドのすぐ上にある[ページ ヘッダー]セクションにテキスト オブジェクトを挿入します。
3
[書式設定]ツールバーの[下線]をクリックしてから、テキスト オブジェクトに「担当者名」と入力します。
4 テキスト オブジェクトの外でカーソルをクリックします。
これで、担当者名のフィールドに、他のフィールドと同じようなフィールド見出しができました。
2.3.2.15 レポートの保存
1
[標準]ツールバーの[保存]ボタンをクリックし、作業を保存します。
今回初めてレポートを保存するので、[名前を付けて保存]ダイアログ ボックスが表示され、デフォルトでは
ファイルが保存されるディレクトリが表示されます。前に定義したレポート タイトルに基づいたデフォルト ファ
イル名も表示されています。
2 [ファイル名]ボックスに「Custlist.rpt」と入力し、[保存]をクリックします。
これで、デフォルトのディレクトリまたは別に選択したディレクトリにレポートが保存されます。
36
2012-05-10
クイック スタート
3 [プレビュー]タブをクリックしてレポートを表示します。
レポートは、次のようになります。
正常に終了しました。基本的な顧客リストのレポートが完成しました。残りのチュートリアルでは、このレポートに
より詳細な設定を行います。
2.3.3 レコードの選択
Crystal Reports では、レポートに入れるレコードを限定できます。この項では、次のことを習得します。
•
レポートに入れるレコードを選択する
•
選択条件も入れてレポートを保存する
たとえば、米国だけの顧客を一覧できる顧客リストが必要とします。サンプル データには、米国と世界各国の
顧客のレコードがあります。選択エキスパートを使用すると、このようなリストから簡単に選択を行うことができま
す。
2.3.3.1 選択条件の入力
レポートをスクロールすると、世界各国の顧客情報が入っていることがわかります。ここでは、表示される国を米
国に限定します。
2.3.3.1.1 選択条件を入力する
1 [デザイン]タブをクリックし、デザイン モードに戻ります。
2 レポートの何もない領域をクリックし、どのフィールドも選択されていない状態にします。
37
2012-05-10
クイック スタート
3
[エキスパート ツール]ツールバーの[選択エキスパート]をクリックします。
[フィールドの選択]ダイアログ ボックスが表示されます。
このダイアログ ボックスでは、まず、[レポート フィールド]の下に、現在レポートに含まれているすべての
フィールドがリストされます。次に、データベース フィールド セクションのそれぞれのテーブルから利用でき
るすべてのフィールドがリストされます。
4 "国"フィールドを基準にしてレコードを選択するので、[フィールド]リスト ボックスから[国]を選択し、[OK]を
クリックします。
選択エキスパートが表示されます。
次の文を完成させる場合のことを考えてみます。
Select all records where a customer's country is
レポートのレコードを選択するときに使用する条件を指定して、上のような文を完成させます。現在の条件
は[すべての値]で、何も選択条件がありません。
5 演算子のボックスの矢印をクリックすると、他のオプションが表示されます。国が USA のレコードだけが必
要なので、[と等しい値]の条件を選択します。
左側に新しいボックスが表示されます。ダイアログ ボックスは、次のような意味になります。
Select all records where a customer's country is equal to
この文を完成させるのに必要なものは、値"米国"だけになりました。
38
2012-05-10
クイック スタート
6 リスト ボックスの矢印をクリックします。国名のリストが表示されます。リストから"USA"を選択します。
これで文が完成します。
Select all records where a customer's country is equal to USA
7 [OK]をクリックし、[デザイン]タブに戻ります。
8 [プレビュー]タブをクリックし、結果を確認します。
[レコード選択式の変更]ダイアログ ボックスが表示されます。
9 [データの最新表示]をクリックします。
10 [ファイル]メニューの[名前を付けて保存]を選択して、レポート名を USA.RPT とし、元のレポートを上書きし
ないでこのレポートを保存します。
正常に終了しました。レポートを書式設定し、選択条件も追加しました。また、データの操作についても習得し
ました。ここまでの学習で、効果的なレポートを作成するアイデアが浮かんでくると思います。
2.3.3.2 フィールドの削除
現在、レポートには米国だけのレコードが含まれているので、レポートの本体に"国"フィールドを表示する必要
はありません。先に進む前に、これを削除します。
2.3.3.2.1 フィールドを削除する
1 [国]フィールドと[国]列見出しを Ctrl キーを押しながら順にクリックして選択します。
2 キーボードの Del キーを押します。
これで、レポートからフィールドが削除されます。
レポートは、次のようになります。
39
2012-05-10
クイック スタート
2.3.3.3 フィールドの間隔の調整
"国"フィールドを削除すると、"市"フィールドと"担当者名"フィールド間に余分なスペースができます。スペー
スをそのままにしておくこともできますが、列をバランスよく配置することで、より読みやすいページになります。
2.3.3.3.1 フィールドの間隔を調整する
1 [デザイン]タブに戻ります。[担当者名]フィールドとその見出しを、Ctrlキーを押しながら順にクリックして選
択します。
2 強調表示した 2 つのテキスト オブジェクトの上にポインタを置き、"市"フィールドの近くまでドラッグします。
3 [プレビュー]タブをクリックし、もう一度作業を確認します。
レポートは、次のようになります。
フィールド間のバランスがよくなりましたが、レポート タイトルが中央からずれて見えます。
4 レポート タイトル オブジェクトをクリックして選択します。
5 ポインタがサイズ変更ポインタに変わるまで、オブジェクトの右ハンドル上にポインタを移動します。オブジェ
クト フレームの右端を、"担当者名"フィールド オブジェクトの右端と同じくらいの位置までドラッグします。
オブジェクトのサイズに基づき、レポート タイトルが自動的に中央に配置されます。
2.3.4 グループ化と並べ替え
レポート内のデータは、さまざまな方法でグループ化や並べ替えができます。並べ替えとグループ化のツール
を使用すると、レポートのカスタマイズにたいへん柔軟に対応できます。
40
2012-05-10
クイック スタート
2.3.4.1 レポートのグループ化
ほとんどのレポートでは、読みやすくまた理解しやすくなるように、データをグループに分類する必要がありま
す。Crystal Reports では、この分類を簡単に行うことができます。ここでの顧客リストでは、顧客を地域ごとにグ
ループ化し、グループごとに顧客をアルファベット順に並べ替えます。
2.3.4.1.1 レポートをグループ化する
1
[デザイン]タブで、[挿入ツール]ツールバーの[グループの挿入]ボタンをクリックします。
[グループの挿入]ダイアログ ボックスが表示されます。
2 初めのドロップダウン リストから Customer テーブルの"地域"フィールドを選択します。
これで、"地域"フィールドに同じ値を持つレコードがすべて取得され、グループごとにレポートに配置され
ます。
3 2 番目のドロップダウン リストから[昇順]を選択します。
各地域のグループがアルファベットの昇順で表示されます。
4 [OK]をクリックします。
[デザイン]タブに GH1(グループ ヘッダー #1)と GF1(グループ フッター #1)の 2 つの新しいセクションが表
示されていることに注目してください。これは、レポートがどのようにグループ化されているかを示していま
す。
5 [プレビュー]タブをクリックし、レポートがどのように表示されるかを確認します。
41
2012-05-10
クイック スタート
6
グループ ツリーが表示されていない場合は、[標準]ツールバーの[グループ ツリーの表示/非表示]ボ
タンをクリックし、レポートに含まれるグループを表示します。
グループ ツリーのグループ名をクリックすると、任意のグループを表示できます。たとえば、テキサス州の顧客
グループを表示するには、グループ ツリーの[TX]をクリックします。すると、TX グループにジャンプし、[プレ
ビュー]タブにそのグループが表示されます。グループ ツリーを利用すると、レポートをスクロールしてグループ
を探さなくても、特定のグループに即座にジャンプできます。グループ ツリーの詳細については、69 ページの
「グループツリー」を参照してください。
注
多くのレポートでは、集計、小計、および総計を表示しています。たとえば、顧客リストではなく、売上レポートを
作成する場合は、地域ごとの売上合計を計算します。詳細については、141 ページの 「並べ替え、グループ
化、集計」を参照してください。
2.3.4.2 動的グループ ヘッダーの概要
グループを挿入すると、グループ名フィールドが自動的にレポートの[グループ ヘッダー]セクションに挿入され
ます。グループ名フィールドには、現在のグループ名が表示されます。たとえば、地域ごとにグループ化した場
合、レポートをプレビューすると、CA(カリフォルニア州)グループのグループ ヘッダーは"CA"になります。
グループ名フィールドは、グループのレコードより目立つように自動的に書式設定されます。
2.3.4.3 レコードの並べ替え
一般的な顧客リスト レポートでは、アルファベット順に顧客名をリストしています。ここでは、各地域ごとに顧客
名をアルファベット順に並べ替えます。
42
2012-05-10
クイック スタート
2.3.4.3.1 レコードを並べ替えるには
1
[プレビュー]タブで[エキスパート ツール]ツールバーの[レコード並べ替えエキスパート]ボタンをクリッ
クします。
レコード並べ替えエキスパートが表示されます。
[利用可能なフィールド]リストに、レポートに現在含まれているすべてのフィールドとデータ ソース内のすべ
てのフィールドが表示されます。これらのフィールドを選択して並べ替えを行います。
[並べ替えフィールド]リスト ボックスには、既にレポートで並べ替えの基準になっているフィールドが表示さ
れます。"地域"フィールドが既に並べ替えの基準になっているので、これから行う並べ替えは、レポート全
体ではなく、各地域の中での並べ替えになります。
2 "顧客名"フィールドを強調表示し、右矢印(>)をクリックして、[並べ替えフィールド]ボックスに追加します。
3 [並べ替え方向]の[昇順]オプションを選択し、[OK]をクリックします。レポートは、次のようになります。
各グループ内のレコードがアルファベット順に並べ替えられています。
43
2012-05-10
クイック スタート
2.3.5 レポートの完成
レポートの完成まであと 1 歩です。レポートの先頭ページに会社のロゴを追加する必要があります。
2.3.5.1 会社のロゴの挿入
ここでは、レポートの先頭ページの上部に会社のロゴを挿入します。
2.3.5.1.1 会社のロゴを挿入する
1
[デザイン]タブで、[挿入ツール]ツールバーの[ピクチャの挿入]ボタンをクリックします。
[ファイルを開く]ダイアログ ボックスが表示されます。
2 ビットマップ ロゴ(.bmp)を選択し、[開く]をクリックします。
レポート上にマウス ポインタを移動すると、オブジェクト フレームが表示されます。オブジェクト フレームは、
配置する会社のロゴを表しています。
3 レポートのレポート ヘッダー(RH)セクションの左上隅に、オブジェクト フレームを置き、一度クリックしてオブ
ジェクトを配置します。
レポート ヘッダー(RH)セクションにロゴを配置し、レポートの最初のページだけにロゴが出力されることを確
認します。
注
グラフィックを配置する場合、レポート ヘッダー(RH)セクションには十分なスペースがないように見えます
が、セクションは、ピクチャがうまく収まるように自動的に広がります。
4 [プレビュー]タブをクリックしてレポートを表示します。
最終的なレポートは次のようになります。ロゴはステップ 2 で選択したものです。
44
2012-05-10
クイック スタート
5 [標準]ツールバーの[保存]ボタンをクリックし、レポートを保存します。
これで、初めてのレポートが完成しました。
2.4 クイック スタート - 上級ユーザ
Windows に十分慣れており、すぐにプログラムを使用する場合は、まず、次の手順に従ってレポートの設定を
行います。
Windows にまだ慣れていない場合は、25 ページの 「クイック スタート - 初心者ユーザー」を参照してくださ
い。
2.4.1 レポートの種類とデータ ソースの選択
1 Windows で、[スタート]>[プログラム]>[BusinessObjects XI Release 3]>[Crystal Reports]の順にクリックし、
[Crystal Reports 2008]を選択します。
2 [空のレポート]をクリックして[データベース エキスパート]ダイアログ ボックスを開きます。
空のレポートを作成する方法として、4 つのレポート作成ウィザードのうちのいずれかを選択することもでき
ます。
ウィザードを選択した後、さまざまなデータ ソースについてレポートを作成できます。
3 データベース エキスパートの内容を参照して、レポートで使用するデータ ソースを見つけます。
4 レポートで使用するテーブルを選択し、右矢印(>)をクリックして[選択したテーブル]リストに追加します。
5 使用するテーブルをすべて追加したら、[データベース エキスパート]の[OK]をクリックします。
45
2012-05-10
クイック スタート
注
[データベース エキスパート]ダイアログ ボックスでテーブルを 2 つ以上選択すると、[リンク]タブが表示され
ます。リンクの詳細については、74 ページの 「複数のテーブルのリンク」を参照してください。
レポート ヘッダー、ページ ヘッダー、詳細、ページ フッター、およびレポート フッターの各領域を持つ[デ
ザイン]タブが表示されます。レポートは、これらの各領域にアイテムを挿入および書式設定することによっ
て作成されます。
注
レポートに使用するデータベース テーブルを新しく追加し、それらのレコードを対応させるには、[エキス
パート ツール]ツールバーの[データベース エキスパート]ボタンをクリックします。表示された[リンク]タブで、
テーブルを選択し、リンクを設定します。
2.4.2 [デザイン]タブでの作業
1
デフォルトのレポート領域には、それぞれ 1 つのセクションがあります。新たなセクションを追加するに
は、[エキスパート ツール]ツールバーの[セクション エキスパート]ボタンをクリックし、セクション エキスパー
トを使って必要なセクションを追加します。
領域にセクションを追加すると、セクション エキスパートでセクションを移動、マージ、および削除できます。
詳細については、224 ページの 「ガイドラインによるデザイン 」を参照してください。
2 グリッドの表示と非表示を切り換えるには、[ファイル]メニューの[オプション]を選択し、表示された[オプショ
ン]ダイアログ ボックスで[レイアウト]タブの[デザイン ビュー]領域にある[グリッド]チェック ボックスをオンまた
はオフにします。詳細については、223 ページの 「グリッドの使用」を参照してください。
3 グリッドを非表示にしたままガイドラインを使ってオブジェクトを整列するには、水平および垂直ルーラーの
任意の場所をクリックしてガイドラインを表示します。
その他、ガイドラインは次のように使用できます。
4
•
フィールドをドラッグしてガイドラインに合わせます。
•
ガイドラインの矢印をドラッグして、ガイドラインおよびそれに合わせられたオブジェクトを移動します。
•
ガイドラインの矢印をルーラーの外へドラッグすると、ガイドラインは削除されます。詳細については、224
ページの 「ガイドラインによるデザイン 」を参照してください。
[フィールド エクスプローラ]ダイアログ ボックスが非表示になっている場合は、[標準]ツールバーの
[フィールド エクスプローラ]ボタンをクリックします。
[データベース フィールド]ノードを展開して、フィールドのリストを表示します。このダイアログ ボックスは、複
数のフィールドを効率よく挿入するため、閉じるまで表示されたままになります。このダイアログ ボックスは、
必要に応じて位置やサイズを変更できます。詳細については、76 ページの 「データの配置」を参照してく
ださい。
5 レポートに表示するフィールドを選択します。
フィールドは、1 つずつ選択して配置できます。また、Shift キーを押しながらクリックすると、連続した複数
のフィールドを選択できます。さらに、Ctrl キーを押しながらクリックすると、複数の任意のフィールドをリスト
46
2012-05-10
クイック スタート
から選択できます。ドラッグ アンド ドロップも使用できます。詳細セクションの目的の場所にフィールドを配
置します。
複数のフィールドを挿入した場合、それらは[フィールドの挿入]ダイアログ ボックス内と同じ順序で表示され
ます。各フィールドの位置は長方形の枠で示されます。枠内の文字は、フィールドの内容がテキスト(XXX...)、
数値(555...)、通貨(\555...)、日付(99/12/31)、時刻(00:00:00)、日付/時刻(99/12/31 00:00:00)、論理値
(T/F)のどれであるかを示しています。
注
•
•
•
[オプション]ダイアログ ボックスの[レイアウト]タブで[フィールド名を表示]チェック ボックスを切り替えるこ
とにより、フィールド名とフィールド タイプを表示できます。
[オプション]ダイアログ ボックスの[レイアウト]タブで[詳細フィールドの見出しを挿入]チェック ボックスを
オフにしていない場合、自動的にページ ヘッダー セクションにフィールドのタイトルが挿入されます。
レポートに新たな詳細セクションを追加した場合、ページ ヘッダー セクションに挿入されるフィールド タ
イトルは、詳細 aセクションのフィールドだけです。詳細 aセクションは、レポートに初めからある詳細セク
ションです。
6 オブジェクトを配置したら、レポートの各セクションを調整します。それには、ルーラーの左側の領域を右ク
リックして表示されるショートカット メニューを使用します。
• 新たな線を追加してセクションを拡大するには、[線の挿入]コマンドを選択します。
•
セクション内のオブジェクトを自動的に垂直方向に整列するには、[行の整列]コマンドを選択します。
•
オブジェクトの上下にある不要なスペースを削除してセクションのサイズを調節するには、[セクションの
サイズに合わせる]コマンドを選択します。詳細については、250 ページの 「行間のスペースの使用」を
参照してください。
7 レポート タイトルを生成するには、最初に[ドキュメントのプロパティ]ダイアログ ボックスにタイトルを入力す
る必要があります。[ファイル]メニューの[プロパティ]コマンドを選択します。[ドキュメントのプロパティ]ダイア
ログ ボックスの[タイトル]テキスト ボックスにタイトルを入力し、[OK]をクリックします。
8 フィールド エクスプローラで[特殊フィールド]の[レポート タイトル]を選択します。レポート上にマウス ポイン
タを移動すると、長方形の枠が表示され、フィールドを配置できます。レポート ヘッダー(RH)セクションをク
リックしてレポート タイトルを配置します。レポート タイトル フィールドには、[ドキュメント プロパティ]ダイアロ
グ ボックスの[タイトル]テキスト ボックスに入力したテキストが表示されます。詳細については、86 ページの
「タイトルページの追加」を参照してください。
9
印刷結果を表示するには、[標準]ツールバーの[印刷プレビュー]ボタンをクリックします。
レポートの作成時間を短縮するため、有効なレコードを一部分に限定してレポートをプレビューできます。
それには、[ファイル]メニューの[出力]から[サンプルのプレビュー]コマンドを選択します。詳細については、
68 ページの 「[プレビュー]タブ」を参照してください。
どちらの場合でも、[プレビュー]タブが表示されます。[プレビュー]タブでは、実際のレポート データを見な
がらレポートを細かく調整できます。[プレビュー]タブを閉じ、[デザイン]タブで作業を続けることもできます。
2.4.3 その他のレポート機能の使い方
47
2012-05-10
クイック スタート
1 フィールドの書式設定、フィールドの位置や幅の変更、または集計の挿入を行う場合は、まず目的のフィー
ルドを選択します。選択したフィールドの上下左右にハンドルが表示されます。
• フィールドの位置を変更するには、マウスを使って新しい位置までフィールドの枠をドラッグします。
•
フィールドの幅を変更するには、マウスを使って右または左のハンドルをドラッグします。
•
書式設定または集計を行うフィールドを右クリックします。ショートカット メニューには、フィールドの書式
設定や集計に関するコマンドがリストされます。
ヒント
フォントおよび書式設定オプションの多くは、[書式設定]ツールバーから利用できます。
注
特定の条件を満たす場合にだけ書式を適用するには、書式エディタ内の各書式プロパティの横にあ
る条件式ボタンをクリックし、目的の条件を定義する式を作成します。詳細については、253 ページの 「条件
付き書式設定」を参照してください。
2 データの計算や比較を行うための式を作成するには、フィールド エクスプローラの [式フィールド] をクリッ
クします。
注
また、[エキスパート ツール]ツールバーの式ワークショップをクリックして、式、カスタム関数、SQL 式な
どを使用することもできます。
3
[新規作成]をクリックします。[式名]ダイアログ ボックスが表示されます。式の名前を入力して [OK] を
クリックします。式ワークショップは、式エディタがアクティブな状態で表示されます。
4
式エディタに式を入力します。フィールド、演算子、および関数をそれぞれのリスト ボックスから選択
して入力するか、直接入力します。[確認]をクリックすると、作成した式の構文に間違いがないかどうかを確
認できます。
5 式の作成が終わったら、[保存して閉じる]をクリックして[フィールド エクスプローラ]ダイアログ ボックスに戻
ります。
6
データベース フィールドとまったく同様に、[レポートに挿入]をクリックして式を配置します。詳細につ
いては、411 ページの 「式の使用」を参照してください。
7
サブレポート(レポート内に含まれるレポート)を挿入するには、[挿入ツール]ツールバーの[サブレポー
トの挿入]ボタンをクリックします。既存のレポートを選択してサブレポートとしてインポートするか、レポート作
成ウィザードを使って新しいレポートを作成・詳細については、488 ページの 「サブレポートの挿入」を参照
してください。
サブレポート内のレコードをプライマリ レポート内のレコードに対応させる場合は、[サブレポートの挿入]ダ
イアログ ボックスの[リンク]タブをクリックし、表示されたタブでリンクを設定します。
8
9
48
レポートにクロスタブ オブジェクトを挿入するには、[挿入ツール]ツールバーの[クロスタブの挿入]ボタ
ンをクリックし、表示されたクロスタブ エキスパートでクロスタブの設定を行います。詳細については、313
ページの 「クロスタブオブジェクト」を参照してください。
パラメータ フィールド(レポートのデータを取得する際に、値の入力を求められるフィールド)を作成す
るには、[標準]ツールバーの[フィールド エクスプローラ]ボタンをクリックし、表示された[フィールド エクスプ
ローラ]ダイアログ ボックスの[パラメー・[新規作成]をクリックしてパラメータ フィールドの設定を行います。作
2012-05-10
クイック スタート
成したパラメータ フィールドは、データベース フィールドと同様にレポートに挿入したり、式ワークショップ
の [フィールド] リストから選択したりできます。
パラメータ フィールドは、レポートのタイトルやラベルの入力を求めたり、選択式の選択条件の入力を求め
たり、式の中の並べ替えフィールドの指定を求めたり、さまざまな目的で使用できます。詳細については、
447 ページの 「パラメータフィールドとプロンプト」を参照してください。
10
チャートを追加するには、[挿入ツール]ツールバーの[チャートの挿入]ボタンをクリックします。詳細に
ついては、267 ページの 「チャート」を参照してください。
11
マップを追加するには、[挿入ツール]ツールバーの[マップの挿入]ボタンをクリックします。詳細につい
ては、283 ページの 「マップ」を参照してください。
12 オブジェクトを作成したアプリケーションのツールを使って REPORT Designer で編集できるスプレッドシー
ト、グラフィック、またはその他の OLE オブジェクトを挿入するには、[挿入]メニューの[OLE オブジェクト]を
選択します。299 ページの 「OLE」および304 ページの 「静的 OLE オブジェクトの操作」を参照してくださ
い。
13
レコードの並べ替え順序を変更するには、[エキスパート ツール]ツールバーの[レコード並べ替えエキ
スパート]ボタンをクリックします。レコード並べ替えエキスパートが表示されます。レポート データの並べ替
えに使用するフィールドと並べ替え方向を選択します。詳細については、143 ページの 「単一および複数
のフィールドの並べ替え」を参照してください。
14
レポートを特定のレコードに制限するには、最初に選択の基準となるフィールドをクリックし、次に[エキ
スパート ツール]ツールバーの[選択エキスパート]ボタンをクリックします。選択エキスパートが表示された
ら、レコードの選択条件を設定します。
15
レポートを印刷するには、[標準]ツールバーの[印刷]ボタンをクリックします。
これで完了です。このように、レポートは簡単に作成できます。
49
2012-05-10
レポートデザインの概念
レポートデザインの概念
3.1 レポートデザインの基礎
この節では、Crystal Reports でレポートを作成する方法を体系的に解説します。レポートの作成には、次の手
順があります。
•
レポートの内容を決定する
•
紙にプロトタイプを作成する
この項では、レポートの作成方法を概念的に理解することを目指します。
3.2 レポートの内容の決定
レポートの作成を開始する前に、レポートが提供する情報のアウトラインを描きます。レポートの概要を定める
にあたり、次のセクションを参考にしてください。
注
レポート (.rpt) ファイルには重要なビジネスデータが含まれている場合があります。以下の方法のいずれかを
使用して、ファイルへのアクセスを保護することをお勧めします。
• SAP BusinessObjects Business Intelligence プラットフォームサーバを使用してファイルを管理する。
• ファイルセキュリティを適用する。
• オペレーティングシステムレベルの暗号化を適用する。
3.2.1 目的の明確化
レポートの全体的な目的は何ですか?
レポートは管理ツールです。レポートの目的は、生きたデータを使って各個人が重要な要素や関連性を把握
し、有効な決断を下せるようにすることです。効果的なレポートを作成するには、適切なデータを論理的に提供
51
2012-05-10
レポートデザインの概念
しなくてはなりません。誤ったデータを提供したり、正しいデータでも無計画に提供すれば、処理の決定が遅
れたり、誤った判断を招くことになります。
レポートを作成するには、最初に、そのレポートの目的を数行の文書に書き出してみることをお勧めします。そ
れによって要点が見つかり、レポートに求められるものを把握できます。
次は、レポートの目的に関する文章の例です。
•
このレポートの目的は、各営業担当の月間および年間売上を示し、本年度と昨年度の実績を比較すること
である。また、会社の標準売上に満たない営業担当にはフラグを付ける。このレポートの目的は、在庫に対
して各商品の売上実績を示し、その実績に基づいて追加発注の量を決定することである。
•
このレポートの目的は、ボーリング チームの各メンバーの平均成績やハンディキャップを計算することであ
る。
•
レポートを作成する前に目的を明確にしておくことは、すべての過程の中でも重要なステップです。
明確な目的のないレポートは、議題のない会議のようなもので、まとまりがなく成果もないものになります。
レポートを参照するのはだれですか?
1 つのレポートでも大勢の人が目を通します。たとえば、詳細な企業全体の売上レポートは、営業担当者、地
域営業部長、本社営業部長、最高責任者などによって読まれます。
それぞれの人々は、立場によって違った局面からレポートを参照します。
•
営業担当者は、各自の営業成績を評価し、地域内の他の営業担当と比較します。
•
地域営業部長は、地域の営業担当者を評価し、その地域の成績を他の地域と比較します。
•
本社営業部長は、地域営業部長の成績を評価し、全体の売上を現在の売上予測と比較します。
•
最高責任者は、マーケティング担当の副社長と営業部門全体の成績を評価し、増産の必要性や倉庫立地
などの計画を立てます。
参照するレポートの内容は、人によって異なるため、それぞれの個人に必要な情報が含まれるレポートを作成
することが重要です。
3.2.2 レポートのレイアウトの決定
レポートのタイトルはどうしますか?
レポートに仮のタイトルを付けます。プロトタイプ レポートの作成の際は、この仮のタイトルを使用し、後でタイト
ルを変更します。
ヘッダーとフッターに必要な情報は何ですか?
印刷日、レポートの作成者についての情報、レポートの目的についての説明、カバーしているデータの範囲な
どを入れます。このような情報を入れる場合は、それを書き出して、プロトタイプを作成する際に使用できるよう
にします。
情報は、使用の目的に応じてさまざまなソースから入手できます。
52
2012-05-10
レポートデザインの概念
•
レポートの作成者に関する情報は、データベース テーブルの個人のデータ フィールドから取得できます。
データベース テーブルから取得する場合、どのテーブル、またはどのテーブルを組み合わせて取得します
か。
•
テキストはテキスト オブジェクトとして作成でき、レポートの任意の位置に配置できます。
•
Crystal Reports は、印刷日やページ番号などの情報を生成できます。
3.2.3 データの決定
レポートで何のデータを使用しますか?
レポートの基になるデータベースの種類を知っていますか。データ ファイル、SQL/ODBC、または別のデータ
ソースからレポートを作成しますか。
使用するデータベースの種類が不明な場合は、社内の関係者にたずねてデータベースの種類と位置を確認
し、必要に応じてそのデータベースにアクセスできるように設定します。詳細については、 『Crystal Reports オ
ンライン ヘルプ 』の「データ ソースへのアクセス」を参照してください。
データを熟知し、必要な情報を見つけられますか。得意先の名前を検索するときに、データベース テーブル
でフィールドを見つけられますか。
見つけられない場合は、データのことがよくわかるようになるまで、MIS 専門家、データベース管理者、同僚な
どの手助けが必要になります。
レポートの本体には具体的にどのようなデータを表示しますか?
レポートの本体には、レポートの目的を満たすために必要なすべてのデータを入れる必要があります。また、対
象とするさまざまなユーザーに必要なデータをすべて入れる必要があります。
このステップでは、利用可能なデータベース テーブルについて調査します。Crystal Reports では、複数の異
なるデータベースから取得したデータをレポートにまとめて表示できるため、作業を柔軟に行うことができます。
•
通常のレポートでは、ほとんどのデータを直接データ フィールドから取得します。どのデータ フィールドを
使用し、それらはどこにありますか。
•
その他のデータは、データ フィールドに基づいて計算されます。計算にはどのデータ フィールドを使用し
ますか。
•
さらに、テキスト オブジェクトを使って直接レポートに挿入するデータ(見出し、メモ、ラベルなど)もあります。
データは既に存在していますか、それとも計算する必要がありますか?
情報には、データ フィールドから直接引き出すことができる情報(売上情報など)と、データ フィールドの値に基
づいて計算の必要な情報(売上と歩合に基づく売上手数料など)があります。計画の段階で、直接使用できる
データと計算の必要なデータを分けておくか、データにフラグを付けておくと便利です。詳細については、415
ページの 「式の説明」を参照してください。
フィールドの型は何ですか?
計算で使用するデータ フィールドのデータ型を調べておく必要があります。式の関数と演算子は特定の種類
のデータを計算の対象とするので、計算を始める前に、対象とするデータの型を認識しておくことは重要です。
53
2012-05-10
レポートデザインの概念
たとえば、数値型のデータを要求する関数もあれば、文字列フィールドだけを計算の対象とする関数もありま
す。特定の関数と演算子の詳細については、 『Crystal Reports オンライン ヘルプ 』の「関数」および「演算子」
を検索するか、関数名または演算子名で検索してください。
3.2.4 データの操作
レポートを作成する際には、複数の方法でデータを操作できます。次の節では、検討すべきオプションについ
て説明しています。
データをグループごとに分類しますか?
どのように分類しますか。顧客ごと、日付ごと、階層ごと、またはそれ以外の条件で分類しますか? Crystal
Reports では、レポートでデータをグループ化するためのオプションがいくつか用意されています。詳細につい
ては、147 ページの 「データのグループ化」を参照してください。
レコードまたはグループ値に基づいてデータを並べ替えますか?
Crystal Reportsでは、どちらの並べ替えを行うこともできます。詳細については、141 ページの 「並べ替えオプ
ションについて」を参照してください。
レポートを特定のレコードやグループだけに基づいて作成しますか?
Crystal Reports では、特定のデータベース内のすべてのレコードに基づいてレポートを作成できます。また、
データベース内の限定されたレコード セットを基にしてレポートを作成することもできます。Crystal Reports で
は、単純な比較や日付範囲に基づいてレコードを選択したり、複雑な式を作成して、レポートに含めるレコード
を識別できます。レポートにどのようなレコードが必要かを考え、レコードを選択するための基準をリストしてみ
てください。詳細については、129 ページの 「レコードの選択」を参照してください。
合計を出しますか?
レポートの任意の列にあるすべての値の総計、平均、件数、最大値、または最小値を求めますか。
Crystal Reportsでは、これを行うことができます。また、選択した列の一番下に総計(またはその平均や件数な
ど)を配置できます。172 ページの 「割合(%)の計算」 を参照してください。
レポートのどの情報にフラグを付けますか?
レポートにフラグを付けて、注意を促すことができます。たとえば、在庫レポートでは、移動のない在庫品にフラ
グを付けて、特に注目させることができます。先月、過去 3 か月、またはその他の期間を指定して、移動のな
い在庫品にフラグを付けることもできます。情報にフラグを付ける場合は、フラグを付ける情報とその条件を明
確にします。
どのように情報にフラグを付けますか?
アスタリスク(*)やその他の記号で項目にフラグを付けたり、フラグとして言葉を表示することもできます。どの場
合も、フラグの内容を書き留めておくと便利です。
Crystal Reports では、レポートの要素に下線を付けたり、特定のレポート アイテムに使用されるフォントの種
類、サイズ、または色を変更できます。また、アイテムの周りに枠線を付けたり、線やボックスを描画してレポー
トをセクションに分けたり、見出しをはずしたりできます。これらの書式設定ツールを使用すると、レポート上の
重要データを強調表示できます。詳細については、205 ページの 「書式設定」を参照してください。
54
2012-05-10
レポートデザインの概念
3.2.5 出力領域の特性の決定
各レポート領域は、それぞれ異なる出力特性を持ちます。さまざまなレポート オブジェクトが"いつどのように"出
力されるかは、各領域の出力特性に依存するので、これを理解しておくことは重要です。
3.2.5.1 レポートにどんな順序で領域を出力しますか?
各領域は、[デザイン]タブに表示されている順序(上から下)で出力されます。領域に複数のセクションがある場
合は、領域内に表示されている順序で各セクションが出力されます。たとえば、レポート ヘッダー セクションが
3 つある場合は、ページ ヘッダー領域のセクションより前に、3 つのレポート ヘッダー セクションがその順番で
出力されます。
3.2.5.2 レポート オブジェクトを何回出力しますか?
オブジェクトを出力する方法によって、レポートをデザインする方法が決まります。次の情報は、目的の結果を
得るために、チャート、クロスタブ、および式を配置する場所を決定するのに役立ちます。
レポート ヘッダー
レポート ヘッダー領域に配置されたオブジェクトは、レポートの先頭に一度だけ出力されます。
•
この領域に配置されたチャートやクロスタブは、レポート全体のデータを含みます。
注
チャートとクロスタブのどちらも、グループの並べ替えを使用してレポートに表示するデータを選択すること
ができます。その場合、チャートまたはクロスタブに表示されるデータは、レポート全体のデータのサブセッ
トになります。
•
この領域に配置された式は、レポートの先頭で一度だけ評価されます。
ページ ヘッダー
ページ ヘッダー領域のオブジェクトは、各ページの先頭に出力されます。
•
チャートやクロスタブは、このセクションに配置できません。
•
この領域に配置された式は、各ページの先頭でページごとに一度だけ評価されます。
グループ ヘッダー
グループ ヘッダー領域のオブジェクトは、各グループの先頭に出力されます。
55
2012-05-10
レポートデザインの概念
•
この領域に配置されたチャートやクロスタブは、グループのデータを含みます。
•
この領域に配置された式は、グループの先頭でグループごとに一度だけ評価されます。
詳細領域
詳細領域のオブジェクトは、各レコードごとに出力されます。
•
チャートやクロスタブは、この領域に配置できません。
•
この領域に配置された式は、レコードごとに一度だけ評価されます。
グループ フッター
グループ フッター領域のオブジェクトは、各グループの最後に出力されます。
•
この領域に配置されたチャートやクロスタブは、グループのデータを含みます。
•
この領域に配置された式は、グループの最後でグループごとに一度だけ評価されます。
レポート フッター
レポート フッター領域に配置されたオブジェクトは、レポートの最後に一度だけ出力されます。
•
この領域に配置されたチャートやクロスタブは、レポート全体のデータを含みます。
注
チャートとクロスタブのどちらも、グループの並べ替えを使用してレポートに表示するデータを選択すること
ができます。その場合、チャートまたはクロスタブに表示されるデータは、レポート全体のデータのサブセッ
トになります。
•
この領域に配置された式は、レポートの最後で一度だけ評価されます。
ページ フッター
ページ フッター領域のオブジェクトは、各ページの下部に出力されます。
•
チャートやクロスタブは、この領域に配置できません。
•
この領域に配置された式は、各ページの先頭でページごとに一度だけ評価されます。
3.3 紙でのプロトタイプの作成
Crystal Reportsの使用経験にかかわらず、紙のプロトタイプは役に立ちますが、プログラムを使い始める際に
は特にそうです。紙のプロトタイプを使用すれば、デザインと習得を一度に行うよりも、習得やコマンドの使用に
集中することができます。
56
2012-05-10
レポートデザインの概念
3.3.1 紙にプロトタイプをデザインする
1 作成するレポートと同じ大きさの紙を用意します。
2 レポート要素を表すためにボックスや線を使用し、タイトルやヘッダーに書き込むその他の情報を配置しま
す。
3 フッター情報を配置します。
4 ページ レイアウトのバランスを確認します。
5 レポートの本体に入れる情報を考えます。
• 使用するフィールド数を数え、フィールド間の適切なスペースを見積もります。
6
7
8
9
57
•
見積もったスペースで、鉛筆で長方形のフィールドを描きます。
•
必要に応じてスペースを変更します。
•
レポートの本体に表示するデータの論理的な順序を決めます。
•
フィールドにラベルを付け、その順序を示します。
グループ値と合計を示すには、小さいボックスを使用します。
フラグを表示する列に、任意にフラグを配置します。
強調表示する要素を暗く塗りつぶし、プロトタイプの他の部分よりも目立たせます。
レポートのレイアウトとバランスを確認し、必要に応じて変更を加えます。
2012-05-10
レポートの基礎
レポートの基礎
4.1 レポート作成のオプション
新規レポートを作成する際には、次の 3 つのオプションを選択できます。
•
レポート作成ウィザードを使用する
•
他のレポートをモデルとして使用する
•
レポートを最初から作成する
どのオプションも使用する機会があります。
レポート作成ウィザード
レポート作成ウィザードを使用すると、すばやくレポートが作成できます。新規ユーザも開発者も、多くはこのレ
ポート作成ウィザードを選択して大部分のレポートを作成しています。作成するレポートの種類に最も適したウィ
ザードを選択するだけで、後はウィザードによってレポート作成の作業が手順ごとに示されます。
他のレポート
既存のレポートに基づいて新しくレポートを作成するには、他のレポートをモデルとして使用できます。[ファイ
ルを開く]オプションを使用してモデルとして使用するレポートを開き、([ファイル]メニューの)[名前を付けて保
存]を選択して新しいファイルとして保存します。この方法は次の場合に便利です。
•
既存のレポートとは異なるグループやレコードを選択して新規のレポートを作成する場合。
•
現在使用されているレポート構造を使用して、過去の古い形式で作成されたレポートを再構築する場合。
•
他のレポートとリンクしているデータベースの一部に基づいて、まったく新しいレポートを作成する場合。基
になるリンクに影響を与えずにレポートを作成したり、フィールドを削除できます。リンクをし直さないで、この
レポートに基づいて新しくレポートを作成できます。
Crystal Reports では、テンプレートを適用することによってレポートの書式を設定することができます。詳細に
ついては、205 ページの 「テンプレートの使用」を参照してください。
新しいレポート
[空のレポート]オプションは、白紙の状態からレポートを作成する場合に使用します。まったく自由に、自らの裁
量で新規にレポートを作成する場合や、レポート作成ウィザードにない種類のレポートを作成する場合に便利
です。
59
2012-05-10
レポートの基礎
4.2 データソースとデータベースフィールドの選択
Crystal Reports では、データソースとデータベースフィールドを簡単に選択できるように、[データベースエキ
スパート]ダイアログボックスと[フィールドエクスプローラ]ダイアログボックスにそのための使いやすい機能が用
意されています。これらのダイアログボックスは、使い慣れた Windows のツリー構造を使用しているので、有効
な選択肢を簡単に検索できます。
4.2.1 データベースエキスパート
データベースエキスパートでは、Crystal Reports で使用できるすべてのデータソースをツリービューで包括的
に参照できます。データベースエキスパートでは、レポート用のデータソースとして以下から選択できます。
•
現在接続されているデータソース
•
BusinessObjects Enterprise リポジトリに保存済みの SQL コマンド
•
[お気に入り]フォルダに追加されたデータソース
•
最近アクセスしたデータソース(このリストは、データベースエキスパートが自動的に管理します)
•
既存のデータソース(たとえば、ローカルに存在するデータファイル、またはセットアップ済みの ODBC デー
タソース)
データベースエキスパートでは、レポートに対して複数のデータベーステーブルを選択した場合、データベー
ステーブル間のリンクも指定できます。
データベースエキスパートは、[データ]タブと[リンク]タブの 2 つのタブで構成されます。
4.2.1.1 データタブ
ツリービュー
データベースエキスパートの[データ]タブには、レポートの作成時に選択できるデータソースがツリービュー形
式で表示されます。[利用可能なデータソース]リストのツリーは、次のフォルダで構成されています。
•
接続
•
接続の新規作成
[接続の新規作成]フォルダには、一般に普及している多くのデータソースのサブフォルダが含まれています。
この中には次のものがあります。
•
60
Access/Excel(DAO)
2012-05-10
レポートの基礎
•
データベースファイル
•
ODBC(RDO)
•
OLAP
•
OLE DB(ADO)
注
[接続の新規作成]フォルダで使用できるデータソースオプションは、インストール時に選択されたデータアクセ
スコンポーネントによって異なります。
これらのフォルダとサブフォルダについては、72 ページの 「データソースの選択」で簡単に説明しています。
ショートカットメニュー
データベースエキスパートの[利用可能なデータソース]リスト内で任意の項目を右クリックすると、次のオプショ
ンを持つショートカットメニューが表示されます。
•
レポートに追加
このオプションを使用して、新しいレポートにテーブルまたはストアドプロシージャを追加します。このオプ
ションは、データベースエキスパートで左矢印(>)ボタンをクリックしても使用できます。
•
レポートへのコマンドの追加
このオプションを使用して、SQL コマンドで作成したテーブルオブジェクトを追加します。
•
新しい接続先の作成
このオプションを使用して新しい接続を作成します。
•
レポートからファイルを削除
このオプションを使用して、レポートからテーブルまたはストアドプロシージャを削除します。このオプション
は、データベースエキスパートで左矢印(>)ボタンをクリックしても使用できます。
•
プロパティ
このオプションを使用して、選択したアイテムの詳細情報を取得します。
•
接続名の変更
このオプションを使用して、データソース接続の名前を変更します。
•
接続の削除
このオプションを使用してデータソース接続を削除します。
注
開いているレポートに接続されているまたは開いているレポートで参照されているデータベース接続は削除
できません。
•
リポジトリから削除
このオプションは、SAP BusinessObjects Enterprise リポジトリから既存の SQL コマンドを削除するために使
用します。
•
61
リポジトリオブジェクトの名前変更
2012-05-10
レポートの基礎
このオプションは、SAP BusinessObjects Enterprise リポジトリにある既存の SQL コマンドの名前を変更す
るために使用します。
•
オプション
このオプションを使用して、[オプション]ダイアログボックスの[データベース]タブにあるグローバルオプショ
ンを設定します。
•
最新表示
このオプションを使用して、データベースエキスパートの利用可能なデータソースのリストを最新表示しま
す。
4.2.1.2 [リンク]タブ
あるデータベースと別のデータベースの関連するレコードどうしが対応するように、データベーステーブルをリ
ンクします。たとえば、Supplier テーブルと Product テーブルを使用する場合は、Product テーブル内の各製
品の製造会社が、Supplier テーブル内の供給会社と対応するように、データベースをリンクします。
多くのレポートでは、複数のテーブルからデータを取得しているので、リンクは重要です。リンクのプロセスは、
データベースエキスパートの[リンク]タブを使って簡単に操作できます。詳細については、516 ページの 「テー
ブルのリンク」を参照してください。
4.2.2 フィールドエクスプローラ
Crystal Reports の[デザイン]タブと[プレビュー]タブでフィールドを挿入、変更、または削除する場合は、[フィー
ルドエクスプローラ]ダイアログボックスを使用します。フィールドエクスプローラを表示するには、[表示]メニュー
の[フィールドエクスプローラ]コマンドを選択します。
4.2.2.1 ツリービュー
フィールドエクスプローラには、レポートに追加できるデータベースフィールドと特殊フィールドがツリービュー
で表示されます。また、レポートで使用するために定義した式フィールド、SQL 式フィールド、パラメータフィー
ルド、積算合計、およびグループ名フィールドも表示されます。
レポートに既に追加したフィールド、または他のフィールドが使用するフィールド(式フィールド、グループフィー
ルド、積算合計フィールド、集計フィールドなど)の横には、緑色のチェックマークが付きます。
62
2012-05-10
レポートの基礎
4.2.2.2 ツールバーとショートカットメニュー
フィールドエクスプローラのツールバーには、ツールヒントとショートカットキーが表示されるボタンが用意されて
います。また、ツリービュー内で任意のアイテムを右クリックすると、ショートカットメニューが表示されます。
ツールバーには、次の機能が用意されています。
•
レポートに挿入
このオプションを使用して、レポートにフィールドを追加します。一度に複数のフィールドを挿入するには、
それらのフィールドを選択して右クリックし、[レポートに追加]を選択します。
フィールドを挿入する場合、フィールドを[デザイン]タブまたは[プレビュー]タブにドラッグアンドドロップして
も挿入できます。
•
参照
このオプションを使用して、データベースフィールド、式フィールド、または SQL 式フィールドのデータを参
照します。
注
ショートカットメニューでは[データの参照]という名前になっています。
•
新規
このオプションを使用して、式フィールド、SQL 式フィールド、パラメータフィールド、または積算合計フィー
ルドを作成します。
•
編集
このオプションを使用して、既存の式フィールド、SQL 式フィールド、パラメータフィールド、または積算合計
フィールドを変更します。
•
複写
このオプションを使用すると、フィールドエクスプローラで選択した式をコピーできます。コピーが作成された
ら、名前を変更して編集します。
•
名前の変更
このオプションを使用して、既存の式フィールド、SQL 式フィールド、パラメータフィールド、または積算合計
フィールドの名前を変更します。
•
削除
このオプションを使用して、式フィールド、SQL 式フィールド、パラメータフィールド、または積算合計フィー
ルドを削除します。一度に複数のフィールドを削除するには、それらのフィールドを選択して右クリックし、
[削除]を選択します。
フィールドエクスプローラのフィールドのショートカットメニューは、ツールバーにはない追加の機能を提供しま
す。たとえば、次のオプションがあります。
63
2012-05-10
レポートの基礎
•
式の検索
このオプションを使用して、レポート内のすべての式で選択した項目を検索します。
•
プロンプトの順序の設定
このオプションを使用して[プロンプトの順序の設定]ダイアログボックスを開き、ここでパラメータフィールドの
プロンプト順序を変更できます。
•
フィールドタイプの表示
このオプションを使用して、データベースフィールドのリストを参照するときにフィールドのタイプ(文字列、数
字など)を表示します。文字列フィールドの長さは、フィールド名の最後に角かっこで囲まれています。
•
フィールドを文字順に並べ替える
このオプションを使用して、テーブルフィールドを、テーブルに表示されている順序ではなく、アルファベッ
ト順に表示します。
•
テーブルを文字順に並べ替える
このオプションを使用して、データベースフィールドを、データベースに表示されている順序ではなく、アル
ファベット順に表示します。
•
最新表示
このオプションを使用して、フィールドエクスプローラで利用可能なフィールドのリストを最新表示します。
4.2.2.3 グループ名フィールド
フィールドエクスプローラに表示されている既存のグループ名フィールドは、右クリックして[レポートに挿入]を
選択すると挿入できます。ただし、式フィールド、パラメータフィールド、または積算合計フィールドとは異なり、
フィールドエクスプローラを使ってグループ名フィールドを作成することはできません。グループ名フィールド
は、グループを挿入したときに作成されます。
4.3 レポートデザイン環境について
4.3.1 [デザイン]タブ
Crystal Reportsでは、作業中に[デザイン]タブを最もよく使用します。
64
2012-05-10
レポートの基礎
レポートを作成する最初の段階では、主に[デザイン]タブを使用します。[デザイン]タブでは、レポートをセク
ションごとに分け、それぞれにラベルを付けます。また、各セクションの指定した場所にオブジェクトを挿入した
り、並べ替え、グループ化、集計の指定や、書式設定などを行うことができます。
[デザイン]タブでは、データそのものではなく代替データで作業を行うので、レポートの作成にはとても効率の
よい環境です。レポートにフィールドを挿入すると、フレームを使ってそのフィールドを識別します。データその
ものは取得されません。したがって、データ収集に必要なコンピュータやネットワークのリソースを使用しない
で、フィールドやオブジェクトの追加や削除、移動、複雑な式の設定などを行うことができます。
[デザイン]タブで作成したレポートは、一種の仮想レポートと言えます。つまり、最終的なレポートを作成するた
めの構造や指示を含んでいますが、実際のレポートではありません。[デザイン]タブで作成したレポートは、
データを追加するだけで、最終的なレポートまたは微調整できるレポートに変換できます。これは、レポートを
プレビューまたは印刷したり、その他の方法で出力することにより行えます。これで実際のデータがレポートに
表示されます。
4.3.1.1 [デザイン]タブの領域
Crystal Reports でレポートを作成すると、[デザイン]タブには 5 つの領域が自動的に作成されます。
•
レポートヘッダ
このセクションは、レポートタイトルなど、レポートの先頭に表示する情報のために使用されます。また、レ
ポート全体のデータを含むチャートやクロスタブのためにも使用されます。
•
ページヘッダ
このセクションは、各ページの先頭に表示する情報のために使用されます。これには、章の名前、ドキュメ
ントの名前、その他の同様の情報などが含まれます。また、レポートのフィールドの上部にフィールドタイト
ルを表示する場合にも、このセクションを使用できます。
•
詳細
このセクションは、レポート本体のために使用されます。レコードごとに一度ずつ出力されます。一般に、レ
ポートデータの大部分はこのセクションに表示されます。
65
2012-05-10
レポートの基礎
•
レポートフッタ
このセクションは、総計など、レポートの最後に一度だけ表示する情報のために使用されます。また、レポー
ト全体のデータを含むチャートやクロスタブのためにも使用されます。
•
ページフッタ
このセクションは、ページ番号など、各ページの最後に表示する情報を保持します。
グループ、集計、または小計をレポートに追加すると、プログラムによって以下の 2 つの追加セクションが作成
されます。
•
グループヘッダ
このセクションは、グループ名フィールドを保持します。また、各グループのデータを含むチャートやクロス
タブを表示するためにも使用されます。このセクションは、各グループの先頭に一度出力されます。
•
グループフッタ
通常、このセクションには集計値が格納され、そのデータをチャートまたはクロスタブで表示できます。この
セクションはグループの最後に 1 度印刷されます。
グループ、集計、または小計を追加すると、グループヘッダ領域が詳細領域のすぐ上に表示され、グループ
フッタ領域が詳細領域のすぐ下に表示されます。
追加グループを設定すると、詳細領域と既存のグループヘッダ領域およびグループフッタ領域の間に、プログ
ラムによって新しいグループ領域が作成されます。
66
2012-05-10
レポートの基礎
元の領域と同様に、新たに追加したこれらの各領域もセクションを 1 つ以上含むことができます。デフォルトで
は、それぞれの領域にセクションが 1 つあります。
4.3.1.2 領域とセクションの識別と操作
各領域には、デフォルトで 1 つのセクションがあります。セクション名は、セクションの左側に表示されます。1
つの領域に複数のセクションがある場合、セクション名は、a、b、c などと指定されます。
注
•
•
[オプション]ダイアログボックスの[デザインビュー]領域で[短いセクション名]チェックボックスをオンにする
と、各セクション名が RH、PH、D、PF、RF などの省略形で表示されます。
セクション名を含む影付きの領域を右クリックすると、ショートカットメニューにセクション固有のオプションが
表示されます。
[オプション]ダイアログボックスの[レイアウト]タブで[ルーラー]チェックボックスをオンにしている場合、各セクショ
ンのすぐ左側に、セクションルーラーが表示されます。このルーラーは、ガイドラインの追加、削除、および移
動、またオブジェクトを配置する際の基準に使用できます。詳細については、224 ページの 「ガイドラインによる
デザイン 」を参照してください。
新しくセクションを追加すると、そのセクションのルーラーが作成されます。詳細については、194 ページの 「複
数のセクションの使用 」を参照してください。
4.3.1.3 [デザイン]タブのその他の機能
[デザイン]タブには、その他の機能もあります。次の操作を行うことができます。
67
•
境界線をドラッグして、セクションのサイズを変更できます。詳細については、193 ページの 「セクションのサ
イズ変更」を参照してください。
•
左側の境界線をクリックして、1 つのセクションを 2 つに分割できます。詳細については、192 ページの 「セ
クションの分割」を参照してください。
•
ルーラーをクリックして、水平または垂直のガイドラインを追加できます。詳細については、224 ページの 「ガ
イドラインによるデザイン 」を参照してください。
2012-05-10
レポートの基礎
•
20% から 400% までの任意の拡大率でレポートを拡大または縮小して表示できます。詳細については、85
ページの 「ズーム機能の使用」を参照してください。
4.3.2 [プレビュー]タブ
レポートを印刷する前にプレビューするには、[標準]ツールバーの[印刷プレビュー]ボタンをクリックしま
す。
プログラムがデータを収集し、必要な演算を行い、レポートを[プレビュー]タブに表示します。表示されたデー
タを見ながら、レポートの行間隔や書式を確認し、式、集計、レコードやグループの選択などの実際の結果を
見ることができます。
この文字どおりの WYSIWYG(What You See Is What You Get)環境で、思いどおりのレポートが完成するまで、
実際のデータを直接使ってレポートを調整できます。
データは、次のように処理されます。
•
[プレビュー]タブを最初に使用する際、データソースからデータが取得され、レポートと共にデータが保存
されます。ただし、データを保存しないように設定している場合を除きます。
•
それ以降のレポートのプレビューでは、特別にデータを最新表示したり、フィールドを追加して新規データ
の取得が必要となるまで、保存されているデータが使用されます。
4.3.2.1 標準ビュー
標準ビューでは、レポートが 1 ページずつ表示されます。[プレビュー]タブにある移動ボタンを使用すると、レ
ポートの先頭ページや最終ページに移動したり、前後に 1 ページずつ移動できます。比較的短いレポートを
表示したり、最終行の集計結果だけを確認したりするには、標準ビューは十分な機能を備えています。
68
2012-05-10
レポートの基礎
データ更新インジケータ
データ更新インジケータには、データが最新表示または取得された最も最近の日付が表示されます。データ
の取得や最新表示が今日行われた場合は、その時間も表示されます。
4.3.2.2 プレビューパネル
プレビューパネルには、グループツリー、パラメータパネル、[検索]タブがあります。
4.3.2.2.1 グループツリー
グループツリーは、[標準]ツールバーの[プレビューパネルの表示/非表示]ボタンで表示または非表示に
できます。
グループツリーは、分割ウィンドウに表示されます。
•
右側のペインには、レポートが表示されます。
•
左側のペインには、レポートの上位レベルのアウトラインが表示され、グループとサブグループの階層構造
が一般的なツリー形式で示されます。
グループツリーには、通常、レポート内に作成したグループとサブグループの名前が表示されます。ただし、こ
れらの名前は、[グループの挿入]ダイアログボックスまたは[グループの変更オプション]ダイアログボックスの[オ
プション]タブを使ってカスタマイズできます。グループツリーでのグループ名のカスタマイズの詳細について
は、147 ページの 「データのグループ化」を参照してください。
69
2012-05-10
レポートの基礎
グループツリーのノードをクリックすると、そのグループの情報があるレポートの部分にすぐにジャンプします。
比較的長いレポートや異なるグループ間を行き来する場合は、グループツリーのスマートナビゲーション機能
が役立ちます。
4.3.2.2.2 パラメータパネル
パラメータパネルでは、パラメータ値を変更してレポートデータを対話形式で書式設定およびフィルタ選択でき
ます。パラメータパネルは、プレビューパネル内にあります。
[パラメータフィールドの新規作成]ダイアログボックスと[パラメータの編集]ダイアログボックスで、[(ビューア) パ
ネルに表示]オプションを使用してパラメータパネルに表示するパラメータを指定できます。次のいずれかの設
定を選択できます。
•
表示しない
パラメータはパネルに表示されません。パラメータ値を変更するには、レポートを最新表示する必要があり
ます。
•
編集可能
パネルにパラメータ値を表示し、変更できます。
•
読み取り専用
パネルにパラメータ値を表示できますが、それらを変更することはできません。
注
新しいパラメータの場合、[表示しない]がデフォルト設定です。
パラメータパネルには、[編集可能]または[読み取り専用]に設定されたすべてのパラメータが表示されます。パ
ラメータの種類に応じて、ドロップダウンメニューを使用して変更を適用するか、[詳細ダイアログ]ボタンをクリッ
クしてパラメータ値を追加、削除、または変更できます。
以下に、[詳細ダイアログ]ボタンをクリックして変更する必要がある、一般的に使用されるパラメータの種類をい
くつか示します。
•
•
範囲値を使用するパラメータ
カスケードプロンプトを使用する動的パラメータ
パネルでは、データパラメータと非データパラメータがデータベースアイコンで区別されます。データパラメー
タの値を変更すると、レポートは最新表示され、データベースにアクセスして変更した内容が反映されます。非
データパラメータの値を変更すると、レポートはレポート内の保存データに基づいて書式設定またはフィルタ選
択されます。レポートはデータベースにアクセスしません。
4.3.2.2.3 [検索]タブ
[検索]タブを使用して、レポートで特定の単語やフレーズを検索します。
虫眼鏡ボタンをクリックするか、Enter キーを押すと、検索が開始されます。結果セットを絞り込む場合は、下向
き矢印をクリックして[大文字と小文字を区別する]または[完全に一致する単語だけを検索する]を選択します。
70
2012-05-10
レポートの基礎
一覧内の各結果には、その結果が見つかったグループツリー内の場所が表示されます。結果をダブルクリック
すると、レポート内の該当の場所に移動できます。検索中に[停止]ボタンをクリックできます。検索中に別のレ
ポートまたはタブに切り替えても検索は停止します。
4.3.2.3 [デザイン]タブとの類似点および相違点
[プレビュー]タブには、[デザイン]タブと同じ書式設定機能があります。メニュー(メニューバーとショートカットメ
ニュー)、およびツールバーはそのまま有効で、基本的には[デザイン]タブと同じ機能を使ってレポートを操作
できます。ただし、多くの変更を行う場合は、[デザイン]タブの方がより速く作業を行うことができます。さらに、
次の点について留意してください。
•
[デザイン]タブと[プレビュー]タブは、内部で連結しています。どちらかのタブで変更を行うと、もう一方のタ
ブにも反映されます。
•
[デザイン]タブではセクションごとに個別のルーラーが表示されますが、[プレビュー]タブでは左側に垂直
ルーラーが 1 つ表示されます。ルーラーの機能はどちらも同じです。
•
[プレビュー]タブでも、データの左側の影付きの領域でレポートセクションを識別できます。これにより、デー
タの出力元のレポートセクションがひとめでわかります。[デザイン]タブではセクション名は一度だけ表示さ
れますが、[プレビュー]タブではセクションの出力ごとにそのセクション名も表示されます。
•
レコードカウンタ、データ更新インジケータ(68 ページの 「標準ビュー」を参照)、およびページの移動コント
ロール(68 ページの 「[プレビュー]タブ」を参照)は、[プレビュー]タブでもすべて使用できます。
•
フィールドを選択すると、[デザイン]タブではそのフレームだけが強調表示されますが、[プレビュー]タブで
はすべてのフィールド値が強調表示されます。
[プレビュー]タブと[デザイン]タブでは、操作感が異なります。
データベースの各フィールドに含まれる値の個数は、データベースのレコード数によって数十個から数千個ま
でさまざまです。[デザイン]タブにフィールドを配置すると、1 つのフィールドフレームがこれらすべての値の代
わりとして表示されます。フィールドを強調表示すると、フレームにサイズ変更ハンドルが表示され、フレームの
色が変わります。
[プレビュー]タブでは、実際のデータを使って操作します。多くのフィールド値を表すフレームの代わりに、値
そのものが表示されます。さらに、次の点について留意してください。
•
•
71
フィールドや式フィールドの 1 つの値を強調表示すると、実際にはそのフィールドのすべての値を選択した
ことになります。
•
選択した値の周りには、サイズ変更フレームが表示されます。
•
そのフィールドのすべての値が強調表示されます。
同様に、集計値の 1 つを選択すると、実際にはそれに関連するすべての集計値を選択したことになります。
•
選択した値の周りには、サイズ変更フレームが表示されます。
•
関連するすべての集計値が強調表示されます。
2012-05-10
レポートの基礎
外見の違いを除くと、[デザイン]タブと[プレビュー]タブでは、レポートの構築や修正の方法は同じです。どちら
のタブでも簡単にレポートを操作できることがわかるはずです。
4.3.3 [HTML プレビュー]タブ
作成した Crystal レポートを Web に公開した際に HTML の描画がどのように表示されるのかを確認する
には、[標準]ツールバーの[HTML プレビュー]をクリックします。
レポートデザインがゼロクライアント環境の Web 上で適切に正しく表示されることを確認する必要がある場合に
は、[HTML プレビュー] オプションを使用することにより、Crystal Reports デザイン環境でレポートの HTML
の描画を簡単に表示できます。実際のレポート形式を表示する[プレビュー]タブとは異なり、[HTML プレビュー]
タブは変換後の形式を表示します。2 つのタブを切り替えることにより、レポートデザインを調整して最適の状
態で Web に表示できます。
SAP BusinessObjects Business Intelligence プラットフォームに公開されたレポート (マネージドレポート) の場
合は、HTML プレビュー機能を操作するための特別な設定は一切必要ありません。
注
HTML プレビュー機能を使用する前に、SAP BusinessObjects Business Intelligence プラットフォームの guest
アカウントを有効にする必要があります。
スタンドアロンのレポート(アンマネージドレポート)の場合には、プレビューの表示に Report Application
Sever(RAS)を使用する必要があります。この場合は、HTML プレビュー機能を設定する必要があります。この
設定は、Crystal Reports の[オプション]ダイアログボックスにある[スマートタグおよび HTML プレビュー]タブ
で行います。
HTML プレビューオプションの設定方法の詳細については、Crystal Reports オンラインヘルプで、「[スマート
タグおよび HTML プレビュー] タブ ([オプション] ダイアログボックス)」を検索してください。
4.4 新しいレポートの作成
4.4.1 データソースの選択
レポートの作成に使用するオプションが決まったら(59 ページの 「レポート作成のオプション」を参照)、次の手
順は、使用するデータソースの選択です。
72
2012-05-10
レポートの基礎
データソースのほとんどは、[データベースエキスパート]ダイアログボックスで選択できます。データベースエキ
スパートが表示されるのは、[空のレポート]を使用してレポートを最初から作成するか、[データベース]メニュー
から[データベースエキスパート]を選択した場合です。
注
さらに、レポート作成ウィザードでデータソースを選択します。OLAP レポート作成ウィザードを除くすべてのレ
ポート作成ウィザードのデータ画面は、[データベースエキスパート]ダイアログボックスと同様です。
4.4.1.1 データソースを選択する
1 [データベース]メニューの[データベースエキスパート]を選択します。
[データベースエキスパート]が表示されます。
2 データ画面の[利用可能なデータソース]リストのツリービューを使用して、データソースを選択します。
• 接続
このフォルダには、現在接続しているデータソースのリストが表示されます。
•
新規接続の作成
このフォルダには、接続可能な各種データソースのサブフォルダが表示されます。
[接続の新規作成]フォルダで一般的に使用される選択肢を次に示します。
•
Access/Excel(DAO)
このオプションにより、サポートされているデータベースの種類(Access、dBASE、Excel、Lotus など)に接
続できます。新しい接続を作成するには、[新しい接続先の作成]オプションを使用します。
•
データベースファイル
このオプションにより、ローカルに存在する標準 PC データベースのリストが表示されます。[データベー
スファイルの検索]を使用すると、[開く]ダイアログボックスを使って PC データベースを参照できます。
•
ODBC(RDO)
このオプションにより、構成済みの ODBC データソースのリストが表示されます。
•
OLAP レポート作成ウィザード
このオプションにより、OLAP 接続ブラウザが開き、OLAP キューブをデータソースとして選択できます。
•
OLE DB(ADO)
このオプションにより、設定済みの OLE DB プロバイダのリストが表示されます。さらに、Microsoft デー
タリンクファイルの使用も指定できます。
•
リポジトリ
このフォルダには、BusinessObjects Enterprise エクスプローラによってリポジトリの内容が表示されます。
73
2012-05-10
レポートの基礎
注
[接続の新規作成]フォルダで使用できるデータソースオプションは、インストール時に選択されたデータア
クセスコンポーネントによって異なります。
4.4.2 テーブルの追加
データソースを選択すると、レポートの基となる 1 つ以上のテーブルを追加することができます。
4.4.2.1 テーブルを追加する
1 [データベース]メニューの[データベースエキスパート]を選択します。
[データベースエキスパート]が表示されます。
2 [データ]タブで、レポートで使用したいデータベースを検索します。72 ページの 「データソースの選択」 を
参照してください。
3 [利用可能なデータソース]リストで、レポートに追加するテーブルを選択し、さらに矢印(>)をクリックしてその
テーブルを[選択したテーブル]リストに追加します。
一度に複数のテーブルを挿入するには、それらのテーブルを選択して右クリックして[Crystal Reports]を選
択し、[新しいレポートに追加]または[現在のレポートに追加]を選択します。[選択したテーブル]リストにテー
ブルをドラッグアンドドロップすることもできます。
4.4.3 複数のテーブルのリンク
テーブルに複数のデータベーステーブルのデータがある場合は、レポートの作成時にそれらのテーブルをリン
クする必要があります。
注
クエリまたはコマンドを使用して作成したレポートでは、テーブルをリンクする必要はありません。データに必要
なリンクは既に設定されています。
4.4.3.1 複数テーブルを追加およびリンクする
74
2012-05-10
レポートの基礎
1 [データベース]メニューの[データベースエキスパート]を選択します。
[データベースエキスパート]が表示されます。
2 [データ]タブでレポートに追加するテーブルを選択します。74 ページの 「テーブルの追加」 を参照してく
ださい。
データベースエキスパートに[リンク]タブが表示されます。
3 [リンク]タブをクリックして現在リンクで利用できるデータベースを表示します。
Crystal Reportsでは、可能な場合に名前またはキーによってテーブルを自動的にリンクできます。
4 手作業でリンクを作成するには、テーブルのフィールドを別のテーブルのフィールドにドラッグします。リンク
が作成された場合は、リンク線が表示されます。リンクを作成できない場合は、メッセージが表示されます。
注
テーブルは、テーブル名または外部キー情報を使ってリンクできます。
5 リンクを削除した場合にそれらを自動的に再作成するには、[リンク]をクリックします。
6 終了したら、[OK]をクリックします。
注
リンクを手動で作成する場合、リンク先のフィールドはリンク元のフィールドと同じデータタイプであることが
必要となります。ネイティブ接続を使用する場合は、リンク先のフィールドにインデックスが付いている必要
はありません。詳細については、500 ページの 「インデックス付きテーブル」を参照してください。
データベースエキスパートを閉じて、レポートに戻ります。これで、リンクしたデータベースをレポート内で使
用できます。リンクを修正する場合は、データベースエキスパートの[リンク]タブを使用します。
75
2012-05-10
レポートの基礎
関連項目
• 499 ページの「データベースの基礎」
• 526 ページの「リンクオプション」
4.4.4 データの配置
レポートにデータを配置する作業はとても重要です。どのようなタイプのデータをどこに配置すればよいかを理
解しておく必要があります。
注
レポート (.rpt) ファイルには重要なビジネスデータが含まれている場合があります。以下の方法のいずれかを
使用して、ファイルへのアクセスを保護することをお勧めします。
• SAP BusinessObjects Business Intelligence プラットフォームサーバを使用してファイルを管理する。
• ファイルセキュリティを適用する。
• オペレーティングシステムレベルの暗号化を適用する。
4.4.4.1 データベースフィールド
レポートに配置するほとんどのデータは、データベースに格納されているとおりに表示されるデータベースフィー
ルドです。通常、データベースフィールドは詳細セクションに配置しますが、状況によっては、レポートの別のセ
クションに配置します。
4.4.4.1.1 データベースフィールドを挿入する
1
[標準]ツールバーの[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。このダイアログボックスは、画面に表示した
まますばやくレポートを組み立てることができます。ダイアログボックスを閉じるには、[閉じる]をクリックしま
す。ダイアログボックスは、任意の位置に移動できます。
2
3
4
5
6
76
[データベースフィールド]フォルダを展開して、データベースから選択したすべてのテーブルを参照します。
個々のテーブルを展開して、その中に含まれているすべてのフィールドを参照します。
レポートに表示するフィールドを選択します。
選択したフィールドの値を確認するには、[参照]をクリックします。
[レポートに挿入]をクリックしてレポートに挿入します。
2012-05-10
レポートの基礎
4.4.4.2 式フィールド
計算値のデータを表示するには、式フィールドを作成してレポートに配置する必要があります。たとえば、デー
タベースに注文日と発送日だけが格納されていて、注文から発送までの日数を表示する必要がある場合は、
注文から発送までの日数を計算する式フィールドを作成する必要があります。これ以外にも、さまざまな使い方
があります。式の概要については、411 ページの 「式の使用」を参照してください。
4.4.4.3 SQL 式フィールド
SQL 式は、式と似ていますが、Crystal Reports の式言語ではなく、SQL(Structured Query Language)で記述
されます。SQL 式は、データベースに特定のデータセットを照会するために使用します。SQL 式フィールドに
基づいて、並べ替え、グループ化、および選択を行うこともできます。
4.4.4.3.1 SQL 式フィールドを作成する
1
[標準]ツールバーの[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
2 下にスクロールして[SQL 式フィールド]を強調表示します。[新規作成]ボタンをクリックします。
[SQL 式名]ダイアログボックスが表示されます。
3 [名前]ボックスに名前を入力して[OK]をクリックします。
式ワークショップは、SQL 式エディタがアクティブな状態で表示されます。
77
2012-05-10
レポートの基礎
4 SQL 式エディタに式を入力します。
注
式言語の概要については、412 ページの 「式の構成要素と構文」を参照してください。
5 [保存]をクリックします。
4.4.4.4 パラメータフィールド
レポートのユーザに対して情報の入力を求めるには、パラメータフィールドを作成します。レポートの生成にあ
たって、ユーザが答える必要のある質問と考えてください。ユーザが入力した情報、またはユーザが応答した
方法により、レポートに表示される内容が決定されます。たとえば、営業担当者が使用するレポートでは、地域
を選択するように求めるパラメータが考えられます。このレポートは、すべての地域の結果を返さずに、特定の
地域の結果だけを返します。パラメータフィールドについては、447 ページの 「パラメータフィールドとプロンプ
ト」を参照してください。
4.4.4.5 積算合計フィールド
レコードごとに評価を行う合計を表示したり、フィールド内のすべての値(または特定の値セットのすべての値)
の積算合計を求めるには、積算合計フィールドを作成し、レポートに配置する必要があります。フィールドの最
初の 3 つの値が、2、4、6 の場合、積算合計は、2、6(2 + 4 の合計)、12(2 + 4 + 6 の合計)の順で出力されま
す。積算合計については、179 ページの 「積算合計」を参照してください。
78
2012-05-10
レポートの基礎
4.4.4.6 特殊フィールド
ページ番号、出力日、レポートのコメントなどの情報を表示するには、[フィールドエクスプローラ]ダイアログボッ
クスの[特殊フィールド]ツリービューにあるコマンドを使用します。
4.4.4.6.1 特殊フィールドを挿入する
Crystal Reports では、ページ番号、レコード番号、グループ番号、出力日、および総ページ数などのフィール
ドをレポートに簡単に挿入できます。特殊データを挿入するには、2 つの方法があります。
1
[標準]ツールバーの[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ] ダイアログボックスが表示されます。
2 下にスクロールして[特殊フィールド]を表示し、それをクリックして展開します。
3 [特殊フィールド]リストからコマンドを 1 つ選択して、レポートに挿入します。
各特殊フィールドは、オブジェクトとしてレポートに挿入され、オブジェクトフレームが表示されます。これを
レポートに配置します。
注
挿入したオブジェクトの書式を変更するには、そのオブジェクトをクリックして選択し、[エキスパートツール]
ツールバーの[書式]をクリックします。書式エディタが表示され、変更を行うことができます。205 ページの 「書
式設定」 を参照してください。
4.4.4.7 テキストオブジェクト
テキストオブジェクトは、さまざまな目的でレポートに使用できます。タイトルを挿入したり、集計やその他のデー
タにラベルを付けたり、また、データベースフィールドを簡単に組み合わせたりできる強力なオブジェクトです。
79
2012-05-10
レポートの基礎
4.4.4.7.1 テキストオブジェクトを挿入する
1
[挿入ツール]ツールバーの[テキストオブジェクトの挿入]ボタンをクリックします。カーソルが表示されま
す。
2 レポート内のテキストオブジェクトを配置する位置にカーソルを置きます。
サイズを変更または移動するには、テキストオブジェクトを一度クリックして選択します。
テキストを編集するには、テキストオブジェクトの内側をダブルクリックします。[デザイン]タブのルーラーが、
テキストオブジェクトのルーラーに変わり、選択したオブジェクトの長さになります。左には、タブの種類が示
されます。タブの種類をクリックすると、4 種類のタブが切り替わります。目的のタブを選択し、ルーラーの挿
入位置をクリックします。
ルーラーを使用すると、テキストオブジェクト内のテキストのインデントや整列ができます。
注
レポートに挿入されたテキストオブジェクトは、挿入時に自動的に選択され、編集できます。
4.4.4.8 ピクチャフィールド
レポートをデザインする際、ピクチャを挿入することもあります。例として、レポートヘッダに会社のロゴを挿入し
てみます。
4.4.4.8.1 ピクチャを挿入する
1
[挿入ツール]ツールバーの[ピクチャの挿入]ボタンをクリックします。
[ファイルを開く]ダイアログボックスが表示されます。
2 ファイルのリストから目的のピクチャファイルを選択し、[開く]をクリックしてレポートに戻ります。
オブジェクトフレームが表示され、配置できるようになります。
80
2012-05-10
レポートの基礎
3 レポート上の表示位置にピクチャオブジェクトを置き、一度クリックします。
4.4.4.9 ハイパーリンクフィールド
[デザイン]タブや[プレビュー]タブでレポートオブジェクトを選択して、別の場所へのハイパーリンクを作成する
ことができます。
ハイパーリンクはレポートと共に保存され、他のユーザが追加情報を表示する方法として利用できます。
注
•
•
Crystal Reports では、Web レポートが特定サーバの場所に依存しないように、相対 URL でハイパーリンク
を作成することができます。
[インターネット上の Web サイト] オプションを使用して、SAP BusinessObjects、Web Intelligence、および
Analysis ワークスペースのドキュメントに接続することができます (これはレポートのリンクとも呼ばれます)。
[エンタープライズハイパーリンクの作成] をクリックして、Crystal Reports でこれらのハイパーリンクを作成し
ます。
4.4.4.9.1 ハイパーリンクフィールドを作成する
1 [デザイン]タブまたは[プレビュー]タブでレポートオブジェクトを選択します。
2 [書式]メニューの[ハイパーリンク]をクリックします。
書式エディタが表示され、[ハイパーリンク]タブが開かれます。
3 作成するハイパーリンクのタイプをクリックします。
上のエリアで使用できるのは、次のタイプです。
•
ハイパーリンクなし
これはデフォルトオプションです。選択されたレポートオブジェクトに関連付けられているハイパーリンク
はありません。
•
インターネット上の Web サイト
レポートオブジェクトを静的な Web アドレスにリンクする場合は、このオプションを選択します。フィール
ド値に基づいて URL を作成するには、式ボタンを使用します。たとえば、意味を持つ一連の URL の作
成に使用できる情報が"顧客名"フィールドに設定されている場合は、次の式を入力することができます。
"http://www." + {Customer.顧客名} + ".com"
81
2012-05-10
レポートの基礎
注
また、このオプションを使用して、SAP BusinessObjects、Web Intelligence、および Analysis ワークスペー
スのドキュメントに接続することもできます (これはレポートのリンクとも呼ばれます)。[エンタープライズハ
イパーリンクの作成] をクリックして、Crystal Reports でこれらのハイパーリンクを作成します。
ヒント
または、式ワークショップで openDocument 関数を使用してハイパーリンクを作成できます。
•
現在の Web サイトの値
選択したフィールドからハイパーリンクを作成する場合は、このオプションを選択します。フィールドは正
しいハイパーリンクとしてデータソースに保存する必要があります。
•
電子メールアドレス
選択したフィールドから"mailto"アドレスを作成する場合は、このオプションを選択します。フィールド値
に基づいてアドレスを作成するには、式ボタンを使用します。
•
ファイル
特定のコンピュータまたはネットワークに接続したコンピュータ上のファイルへのハイパーリンクを作成す
る場合は、このオプションを選択します。フィールド値に基づいてファイルパスを作成するには、式ボタ
ンを使用します。
また、このタイプのハイパーリンクは、コマンドラインパラメータを指定して EXE を実行する方法でも使用
できます。パスとアプリケーション名を入力し、その後にコマンドのパラメータを続けます。
•
現在の電子メールフィールドの値
選択したフィールドから電子メールのハイパーリンクを作成する場合は、このオプションを選択します。
フィールドは、正しい電子メールアドレスとしてデータソースに保存する必要があります。
[DHTML ビューアのみ]エリアで使用できるのは、次のタイプです。
•
レポートパーツのドリルダウン
このオプションの使用方法については、393 ページの 「[レポートパーツのドリルダウン]オプション」を参
照してください。
•
他のレポートオブジェクト
このオプションの使用方法については、395 ページの 「[他のレポートオブジェクト]オプション」を参照し
てください。
注
常にすべてのタイプのハイパーリンクを使用できるわけではありません。選択したオブジェクト、およびその
レポート上の場所により、利用できるタイプが決まります。
4 ハイパーリンクのタイプを選択したら、Web サイトの URL などの適切なハイパーリンク情報を入力します。
5 完了したら[OK]をクリックします。
ハイパーリンクが適切に挿入されます。レポートでそのハイパーリンクをクリックすると、Web サイトに移動した
り、電子メールを送信することができます。[DHTML ビューアのみ]エリアでハイパーリンクタイプを使用する方
法については、391 ページの 「ナビゲーションの設定」を参照してください。
82
2012-05-10
レポートの基礎
4.4.5 BLOB(Binary Large Object)フィールド
BLOB フィールドは、データがビットマップグラフィック、イメージ、OLE オブジェクト、メタファイルなどの Binary
Large Object で構成されるデータベースフィールドです。レポートに BLOB フィールドを挿入すると、他のデー
タ型と同じように、これらのバイナリオブジェクトにアクセスできます。
注
Crystal Reportsは、参照によって、すなわちファイルパスによって直接 BLOB オブジェクトにアクセスできるた
め、BLOB オブジェクトをデータベースに保存する必要はありません。詳細については、305 ページの 「静的
OLE オブジェクトの動的化」を参照してください。
通常、Crystal Reports では、次のオブジェクトが含まれる BLOB フィールドにアクセスできます。
•
デバイスに依存しないビットマップ(DIB)
•
JPEG、TIFF、または PNG イメージ
また、データが Microsoft Access データベースにある場合、Crystal Reports では OLE 1 および OLE 2 オブ
ジェクトとメタファイルが含まれる BLOB フィールドを含むレポートを実行できます。
BLOB フィールドは、他のデータベースフィールドと同じ方法で挿入します。詳細については、76 ページの
「データベースフィールドを挿入する」を参照してください。
BLOB フィールドオブジェクトは、挿入されたピクチャや OLE オブジェクトと同じようにトリミング、拡大/縮小、
サイズ変更を行うためのオプションがある点で、他のデータベースフィールドオブジェクトとは異なります。これ
らのオプションを使用するには、BLOB フィールドオブジェクトを右クリックし、ショートカットメニューから[グラ
フィックの書式]を選択して[ピクチャ]タブをクリックします。
注
サーバアプリケーションで OLE オブジェクトをアクティブにしたり編集したりする機能を維持するには、BLOB
フィールドに挿入するのではなく、リンクを作成するか埋め込むことによってオブジェクトをレポートに個別に挿
入する必要があります。リンク OLE オブジェクトまたは埋め込み OLE オブジェクトの挿入の詳細については、
301 ページの 「レポートへのOLE オブジェクトの挿入」を参照してください。
4.4.6 データの書式の設定
ここで、基本的な書式を設定します。タイトルに使用しているテキストオブジェクトのフォントサイズやスタイルを
変更できます。また、売上高などの数値型フィールドの数値の前に通貨記号を付けたり、小数点以下に表示
する桁数を変更することもできます。
83
2012-05-10
レポートの基礎
4.4.7 レコードの選択
データを選択してレポートに必要なデータだけを入れる作業は、レコード選択と呼ばれ、レポートの作成ではと
ても重要です。データベースのすべてのデータを一覧することはあまりありません。特定の期間や特定の製品
の売上高などを確認することがほとんです。たとえば、売上レポートに先月の 1 製品の売上レコードだけを入
れるように指定できます。
4.4.8 データのグループ化、並べ替え、集計
基本のレポートを作成したら、次に、関連情報をグループ分けしたり、個々のデータを並べ替え、集計、小計、
および総計を計算してデータを整理します。
レコードのグループ化
データを整理するには、関連するデータをグループ化します。たとえば、顧客リストを地域別にグループ化した
後に、そのリストを地域のグループにさらに分割することができます。この方法により、ある地域担当の営業部
長は、該当地域のグループを簡単に見つけ、その地域内の顧客だけに注目できます。
レコードの並べ替え
Crystal Reportsでは、レコードをレポートに表示する順番を指定できます。たとえば、地域別にグループ化した
後で、各地域内のレコードを顧客名のアルファベット順で並べ替えることができます。多くのレポートでは、なん
らかの並べ替えが行われています。すべてのレコードをそのまま並べ替えるか、またはグループ化して並べ替
えるかは、レポートによります。
集計、小計、総計
多くのレポートで集計が使用されています。たとえば、州ごとにグループ化した北米の売上レポートに各州ごと
の売上合計額を入れてみます。まず、売上フィールドで小計を計算します。さらに、グループごとにデータを集
計し、平均、件数、その他のグループ(集計)値を計算できます。たとえば、州ごとの売上の平均(売上フィール
ドの平均)を計算したり、その州内の製品の販売個数(製品名フィールドの個別件数)を求めることができます。
4.4.9 集計データのドリルダウン
ドリルダウンポインタを使用すると、データをドリルダウンしてそれぞれのグループ内のデータを表示できます。
詳細については、141 ページの 「並べ替え、グループ化、集計」を参照してください。
84
2012-05-10
レポートの基礎
4.4.9.1 ドリルダウンポインタ
Crystal Reports では、標準とグループツリーのどちらのビューでも、[プレビュー]タブのグループ情報や概要
情報をドリルダウンできます。ドリルダウンできる集計値の上にマウスポインタを置くと、ドリルダウンポインタに変
わります。
ヒント
グループヘッダは、メインレポート自体と同様に、ドリルダウンタブに表示されます。
そこでダブルクリックすると、その集計値の詳細が表示されます。たとえば、市全体の集計値の上にドリルダウ
ンポインタが表示されている場合は、それをダブルクリックすると、その詳細が表示されます。
•
単一集計の場合は、集計されている個々のレコードの集計値またはデータが表示されます。
•
複数集計の場合は、集計の下の階層の集計(たとえば、地域の集計を構成している市の集計)、または集計
されている個々のレコードのデータが表示されます。
4.4.10 ズーム機能の使用
レポートは簡単に拡大または縮小できます。25% から 400% までの任意の拡大率を選択できます。この機能は、
[デザイン]タブと[プレビュー]タブの両方で使用できます。
レポートを拡大または縮小するには、ズームコントロールスライダを左または右に移動します。ズームコントロー
ルスライダは、Designer の右下隅にあります。
レポート全体のレイアウトを表示するには、拡大率を小さくします。レポートの一部を詳細に表示するには、拡
大率を大きくします。
4.4.11 ページヘッダとページフッタの挿入
ページヘッダとページフッタを使用するには、[デザイン]タブのページヘッダセクションやページフッタセクショ
ンに情報を配置します。
85
2012-05-10
レポートの基礎
•
レポートの最初のページだけに表示する情報は、レポートヘッダ(RH)に配置します。
•
レポートの最後のページだけに表示する情報は、レポートフッタ(RF)に配置します。
•
各ページの上部に表示する情報は、ページヘッダ(PH)に配置します。
•
各ページの下部に表示する情報は、ページフッタ(PF)に配置します。
詳細セクションと同様に、これらのセクションにもテキスト、フィールド、および式を挿入できます。
関連項目
• 257 ページの「最初のページを除くすべてのページに表示するフッタの作成」
4.4.12 タイトルページの追加
Crystal Reports では、すばやく簡単にレポートにタイトルページを追加できます。それには、[フィールドエクス
プローラ]ダイアログボックスの[特殊フィールド]で[レポートタイトル]を選択します。このフィールドを使用するに
は、[ドキュメントプロパティ]ダイアログボックスの[概要]タブにタイトルが入力されている必要があります。詳細に
ついては、87 ページの 「概要情報の追加」を参照してください。
4.4.12.1 レポートタイトルを追加する
1
[標準]ツールバーの[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ] ダイアログボックスが表示されます。
2 下にスクロールして[特殊フィールド]を表示し、それをクリックして展開します。
3 [レポートタイトル]を選択し、[レポートに挿入] をクリックします。レポート上にマウスポインタを移動すると、オ
ブジェクトフレームが表示されます。
86
2012-05-10
レポートの基礎
4 オブジェクトフレームをレポートヘッダセクションに移動し、一度クリックしてフレームを配置します。
5
レポートタイトルを強調表示し、[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをク
リックします。
セクションエキスパートが表示されます。
6 レポートヘッダセクションを強調表示し、[出力後に改ページ]オプションをオンにします。
これで、最初のページにタイトルが表示され、次のページからレポートが始まります。
4.4.13 概要情報の追加
レポートに出力されないコメントを付加したい場合があります。たとえば、レポート受信者への個人的なメモ、レ
ポートの基になるデータを詳細に説明したメモ、レポートタイトル、レポートの特定のデータに関するコメントな
どがあります。
[ファイル]メニューの[プロパティ]を使用すると、短いメモから数百行のテキストまで、任意のコメントをレポートに
加えることができます。コメントは、レポートには出力されず、[ドキュメントプロパティ]ダイアログボックスに保持
されます。[概要]タブは、必要なときに参照できます。
[プロパティ]を選択すると、[ドキュメントプロパティ]ダイアログボックスが表示されます。
87
2012-05-10
レポートの基礎
必要な情報を入力し、終了したら[OK]をクリックしてレポートに戻ります。
4.5 レポートの参照と複数のレポートの操作
Crystal Reports では、レポートエクスプローラ、ワークベンチ、および依存関係チェッカーを使用して既存のレ
ポートを操作できます。
この節では、これらのツールについて説明し、Crystal Reports で利用可能な各エクスプローラのオープンとドッ
キングに関する一般情報を示します。詳細については、93 ページの 「エクスプローラの使用とドッキング」を参
照してください。
4.5.1 レポートエクスプローラ
レポートエクスプローラの内容は、レポートの内容をツリービューで表します。ルートノードはレポート本体を表
し、第 1 レベルのノードはレポートのセクションを表します。各セクション内では、レポートのフィールドとオブジェ
クトが一覧表示されます。ツリービューで選択した項目はレポートでも選択されます(デザインモードまたはプレ
ビューモード)。
レポートフィールドとオブジェクトを変更するには、レポートエクスプローラで項目を選択します。選択した項目
を右クリックすると、その項目に対して実行できるアクションが含まれるメニューが表示されます。たとえば、テキ
ストオブジェクトを右クリックすると、メニューにはテキストを編集したり、フォントや色の書式設定をしたりするオ
プションが表示されます。同様に、セクションノードを右クリックすると、メニューには非表示や書式設定などの
オプションが表示されます。
注
レポートエクスプローラを使用する場合は、その他のフィールドやレポートオブジェクトを追加することはできま
せんが、それらを削除することは可能です。
Shift キーを押しながらクリックするか、Ctrl キーを押しながらクリックすると、書式設定するフィールドを複数選
択できます。
4.5.1.1 ツールバー
レポートエクスプローラのツールバーには、マウスポインタを置くとツールヒントが表示されるボタンがあります。
これらのボタンを使用して、レポートツリーを展開または折りたたんで表示したり、レポート内のアイテムをタイプ
別に表示したりできます。
88
2012-05-10
レポートの基礎
•
展開
このオプションを使用して、選択したノードの下にある子ノードを展開します。ルートノードが強調表示され
ているときにこのオプションを選択すると、残りのすべてのノードが展開されます。子ノードが強調表示され
ているときにこのオプションを選択すると、そのノードに属する子ノードだけが展開されます。
注
このオプションは、レポートオブジェクトが強調表示されているとき、または選択ノードに子がないときに選択
しても無効です。
•
データフィールドの表示/非表示
このオプションは、レポート内のデータフィールドの表示と非表示に使用します。データフィールドには、式
フィールド、集計フィールド、およびテキストオブジェクトが含まれます。
•
グラフィックオブジェクトの表示/非表示
このオプションは、レポート内のグラフィックオブジェクトの表示と非表示に使用します。グラフィックオブジェ
クトには、チャート、マップ、ボックス、線、BLOB フィールド、および OLE オブジェクトが含まれます。
•
グリッドおよびサブレポートの表示/非表示
このオプションは、レポート内のクロスタブ、OLAP グリッド、およびサブレポートの表示と非表示に使用しま
す。
注
•
•
SAP BusinessObjects Enterprise リポジトリに接続されているアイテムの横には、リポジトリアイコンが表
示されます。
ハイパーリンクを持つ項目は、下線付きの青い文字で表示されます。レポートパーツハイパーリンクを持つ
項目は、破線の下線付きの緑の文字で表示されます。
4.5.2 ワークベンチ
ワークベンチでは、1 つ以上のレポートを含むプロジェクトを作成できます。ツールバーのオプションを使用し
て、フォルダ、レポート、およびオブジェクトパッケージの追加、削除、名前の変更などを行います。フォルダ内
のファイルは、表示させる位置にドラッグアンドドロップして整理し直すことができます。レポートファイルを
Windows エクスプローラからドラッグし、ワークベンチ内で選択したフォルダにドロップすることもできます。
4.5.2.1 ツールバー
ワークベンチのツールバーには、次のオプションがあります。
89
2012-05-10
レポートの基礎
•
レポートの追加
このオプションは、ワークベンチに新しいオブジェクトを追加するときに使用します。
•
既存のレポートの追加
このオプションを選択すると、[開く]ダイアログボックスが表示されます。このダイアログボックスで、作成
済みの Crystal レポートを検索できます。
•
現在のレポートの追加
このオプションを選択すると、プログラムによって、「無題のプロジェクト」という名前のルートノードが作成
されます。その後現在のアクティブなレポートがそのプロジェクトに追加されます。
注
このオプションは、アクティブなレポートが存在する場合にのみ使用できます。
•
新しいプロジェクトの追加
このオプションを選択すると、「無題のプロジェクト」という名前のルートノードの下に新しいフォルダが追
加されます。このフォルダにレポートを追加できます。プロジェクトフォルダを使用してワークベンチのレ
ポートを整理できます。
•
開く
このオプションは、プロジェクトフォルダで選択したレポートまたはレポートパッケージを開くときに選択しま
す。
•
依存関係のチェック
このオプションは、依存関係チェッカーを開始するときに選択します。個々のレポートまたはレポートのフォ
ルダに対して使用できます。このオプションを選択すると、Crystal Reports はすぐにポートのチェックを開始
し、依存関係チェッカーにその結果が表示されます。詳細については、91 ページの 「依存関係チェッカー」
を参照してください。
4.5.2.2 ショートカットメニュー
ワークベンチのプロジェクト領域内で任意のアイテムを右クリックすると、ショートカットメニューが表示されます。
ショートカットメニューで利用可能なオプションの多くは、ツールバーからも利用できます。ここでは、ツールバー
で利用できない追加オプションについてのみ説明します。
•
オブジェクトパッケージの追加
このオプションを選択すると、SAP BusinessObjects Business Intelligence プラットフォームシステムにログオ
ンするように要求されます。システムに接続していれば、ワークベンチに追加するオブジェクトパッケージを
選択できます。オブジェクトパッケージの詳細については、 『SAP BusinessObjects Business Intelligence プ
ラットフォーム管理者ガイド 』を参照してください。
•
90
SAP BusinessObjects Business Intelligence プラットフォームに公開
2012-05-10
レポートの基礎
このオプションは、レポートのフォルダを SAP BusinessObjects Business Intelligence プラットフォームに公
開するときに使用します。レポートは、個別に、またはオブジェクトパッケージとして公開できます。オブジェ
クトパッケージは、SAP BusinessObjects Business Intelligence プラットフォームで単一のエントリとしてスケ
ジュールできます。このオプションを選択すると、[オブジェクトの公開] ダイアログボックスが表示されます。
このダイアログボックスの使用方法の詳細については、Crystal Reports オンラインヘルプで「[オブジェクト
の公開] ダイアログボックス」を検索してください。
•
削除
このオプションは、レポート、レポートパッケージ、またはフォルダをプロジェクト領域から削除するときに使
用します。
注
•
•
•
この操作は元に戻すことができません。
フォルダを削除すると、同時にフォルダ内のすべてのアイテムが削除されます。
名前の変更
このオプションは、プロジェクト領域内のフォルダの名前を変更するときに使用します。
4.5.3 依存関係チェッカー
依存関係チェッカーは、ワークベンチでレポートまたはプロジェクトにエラーがないか確認するとき、または
Crystal Reports で開いているレポートに対して[レポート]メニューのコマンドを選択したときに表示されます。依
存関係チェッカーには、いくつかのタイプのエラーが登録されています。
•
レポートパーツハイパーリンクエラー
•
リポジトリオブジェクトエラー
•
式のコンパイルエラー
依存関係チェッカーには、次のエラー情報が表示されます。
•
エラータイプ。
アイコン
意味
成功。依存関係チェッカーは、ファイルにエラーが
ないことを確認しました。
警告。依存関係チェッカーは、ファイル内に問題に
なる可能性のある要素を検出しました。警告は確
認できますが、修正しなくてもレポートは正しく実行
されます。
91
2012-05-10
レポートの基礎
アイコン
意味
エラー。依存関係チェッカーは、エラーを検出しま
した。レポートを正しく実行するには、このエラーを
修正する必要があります。
•
エラーの説明。
•
エラーのあるファイルの場所。
エラーをダブルクリックするとターゲットレポートが開くので、レポートオブジェクトに移動して問題を修正できま
す。エラーの確認後にレポートの一部を削除した場合など、レポートオブジェクトが見つからない場合は、依存
関係チェッカーの再実行を勧めるメッセージが表示されます。
4.5.3.1 ショートカットメニュー
依存関係チェッカーでメッセージを右クリックすると、ショートカットメニューが表示されます。
•
ジャンプ
このオプションは、エラーのあるレポートを開いて問題の原因であるオブジェクトに移動するときに使用しま
す。メッセージを選択して Enter キーを押すか、またはダブルクリックしても、レポートを開くことができます。
•
並べ替え基準
このオプションは、メッセージをタイプ、番号、説明、または場所で並べ替えるときに使用します。
•
クリア
このオプションは、選択したメッセージを削除するときに使用します。
•
すべてクリア
このオプションは、メッセージをすべて削除するときに選択します。
•
コピー
このオプションは、メッセージを他のアプリケーションに貼り付けられるようにクリップボードにコピーするとき
に選択します。
•
オプション
このオプションは、[オプション]ダイアログボックスの[依存関係チェッカー]タブを開くときに使用します。この
タブを使用して、依存関係チェッカーを実行するときに確認する条件を選択します。
オプションの詳細については、Crystal Reports のオンラインヘルプの「[依存関係チェッカー]タブ」を参照
してください。
92
2012-05-10
レポートの基礎
4.5.4 エクスプローラの使用とドッキング
Crystal Reports には、さまざまなレポートやレポートオブジェクトを参照するときに使用できる次の 3 つのエク
スプローラとツールが用意されています。
•
フィールドエクスプローラ
•
レポートエクスプローラ
•
リポジトリエクスプローラ
•
ワークベンチ
•
依存関係チェッカー
これらのエクスプローラを開くには、[表示]メニューのコマンドまたは[標準]ツールバーのボタンを使用します。
このコマンドやボタンを実行すると、エクスプローラが閉じている場合は開きますが、エクスプローラが既に開い
ている場合は、フォーカスが移動します。
インストールの後、各エクスプローラは Report Designer にドッキングされた状態で開きます。エクスプローラを
Report Designer の新しい場所にドラッグして、任意の領域にドッキングすることもできます。
エクスプローラのタイトルバーをダブルクリックすると、ドッキングモードと自由浮動モードが切り替わります。自
由浮動モードでは、エクスプローラを任意の場所にドラッグできます。エクスプローラをドラッグすると、挿入用
の枠が表示され、エクスプローラを配置する場所が示されます。また、エクスプローラの外側をサイズ変更ポイ
ンタでドラッグして、サイズを変更できます。
注
自由浮動モードのエクスプローラのタイトルバーをダブルクリックすると、最後に Crystal Reports を使用したと
きにあった場所にエクスプローラがドッキングされます。
フィールドエクスプローラ、レポートエクスプローラ、リポジトリエクスプローラ、ワークベンチ、および依存関係
チェッカーをドラッグしてそれぞれに重ねると、これらのエクスプローラやツールで構成される、複数のタブの付
いた単一のエクスプローラを作成できます。この複数タブエクスプローラは、ドッキングモードでも自由浮動モー
ドでも使用することができます。
結合したエクスプローラのタブをクリックして、あるタイプのエクスプローラから別のタイプのエクスプローラへ
フォーカスを移します。タイトルバーの名前は、現在使用しているエクスプローラによって変わります。
93
2012-05-10
レポートの基礎
4.6 より高度なレポート
基本的なレポートデザイン機能に慣れてきたら、Crystal Reportsのより強力なレポート作成機能を試してみてく
ださい。次の機能が用意されています。
94
•
チャート(267 ページの 「チャート」を参照)
•
OLE オブジェクト(299 ページの 「OLE」を参照)
•
フォームレター(196 ページの 「フォームレター」を参照)
•
サブレポート(485 ページの 「サブレポート」を参照)
•
クロスタブ(313 ページの 「クロスタブオブジェクト」を参照)
•
複数セクションレポート(189 ページの 「複数セクションレポート」を参照)
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
SAP BusinessObjects Enterprise リポジトリ
5.1 SAP BusinessObjects Enterprise リポジトリとは
SAP BusinessObjects Enterprise リポジトリは、共有のレポートオブジェクトを管理するデータベースです。レ
ポートのリポジトリオブジェクトは、SAP BusinessObjects Business Intelligence プラットフォームにレポートを公
開する際に、SAP BusinessObjects Enterprise リポジトリの最新バージョンで最新表示できます。
SAP BusinessObjects Enterprise リポジトリは、SAP BusinessObjects Business Intelligence プラットフォームの
Central Management Server (CMS) システムデータベースが管理します。
リポジトリがサポートするオブジェクトの種類は次のとおりです。
•
テキストオブジェクト
•
ビットマップ
•
カスタム関数
•
コマンド(クエリ)
注
ビジネスビューや値の一覧のオブジェクトも、SAP BusinessObjects Enterprise リポジトリに保存されます。Crystal
Reports でビジネスビューを使用することはできますが、ビジネスビューを作成する場合は、ビジネスビューマ
ネージャを使用します。Crystal Reports で値の一覧を作成して使用できますが、リポジトリに追加するにはビジ
ネスビューマネージャを使用します。
レポートオブジェクトを共有リポジトリに置いて管理すると、オブジェクトを変更した場合に、そのオブジェクトを
含んでいるすべてのレポートでオブジェクトが更新されます。更新はレポートが開かれたときに行われます。レ
ポートオブジェクトを集中管理すると、データの管理作業が容易になり、企業の生産性を高め、コストを最小限
に抑えることができます。
5.1.1 ワークフロー
SAP BusinessObjects Enterprise リポジトリにはさまざまな使用方法がありますが、ここでは、次のような主な作
業の手順を紹介します。
•
95
リポジトリのサブフォルダとサブカテゴリを設定します。
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
リポジトリエクスプローラを使うと、SAP BusinessObjects Enterprise リポジトリの内容を、フォルダ、サブフォ
ルダ、カテゴリ、サブカテゴリから成るツリー形式で表示できます。次のフォルダとカテゴリが、SAP
BusinessObjects Business Intelligence プラットフォームによって提供されます。
•
•
•
•
リポジトリアイテム
Enterprise アイテム
カテゴリ
個人用カテゴリ
サブフォルダとサブカテゴリを追加できます。
•
リポジトリへのレポートオブジェクトの追加
追加するオブジェクトのタイプに応じて、次のような方法があります。
•
•
テキストオブジェクトまたはビットマップイメージを選択し、フォルダにドラッグするか、ショートカットメニュー
から[リポジトリに追加]を選択します。
•
式ワークショップでカスタム関数を選択し、[リポジトリに追加]ボタンをクリックします。
•
データベースエキスポートでコマンドを作成または変更し、[選択したテーブル]リストにそのコマンドが表
示されたら、コマンドを右クリックして、[リポジトリに追加]オプションを選択します。
レポートへのリポジトリオブジェクトの追加
追加するオブジェクトのタイプに応じて、次のような方法があります。
•
•
テキストオブジェクトやビットマップイメージは、リポジトリエクスプローラからレポートにドラッグできます。
•
カスタム関数は、式ワークショップを使用して追加できます。
•
コマンドはデータベースエキスパートを使用して追加できます。
•
値の一覧とプロンプトグループは、[新しいパラメータの作成] または [パラメータの編集] ダイアログボッ
クスで適切なリストから選択して、パラメータフィールドに追加できます。
リポジトリにあるレポートオブジェクトの更新
この場合も、オブジェクトのタイプに応じて、次のような方法があります。
•
テキストオブジェクトやビットマップイメージは、元のリポジトリオブジェクトの上にドラッグできます。
•
カスタム関数は、ユーザインタフェースを使用して更新できます。
•
コマンドは、データベースエキスパートを使用して、更新した後にリポジトリに戻すことができます。
5.2 SAP BusinessObjects Enterprise リポジトリへのアクセス
Crystal Reports に付属しているリポジトリは、インストール時にセットアップされます。リポジトリを使用する前に
準備作業を行う必要はありません。
96
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
5.2.1 SAP BusinessObjects Enterprise リポジトリを開く
1 Crystal Reports を起動し、レポートを開きます。
2
[標準]ツールバーの[リポジトリエクスプローラ]ボタンをクリックします。
ヒント
[表示]メニューの[リポジトリエクスプローラ]をクリックする方法もあります。
3 [ログオン] をクリックして、SAP BusinessObjects Business Intelligence プラットフォームに接続します。
SAP BusinessObjects Business Intelligence プラットフォームにログオンする方法については、387 ページの
「Enterprise フォルダの使用」を参照してください。
リポジトリエクスプローラが表示されます。
4 ノードを展開してリポジトリの内容を表示します。
リポジトリエクスプローラは、最後に Crystal Reports を使用したときの位置に従って、Report Designer にドッキ
ングされていることがあります。エクスプローラのドッキングに関する情報は、93 ページの 「エクスプローラの使
用とドッキング」を参照してください。
リポジトリエクスプローラのオブジェクトの上でマウスのカーソルを動かすと、ツールヒントが表示されます。ツー
ルヒントには、テキストオブジェクトとビットマップに関する作成者と説明の情報が含まれています。コマンドにつ
いては、SQL 文の完全なテキストが含まれています。
5.3 リポジトリエクスプローラツールバー
リポジトリエクスプローラのツールバーには、マウスポインタを置くとツールヒントが表示されるボタンがあります。
これらのボタンを使用すると、新しいフォルダまたはカテゴリの追加、およびアイテムの検索などができます。
97
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
•
表示設定の変更
このオプションを使用して、[表示設定]ダイアログボックスを表示します。このダイアログボックスでは、リポジ
トリエクスプローラに表示するリポジトリアイテムのタイプを制限します。また、オプションを選択して、複数の
アイテムを名前または種類で並べ替えることもできます。
•
高度なフィルタ
このオプションを使用すると、リポジトリエクスプローラの下部にフィルタオプションを表示できます。これらの
フィルタを使用して、[アイテムの追加]ダイアログボックスにある[名前]または[作成者]フィールドの単語で特
定のアイテムを検索することができます。アイテムの名前や作成者を追加または変更する方法については、
99 ページの 「リポジトリへのアイテムの追加」および103 ページの 「リポジトリのオブジェクトの変更」を参照
してください。
注
このオプションのフィルタフィールドに入力するテキストは大文字と小文字が区別されません。
•
アイテム/フォルダの削除
このオプションを使用すると、選択したアイテムまたはフォルダがリポジトリから永久に削除されます。フォル
ダを削除すると、フォルダ内のアイテムがすべて削除されます。リポジトリからのアイテムの削除に関する詳
細は、105 ページの 「アイテムのリポジトリからの削除」を参照してください。
•
新しいフォルダの挿入
リポジトリに新しいサブフォルダを追加するには、このオプションを使用します。詳細については、98 ペー
ジの 「サブフォルダやサブカテゴリのリポジトリへの追加」を参照してください。
注
このオプションは、リポジトリツリーでカテゴリを選択した場合、[新しいカテゴリの挿入]と呼ばれます。
•
サーバからログオフ
接続している SAP BusinessObjects Business Intelligence プラットフォームサーバからログオフするには、こ
のオプションを使用します。ログオフすると、このオプションは [ログオン] になり、それを使用して SAP
BusinessObjects Business Intelligence プラットフォームサーバに再接続したり、別のサーバに接続したりす
ることができます。
5.4 サブフォルダやサブカテゴリのリポジトリへの追加
ツリービューでサブフォルダやサブカテゴリを作成して、リポジトリの内容を整理できます。
フォルダは、コンテンツを論理的なグループに分けるのに使用できるオブジェクトです。カテゴリは、フォルダと
同様、ドキュメントを整理するために使用できるオブジェクトです。ドキュメントは複数のカテゴリに関連付けるこ
とができ、カテゴリ内にサブカテゴリを作成することも可能です。
SAP BusinessObjects Business Intelligence プラットフォームでは、次の種類のカテゴリを使用できます。
•
98
会社用カテゴリ: 管理者、またはこれらのカテゴリへのアクセス権が付与されている他のユーザによって作
成されます。適切な権限がある場合、会社用カテゴリを作成できます。
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
•
個人用カテゴリは、ユーザごとに独自の個人情報を整理するために作成できます。
5.4.1 新しいサブフォルダまたはサブカテゴリを追加する
1 リポジトリエクスプローラで、既存のノードを選択し、リポジトリエクスプローラのツールバーにある[新しいフォ
ルダの挿入]または[新しいカテゴリの挿入]をクリックします。
ヒント
挿入ボタンは、選択したオブジェクトの種類に応じて、自動的にフォルダまたはカテゴリに変化します。
新しいサブフォルダまたはサブカテゴリがリポジトリツリーに追加されます。リポジトリアイテムが並べ替えら
れていな場合、新しいサブフォルダまたはサブカテゴリは選択ノードの下に追加されます。リポジトリアイテ
ムを種類別に並べ替える場合、"新しいフォルダ"というデフォルト名の新しいサブフォルダまたはサブカテ
ゴリが文字順で追加されます。
2 この新しいサブフォルダに名前を付けて、Enter キーを押します。
5.5 リポジトリへのアイテムの追加
テキストオブジェクトやビットマップイメージをリポジトリに追加するには、これらをレポートからリポジトリフォルダ
にドラッグします。ダイアログボックスが表示されるので、そのオブジェクトの識別情報を追加できます。
リポジトリにカスタム関数を追加するには式ワークショップを使用し、コマンドを追加するにはデータベースエキ
スパートを使用します。
レポートのアイテムをリポジトリに保存すると、これらのアイテムを多くのレポートで共有できるようになります。
Crystal Reports の各ユーザは、リポジトリに接続し、アイテムを選択してレポートに追加できます。
オブジェクトをリポジトリに追加すると、そのオブジェクトはリポジトリに"接続された"状態になります。オブジェク
トがリポジトリに接続されていれば、そのオブジェクトを使用しているすべてのレポートを、リポジトリにある最新
のオブジェクトで更新できます。
5.5.1 テキストオブジェクトまたはビットマップイメージの追加
1 レポート内のテキストオブジェクトまたはビットマップイメージを選択し、リポジトリエクスプローラの該当する
フォルダにドラッグします。
2 [オブジェクト情報]ダイアログボックスの[名前]フィールドに、オブジェクトまたはイメージに付ける名前を入
力します。
99
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
注
オブジェクト名には # " { } ; / の各文字は使用できません。
3 必要に応じて、作成者と説明を入力し、[OK]をクリックします。
ヒント
作成者と説明の情報はツールヒントに表示されます。この情報は、[高度なフィルタ]オプションを使用して検
索できます。
これで、このテキストオブジェクトまたはビットマップイメージが、該当するフォルダに追加されました。
5.5.2 テキストオブジェクトまたはビットマップイメージの追加 - 別の方法
ドラッグアンドドロップ以外の方法でテキストオブジェクトやビットマップイメージを追加することもできます。
1 レポート内のテキストオブジェクトまたはビットマップイメージを選択し、ショートカットメニューから[リポジトリ
に追加]を選択します。
[アイテムの追加]ダイアログボックスが表示されます。
オブジェクトを特定のリポジトリフォルダにドラッグしていないので、このダイアログボックスには、オブジェク
トの追加先を選択するための領域があります。
2 [名前]フィールドに、オブジェクトまたはイメージに付ける名前を入力します。
注
オブジェクト名には # " { } ; / の各文字は使用できません。
3 [保存場所]エリアで、リポジトリフォルダを選択し、[OK]をクリックします。
これで、このテキストオブジェクトまたはビットマップイメージが、該当するフォルダに追加されました。
リポジトリに追加したオブジェクトを編集しようとすると、オブジェクトは読み取り専用モードになっていて変更で
きないことがわかります。これは、リポジトリに格納されるすべてのレポートオブジェクトについて当てはまります。
レポートオブジェクトがリポジトリに接続されている間は、レポート内でそのオブジェクトを変更することはできま
せん。レポート内でそのオブジェクトを右クリックし、ショートカットメニューの[リポジトリから接続解除]を選択する
と、オブジェクトはリポジトリから接続解除されて編集可能になります。編集したレポートオブジェクトを他のレ
ポートにも反映させるには、このオブジェクトをリポジトリに再追加する必要があります。
5.5.3 カスタム関数の追加
1 式ワークショップで [レポートカスタム関数] ノードを展開し、リポジトリに追加するカスタム関数を選択します。
2
[リポジトリに追加]ボタンをクリックします。
これで、カスタム関数が[リポジトリカスタム関数]ノードに追加されました。
100
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
ヒント
•
リポジトリにカスタム関数を追加するには、ワークショップツリーで[レポートカスタム関数]ノードからこの
関数をドラッグして、[リポジトリカスタム関数]ノードの上にドロップする方法もあります。
•
[レポートカスタム関数]ノードのカスタム関数アイコンが変わり、カスタム関数がリポジトリ内にあるこ
とが示されます。
注
Crystal Reports に付属の[リポジトリカスタム関数]ノードにすべてのカスタム関数を追加する必要があります。
5.5.4 コマンドの追加
1
2
3
4
データベースエキスパートの[選択したテーブル]領域で、リポジトリに追加するコマンドを選択します。
コマンドを右クリックして、[リポジトリに追加]を選択します。
[アイテムの追加]ダイアログボックスで、コマンドに付ける名前と、追加先のリポジトリを指定します。
[保存場所]エリアで、リポジトリフォルダを選択し、[OK]をクリックします。
SAP BusinessObjects Enterprise エクスプローラ、リポジトリエクスプローラ、データベースエキスパート、お
よび [データソースの保存場所の設定] ダイアログボックスにコマンドが表示されます。
5.6 レポートでのリポジトリオブジェクトの使用
オブジェクトや、オブジェクトのコレクションをリポジトリに追加すると、これらのオブジェクトを Crystal レポートで
使用できるようになります。各タイプのリポジトリオブジェクトは、それぞれのユーザインタフェースを使ってレポー
トに追加できます。テキストオブジェクトやビットマップイメージは、リポジトリエクスプローラからレポートへ単純
にドラッグします。カスタム関数は、式ワークショップで作業するときに選択され、コマンドは、SAP BusinessObjects
Enterprise エクスプローラ、データベースエキスパート、[データソースの保存場所の設定] ダイアログボックス
で選択されます。[パラメータの新規作成]ダイアログボックスまたは[パラメータの編集]ダイアログボックスで、値
の一覧オブジェクトを選択できます。
リポジトリオブジェクトをレポートに追加すると、そのオブジェクトはリポジトリに接続された状態で、読み取り専用
モードになります。オブジェクトを編集するには、リポジトリから接続解除し、書式設定のロックを解除する必要
があります。
注
101
•
リポジトリから接続解除したレポートオブジェクトを再び接続するには、オブジェクトをもう一度リポジトリに追
加するか、リポジトリ側のコピーを更新します。リポジトリから接続解除されたままのレポートオブジェクトは、
次回にレポートを開いても自動的に更新されることはありません。
•
レポートオブジェクトがリポジトリに接続されているかどうかを確認するには、レポートエクスプローラを開
いてレポートオブジェクトを検索します。オブジェクトの前にアイコンが付いている場合は、リポジトリに接続
されています。
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
ここでは、新しいレポートにビットマップイメージやカスタム関数、またはコマンドを追加する方法について説明
します。また、値の一覧をパラメータに追加する方法についても説明します。
5.6.1 レポートへのテキストオブジェクトまたはビットマップイメージの追加
1
[標準]ツールバーの[リポジトリエクスプローラ]ボタンをクリックします。
ヒント
[表示]メニューの[リポジトリエクスプローラ]をクリックする方法もあります。
2 SAP BusinessObjects Business Intelligence プラットフォームにまだログオンしていない場合は、ログオンし
ます。
SAP BusinessObjects Business Intelligence プラットフォームにログオンする方法については、387 ページの
「Enterprise フォルダの使用」を参照してください。
3 リポジトリエクスプローラで該当のフォルダを展開し、テキストオブジェクトまたはビットマップイメージをレポー
トにドラッグします。
注
SAP BusinessObjects Enterprise リポジトリのフォルダの名前は、そこに格納されているオブジェクトを表してい
る必要はなく、自由に決めてかまいません。詳細については、98 ページの 「サブフォルダやサブカテゴリのリ
ポジトリへの追加」を参照してください。
5.6.2 レポートへのカスタム関数の追加
1
[エキスパートツール] ツールバーの [式ワークショップ] ボタンをクリックします。
ヒント
[レポート] メニューの [式ワークショップ] をクリックする方法もあります。
2 式ワークショップで [リポジトリカスタム関数] ノードを展開し、レポートに追加するカスタム関数を見つけま
す。
3 カスタム関数を右クリックし、ショートカットメニューの[レポートに追加]をクリックします。
レポートに追加しようとしているカスタム関数に、リポジトリにある他のカスタム関数が必要な場合は、それら
も同時に追加できます。
これで、カスタム関数が式ワークショップの [レポートカスタム関数] ノードに追加されました。
注
式ワークショップで式を作成しているときに、レポートにカスタム関数を追加することもできます。この方法の詳
細については、425 ページの 「式エキスパートによる式の作成」を参照してください。
102
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
5.6.3 レポートへのコマンドの追加
1
[エキスパートツール]ツールバーの[データベースエキスパート]ボタンをクリックします。
ヒント
[データベース]メニューの[データベースエキスパート]をクリックする方法もあります。
2 データベースエキスパートで、[リポジトリ]フォルダを開きます。
ヒント
SAP BusinessObjects Enterprise エクスプローラがすぐに開かない場合は、[新しい接続先の作成] をダブ
ルクリックします。
3 SAP BusinessObjects Enterprise エクスプローラで、フォルダを展開して追加するコマンドが見つかったら、
[開く] をクリックします。
データベースエキスパートの[利用可能なデータソース]領域にコマンドが表示されます。この領域に表示され
ているコマンドは、他のデータソースを追加するのと同様の方法でレポートに追加できます。詳細については、
72 ページの 「データソースの選択」を参照してください。
5.6.4 値の一覧のパラメータへの追加
1 [フィールドエクスプローラ]で[パラメータフィールド]を選択して、[新規作成]をクリックします。
2 [値の一覧]領域で[動的]をクリックします。
3 [既存]をクリックして、表示されるツリービューから値のリポジトリ一覧を選択します。
注
この一覧が空(リポジトリに接続できないか、既存の値の一覧がレポートに含まれていない)の場合、このオ
プションは使用できません。
5.7 リポジトリのオブジェクトの変更
リポジトリオブジェクトの接続を解除し、レポート内で変更を加えた後、それをリポジトリに再び追加して戻すこと
で、リポジトリオブジェクトを変更できます。リポジトリ内でオブジェクトの名前を直接変更したり、別のフォルダに
移動したりすることもできます。
注
オブジェクトに変更を加えてからリポジトリに戻すと、そのリポジトリを使用している全員に影響するので注意し
てください。オブジェクトの名前を変更した場合、すべてのユーザに対して名前が変更されます。レポートで使
103
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
用しているオブジェクトに変更が加えられた場合は、Report Designer でレポートを開いたときにオブジェクトが
更新されます。
5.7.1 リポジトリオブジェクトを変更する
注
ここでは、リポジトリのテキストオブジェクトを変更して更新する方法について説明します。カスタム関数とコマン
ドは、それぞれの対応するユーザインタフェースで変更および更新されます。どちらの場合も、最初にカスタム
関数またはコマンドとリポジトリとの接続を解除し、変更を加えてから、カスタム関数またはコマンドをリポジトリに
再び追加して戻す必要があります。
1 リポジトリエクスプローラから、テキストオブジェクトをレポートにドラッグします。
2 レポート内のテキストオブジェクトを右クリックし、ショートカットメニューから[リポジトリから接続解除]を選択し
ます。
3 このテキストオブジェクトをダブルクリックし、テキストを変更します。
4 テキストオブジェクトを、レポートからリポジトリのテキストオブジェクトを含むフォルダにドラッグアンドドロップ
します。
テキストオブジェクトをドロップすると、[オブジェクトの追加/更新]ダイアログボックスが表示されます。
5 [更新]をクリックします。
6 [アイテムの変更]ダイアログボックスで、必要な変更を加えて[OK]をクリックします。
7 リポジトリでテキストオブジェクトを右クリックし、ショートカットメニューで[プロパティ]をクリックします。
[変更日時]領域の日付と時刻が、テキストオブジェクトをリポジトリに追加して戻した時刻を反映して変更さ
れています。
5.8 接続されているリポジトリオブジェクトのレポートでの更新
レポートで使用しているリポジトリオブジェクトが、そのレポートのリポジトリに接続されていれば、Crystal Reports
でレポートを開いたときに、これらのオブジェクトを自動的に更新できます。この動作は[オプション]の設定で制
御され、すべてのレポートに対して共通です。
注
レポートで使用しているオブジェクトがリポジトリから接続解除されている場合は、レポートを開いても自動的に
更新されることはありません。
5.8.1 更新オプションを設定する
104
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
1 [ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログボックスが開きます。
2 [レポート]タブをクリックします。
3 [開いた時に接続済みのリポジトリオブジェクトを更新]チェックボックスをオンにします。
4 [OK]をクリックします。
このグローバルオプションを使用しない場合は、個々のレポートに対して[開く]ダイアログボックスの[リポジトリ
オブジェクトの更新]オプションを選択する方法でも、レポートのリポジトリオブジェクトを更新できます。
注
リポジトリに保存されているコマンドを含むレポートを開くと、開いた時に接続済みのリポジトリオブジェクトが更
新されるように指定している場合は、コマンドの定義のみ自動的に最新表示されます。レポートで[最新表示]ボ
タンをクリックしない限り、コマンドから返されるデータは更新されません。
5.9 アイテムのリポジトリからの削除
リポジトリに保存したオブジェクトは、それを使っているレポートからは削除することなく、リポジトリから削除でき
ます。リポジトリからオブジェクトを削除すると、そのオブジェクトはすべてのユーザに対して削除されます。
注
•
•
リポジトリからオブジェクトを削除したとき、そのオブジェクトを使用しているレポートでは、オブジェクトは接
続されたままのように見えます。これらのレポートでリポジトリオブジェクトを更新しようとすると、[リポジトリア
イテムが見つかりません]ダイアログボックスに警告メッセージが表示されるので、削除されたオブジェクトを
すばやく特定できます。[レポートエクスプローラ]ダイアログボックスを使用して、レポート内のオブジェクトを
検索します。次に、オブジェクトを接続解除できます。
リポジトリからオブジェクトを削除した場合は、同じ名前の新しいオブジェクトを作成し、そのオブジェクトをリ
ポジトリに追加して戻してもそのオブジェクトはレポートにリンクし直されません。各リポジトリオブジェクトには
一意の ID があります。名前によってリンクされることはありません。
5.9.1 リポジトリからオブジェクトを削除する
1
[標準]ツールバーの[リポジトリエクスプローラ]ボタンをクリックします。
ヒント
[表示]メニューの[リポジトリエクスプローラ]をクリックする方法もあります。
2 該当するフォルダで、削除するオブジェクトを選択し、Del キーを押します。
削除の確認画面が表示されます。
3 [はい]をクリックします。
105
2012-05-10
SAP BusinessObjects Enterprise リポジトリ
リポジトリからオブジェクトが削除されます。
リポジトリオブジェクトを削除するには、オブジェクトを右クリックし、ショートカットメニューから[削除]を選択する
方法もあります。
5.10 リポジトリでの[元に戻す]の使用
リポジトリを更新するような操作は、元に戻すことはできません。リポジトリの変更を伴わない、レポートだけに影
響する操作は、元に戻すことができます。たとえば、接続解除の操作は元に戻すことができます。
106
2012-05-10
最適化された Web レポートの作成
最適化された Web レポートの作成
6.1 概要
社内のレポートを LAN、社内イントラネット、Web のどの方法で配布する場合でも、Crystal Reports の強力な
機能を利用すれば、Web 上でのレポートの配布がすばやく行えます。
この節で説明している方法を採用しなくても、Crystal Reports では自動的にこれらの主要なパフォーマンス向
上機能が利用できます。
•
ページオンデマンドテクノロジ
ページオンデマンドによって、ユーザにとって必要なレポートページだけをダウンロードして表示します。こ
れにより、応答時間が短かくなり、ネットワーク通信量も減少します。さらに、プレースホルダおよびパーシャ
ルページテクノロジにより、グラフィックやサブレポートなどのサイズの大きいオブジェクトの処理を待つこと
なく、Web 経由でレポートページとデータを瞬時に表示します。
•
最適化されたマルチスレッドレポートエンジン
Crystal Report Engine のマルチスレッド機能とスレッドセーフデータベースドライバにより、バックグラウンド
で多くの処理が実行されていても、重要な作業を続けることができます。また、レポートエンジンは、データ
に対して行われるパスの数を最小化し、改善されたメモリ管理機能により処理を高速化し、サブレポートと
パラメータを可能な限り効率的に処理します。
これらの組み込み機能に加え、次の節で説明している108 ページの 「Web レポートを最適化するための主な
方法」に従うことで、さらにパフォーマンスを向上させることができます。これらの方法に従って新しいレポートを
作成したり、Crystal Reports の古いバージョンで作成されたレポートを改良したりすると、レポートはより高速に
実行され、処理に必要なリソースが削減されます。その結果、レポートユーザは、必要なデータに以前よりすば
やく簡単にアクセスできるようになります。
ヒント
Web レポーティングや一般的なレポーティングを初めて利用する場合でも、この節を読むことで、より優れたス
ピーディなレポートをデザインするための知識が習得でき、今後のレポート作業に活用できるようになります。
注
パフォーマンスの問題を検討する際には、データベースとその動作を理解することが重要です。データベース
の概要については、499 ページの 「データベースの概要」を参照してください。
107
2012-05-10
最適化された Web レポートの作成
6.1.1 Web レポートを最適化するための主な方法
•
企業の成長に伴って、Crystal Reports と SAP BusinessObjects Business Intelligence プラットフォームを拡
張できます。詳細については、108 ページの 「SAP BusinessObjects Business Intelligence プラットフォーム
を使用した拡張 」を参照してください。
•
処理速度の速い対話型レポートを作成するためのヒントと留意点については、110 ページの 「適切なデザ
インの選択」を参照してください。
•
既存のデータベースを最大限利用する方法については、116 ページの 「レポート環境の簡略化」を参照し
てください。
•
データの転送量を最小化し、レポートのパフォーマンスを向上させる方法については、119 ページの 「機能
拡張されたレコード選択式の使用 」を参照してください。
•
グループ化、並べ替え、または集計されたレポートの処理回数およびデータ転送回数を削減する方法につ
いては、125 ページの 「グループ化、並べ替え、および総計機能の向上」を参照してください。
一般的に、レポートのパフォーマンスに関する問題は、いずれのレポート配布方法でも同じです。ここでの説明
に従うことにより、複数のユーザが存在する Web 環境はもちろん、単一ユーザ環境でも大幅なパフォーマンス
の向上を実現できます。
6.2 SAP BusinessObjects Business Intelligence プラットフォームを使用した拡張
SAP BusinessObjects Business Intelligence プラットフォームでは、レポートを Web 経由で配布したり、カスタム
Web アプリケーションに統合したりするための、柔軟で効率的な方法が利用できます。
Report Application Server (RAS) は、レポーティング機能をカスタム Web アプリケーションに統合するための、
サーバベースのレポーティングサービスを提供します。RAS では、BusinessObjects Business Intelligence プ
ラットフォームのサービスのベースセットを利用して、レポート処理、アプリケーション統合、および実行時のレ
ポートの変更をサポートします。
お使いのアプリケーションの機能をさらに拡張するには、SAP BusinessObjects Business Intelligence プラット
フォームのその他のエディションで利用可能な高度なサービスを使用することもできます。
•
セキュリティ
SAP BusinessObjects Business Intelligence プラットフォームにはグループレベル、ユーザレベル、および
データレベルの詳細なセキュリティがあり、機密情報を含むレポートの保護や、各エンドユーザに特化した
使用環境の設定を支援します。
•
スケジュール
SAP BusinessObjects Business Intelligence プラットフォームでは、時間やイベントに基づく柔軟なスケジュー
リング機能を導入し、システム利用率の低い時間帯に大きなレポートを処理したり、不要なデータベースへ
108
2012-05-10
最適化された Web レポートの作成
のアクセスを避けたりすることができます。(Report Application Server のオンデマンドレポーティング機能で
は、レポートの表示をリクエストするたびにデータベースを照会します)。
•
バージョン管理
バージョン管理機能はスケジューリング機能と連携して、レポートのインスタンスを保存します。この機能に
より、ユーザが要求するデータベースアクセスの回数を減らすだけでなく、後の参照用にレポートインスタン
スをアーカイブにして保存することができます。
•
クラスタリング
SAP BusinessObjects Business Intelligence プラットフォームには実証済みのクラスタリング技術と負荷分散
技術が導入されており、高可用性と信頼性を誇る情報配信システムの展開を実現します。
•
拡張性
SAP BusinessObjects Business Intelligence プラットフォームは分散型のマルチサーバアーキテクチャを基
に構築されており、プロセスの追加によって 1 台のマシン上で拡張を行ったり、複数のマシン上に拡張した
りして、より多くのユーザによる負荷を処理することができます。
•
管理
SAP BusinessObjects Business Intelligence プラットフォームには幅広い保守管理制御機能が備えられ、コ
ンテンツの整理、複雑なスケジュールやセキュリティの設定、そして最適なパフォーマンスのためのシステム
調整が可能です。
•
外部 (サードパーティ) 認証
SAP BusinessObjects Business Intelligence プラットフォームでは、既存のセキュリティシステムを活用した、
ユーザやグループの管理を実現できます。すべての認証は、サードパーティの NT または LDAP システム
に委任できます。
6.2.1 SAP BusinessObjects Business Intelligence プラットフォームでの日付/時刻関数の評価時期
Crystal Reports で使用可能なさまざまな日付/時刻関数はそれぞれ、レポート処理中の異なる段階で評価さ
れます。一部の関数は、スケジュールされたレポートを処理するときや、レポートインスタンスを最新表示すると
きに評価されます。この評価時期は、WhileReadingRecords と呼ばれます。また、レポートページをレポート
ビューアやブラウザで表示するために書式設定すると必ず評価される関数もあります。この評価時期は、
WhilePrintingRecords と呼ばれます。
SAP BusinessObjects Business Intelligence プラットフォームを使用してレポートインスタンスを生成し、日付/時
刻関数による評価が予想した値と異なる場合、次の点を考慮してください。
•
109
現在の日付と時刻は、常にレポートエンジンがローカルで使用するクロック、つまり、レポートを処理するコ
ンピュータのクロックから読み込まれます。SAP BusinessObjects Business Intelligence プラットフォームで
は、Job Server がデータベースに対してスケジュールされているレポートを処理し、Page Server がデータ
ベースに対するオンデマンドレポートを処理します。Page Server では、ユーザがレポートを表示するときに、
レポートインスタンスの個々のページの書式設定も実行します。
2012-05-10
最適化された Web レポートの作成
•
スケジュールされたレポートが処理されると、レポートインスタンスの生成のために、Job Server が日付と時
刻の式をすべて評価します。結果のレポートインスタンスを表示するだけの場合は、式は再評価されませ
ん。
•
キャッシュされたレポートページを表示するときには、日付/時刻関数は再評価されません。レコードはすで
に読み込まれ、ページはすでに書式設定されているからです。
•
レポートの選択式で日付/時刻関数を使用する場合、レポートのデータは、これらの式から返される値に応
じて異なります。その結果、後日レポートインスタンスを表示するときに、この関数によってレポートデータが
データベースから更新される可能性があります。
•
日付/時刻関数の評価が予想した値になるようにするには、評価時期を WhileReadingRecords 関数と
WhilePrintingRecords 関数を使用して強制的に指定します。
詳細については、Crystal Reports オンラインヘルプの「関数」および「レポート処理モデル」の節を参照し
てください。
6.3 適切なデザインの選択
この節では、レポートのパフォーマンスを向上させるのに役立つデザインオプションと留意点について説明しま
す。Crystal Reports の旧バージョンで作成されたレポートを最も処理速度の速いファイル形式に更新する方
法などの基本的な推奨事項から、ライブデータまたは保存データのどちらを使用すべきか、またはサブレポー
トを効率的に使用する方法など、より高度な内容についても説明します。
レポートをデザインするとき、特に Web で表示するレポートをデザインする場合、ユーザがデータの表示を操
作できるようにする必要があります。つまり、初めに集計情報を表示して、各ユーザがレポートをすばやく閲覧
し、必要に応じてデータをさらにドリルダウンできるようにする必要があります。この方法により、ユーザが要求し
たデータだけがデータベースサーバから転送されるため、Web トラフィックと応答時間を最小限にすることがで
きます。
ユーザが操作できるレポートデザインの利点の一部を以下に示します。
•
レポートユーザは、Web で表示する情報のタイプと量をインタラクティブに制御できます。
•
ユーザが要求した情報だけがデータベースサーバから返されるため、データ転送量とネットワークトラフィッ
クが減少します。
•
ユーザが ライブデータを Web を介してリアルタイムで処理する必要がある場合、ユーザのニーズを中心に
考えて設計されたレポートなら、すばやく応答してデータベースサーバと効率的に通信します。
•
各ユーザはレポートの内容をカスタマイズすることにより、独自の意思決定作業に特化した有用なレポー
ティングソリューションを作成できます。
6.3.1 より高速なレポート形式の使用
110
2012-05-10
最適化された Web レポートの作成
Crystal Reports の旧バージョンで作成されたレポートのパフォーマンスを向上させる最も簡単な方法は、最新
の Crystal Reports 形式で保存することです。Crystal Reports は、レポートを従来よりも速く処理できるように機
能拡張されています。旧バージョンのレポートを更新して、これを十分に活用してください。
旧バージョンのレポートを更新するには、そのレポートを Crystal Reports で開き、[ファイル]メニューで[上書き
保存]を実行します。旧バージョンのレポートは、バージョン 2011 形式に変換されます。
注
レポートを元のファイル形式でも残しておく必要がある場合は、[上書き保存] の代わりに [名前を付けて保存]
コマンドを選択し、レポートの新しい名前を入力してバージョン 2011 形式で保存します。
6.3.2 ライブデータまたは保存データの選択
Web でレポートする場合、ライブデータと保存データのどちらを使用するかは、最も重要な決定事項の 1 つで
す。ただ、どちらを選択しても、Crystal Reports により最初のページがすばやく表示され、残りのデータの処理
が行われていてもレポートを見ることができます。
6.3.2.1 ライブデータ
ライブレポーティングにより、ユーザは、データベースサーバ上のライブデータに直接リアルタイムでアクセスで
きます。ライブデータを使用すると、ユーザは常に変化するデータを基に最新の情報を取得できます。たとえ
ば、大規模な配送センタのマネージャが継続的に出荷される製品の在庫状況を確認する必要がある場合、ラ
イブレポーティングを使用すると必要な情報が得られます。
Crystal Reports はライブレポート機能をサポートします。ただし、すべてのユーザにデータベースサーバへの
アクセスを常に提供する必要があるかどうかを検討することが必要です。データが繰り返し変更されない場合、
または絶えず変更されない場合は、データベースへのこれらの要求はネットワークトラフィックを増加させ、サー
バのリソースを消費するだけです。このような場合は、保存データを持つレポートの使用をお勧めします。
リアルタイムレポーティングを効率的に行えるよう、この章の説明のすべてに目を通してください。特に以下のト
ピックは重要です。
•
113 ページの 「オンデマンドサブレポートの活用」
•
125 ページの 「サーバ上でのグループ化の実行」
•
124 ページの 「パラメータフィールドのレコード選択式への取り込み」
6.3.2.2 保存データ
111
2012-05-10
最適化された Web レポートの作成
保存データを持つレポートは、頻繁に更新されないデータを使用する場合に便利です。保存データを持つレ
ポートのナビゲートや、列やチャートをドリルダウンして詳細を表示する際、ユーザはデータベースサーバの代
わりに保存データにアクセスします。つまり、保存データを持つレポートは、ネットワーク上のデータ転送を最小
化するだけでなく、データベースサーバの負荷も軽減します。
また、保存データを持つレポートがデータベースの情報を使って指定した間隔で自動的に更新されるように、
SAP BusinessObjects Business Intelligence プラットフォームでこれらのレポートをスケジュールすることもできま
す。たとえば、販売用のデータベースが 1 日 1 回または 1 週間に 1 回しか更新されない場合、同じ間隔でレ
ポートを実行して、データと共に保存できます。これにより、販売担当者は、レポートを開くたびにデータベース
にアクセスすることなく、最新の販売データを得ることができます。または、保存データを持つレポートを必要に
応じて最新表示することもできます。
保存データは、レポートで次の処理を実行するたびに破棄され、最新表示されます。
•
[最新表示]コマンドを選択した場合
•
データベースログオンを変更した場合
•
レポートのデータパラメータのいずれかを変更した場合
•
保存データに存在しない新しいフィールドを追加した場合
•
[サーバ上でグループ化を実行] がオンで、詳細セクションが非表示になっているレポートをドリルダウンし
た場合
•
データベース構造の大幅な変更などの理由でデータベースを検証した場合
•
サブレポートでリンクパラメータを変更した場合(サブレポートが最新表示された場合)
•
グループの順序を変更した場合(Report Application Server のレポートの場合のみ)
保存データを持つレポートを使用する場合は、レポートのパフォーマンスが最適化されるよう、この節で説明し
ているその他の推奨事項を参照してください。
データと共にレポートを保存するには、[ファイル]メニューの[データをレポートとともに保存]オプションが選択さ
れていることを確認してから[保存]を実行します。
6.3.3 集計レポートの作成
集計レポートをデザインして配布することにより、ユーザが必要とするデータを Web 上ですばやく簡単に提供
することができます。他のレポートと同様に、必要な量のデータを集計レポートに格納させることができます。た
だし、集計レポートの[詳細]セクションを非表示にして、ユーザがすぐには必要としない大量のデータを隠して
おくこともできます。
[詳細]セクションを非表示にした場合、ユーザはまずグループツリーをナビゲートして必要なデータを探します。
その後、レポートをドリルダウンすることにより詳しいデータを要求し、必要なレコードだけをすばやく取得する
ことができます。これは、数百から数万の大量のページで構成された大きな集計レポートのナビゲーションを簡
単にするには特に重要な機能です。
112
2012-05-10
最適化された Web レポートの作成
このようなナビゲーションを可能にするには、まずデータをグループ化し、レポートに入れる集計フィールドを挿
入します。その詳細と手順については、147 ページの 「データのグループ化」および165 ページの 「グループ値
の集計」を参照してください。
レポートデータをグループ化して集計したら、ユーザが必要とするデータへ簡単にナビゲートできるように、[詳
細]セクション(および他の大量なデータがある他のレポートセクション)を非表示にします。
6.3.3.1 集計レポートで詳細を非表示にする
1 Crystal Reports でレポートを開きます。
グループ化された集計レポートを作成していない場合は、サンプルの Feature Examples フォルダから
Group.rpt を開きます。
2
3
4
5
[レポート]メニューで[セクションエキスパート]をクリックして、セクションエキスパートを開きます。
[セクション]リストで[詳細]をクリックします。
[セクションエキスパート]の[共通]タブで、[非表示 - ドリルダウン可]チェックボックスをオンにします。
[OK]をクリックします。
詳細が非表示になります。詳細を表示するには、グループツリーを使用してレポートをナビゲートし、レポートの
該当エリアをドリルダウンします。
注
集計レポートでデータ転送を最小化する方法については、125 ページの 「サーバ上でのグループ化の実行」
を参照してください。
6.3.4 サブレポート使用時の留意点
サブレポートは、メインレポートに追加のデータを入れる最適な方法です。サブレポートに関連するパフォーマ
ンスの問題は、使用するサブレポートの種類によって異なります。
サブレポートの詳細については、485 ページの 「サブレポート」を参照してください。
6.3.4.1 オンデマンドサブレポートの活用
レポートに大量のレコードを処理するセクションがある場合、そのセクションをオンデマンドサブレポートに入れ
ることができます。オンデマンドサブレポートは、メインレポートでハイパーリンクとして表示されます。メインレ
ポートを開いても、ハイパーリンクをドリルダウンするまでは、オンデマンドサブレポートのデータは取得されま
せん。
113
2012-05-10
最適化された Web レポートの作成
たとえば、各製品および各製品の種類に対する各従業員の四半期の売上を表示するレポートをデザインする
とき、週単位の販売情報を追加して、各従業員の販売状況も取得するとします。しかし、レポートを表示する大
半のユーザは、この追加データに関心がない可能性があります。このような場合、レポートの週単位の販売状
況データを抽出し、それをオンデマンドサブレポートにアタッチします。こうすれば、週単位の販売状況に関す
る詳細情報は、ユーザがオンデマンドサブレポートをドリルダウンしたときだけデータベースから抽出されます。
大量のデータを持つクロスタブや、OLAP グリッド、詳細チャート、およびマップなどの多くのレポートオブジェ
クトは、オンデマンドサブレポートに含めるのに最適のオブジェクトです。この方法を使用すると、それらのオブ
ジェクトはドリルダウンされるまで処理されません。
オンデマンドサブレポートの挿入方法については、488 ページの 「サブレポートの挿入」および496 ページの
「オンデマンドサブレポートの作成」を参照してください。
ヒント
これらのレポートオブジェクトは、[サーバ上でグループ化を実行]オプションを使用するレポートの、非表示に
なっている[詳細]セクションに配置することもできます。こうすれば、処理の大半がデータベースサーバで実行
され、レコードのサブセットだけがサーバからローカルマシンに転送されます。残りのレコードは、非表示セク
ションをドリルダウンした場合に取得されます。
6.3.4.2 リンクされたサブレポートの使用
サブレポートをリンクした場合、Crystal Reports ではサブレポート内のデータとメインレポート内の対応するレ
コードとの調整が図られます。リンクされた通常のサブレポート、つまりオンデマンドサブレポートではないリンク
されたサブレポートの使用が必要な場合、次の点を検討してください。
•
リンクされた通常のサブレポートの追加のデータを使用するユーザが少数の場合は、代わりにオンデマンド
サブレポートを作成します。これにより、追加データを参照する必要があるユーザは、ハイパーリンクをクリッ
クしてサブレポートを表示できます。参照する必要がないユーザは、データベースサーバからデータをダウ
ンロードせずに済みます。
•
場合によっては、通常のリンクされたサブレポートをメインレポートの[詳細]セクションに配置すると、パフォー
マンスが低下することがあります。特にメインレポートに大量のレコードが含まれている場合に起こります。こ
れは、メインレポートの各レコードに対して別々のサブレポートを作成することになり、そのためメインレポー
ト内の各データベースレコードに対してクエリが別々に実行されるからです。この場合、リンクされているオ
ンデマンドサブレポートの使用をお勧めします。
6.3.4.3 サブレポートのリンクの代りにテーブルのリンク
通常のサブレポート(オンデマンドサブレポート以外のサブレポート)をメインレポートにリンクする代わりに、でき
る限りデータベーステーブルをデータベースエキスパートの[リンク]タブでリンクして、レポートデータの調節を
図ることをお勧めします。各サブレポートは別々のレポートとして実行されるため、リンクテーブルの方が処理速
度が速くなります。
114
2012-05-10
最適化された Web レポートの作成
6.3.4.3.1 より詳しい情報
•
全般的なガイドラインは、486 ページの 「1 対多の状況におけるデータベースのリンクとサブレポートの比較」
を参照してください。
•
詳細については、517 ページの 「1 対多のリンクの処理速度に関する留意点」を参照してください。
6.3.5 他のデザイン要素の効率的な使用
マップ
マップレンダリングは、拡張性に劣るシングルスレッド操作です。マップはサポートされていますが、レポートの
マップがパフォーマンスに与える全体的な影響を十分に考慮する必要があります。
レポートテンプレート
1 つのテンプレートを複数のレポートに適用する場合は、テンプレートのみを読み取り専用にする必要がある
ため、レポートを一度開いてからキャッシュする方法が最適です。
"ページ数(N/M)"フィールドまたは"合計ページ数"フィールドを含む
レポートに"ページ数 (N/M)"や"合計ページ数"などの特殊フィールドを含める場合は、この値を計算する前
にレポートの処理を終了する必要があります。レポートの容量が小さい場合や、この値が必ず必要な場合以外
は、これらの特殊フィールドはレポートで使用しないでください。
6.3.6 データを最大限に共有するレポートの作成
SAP BusinessObjects Business Intelligence プラットフォームは、1 つのシステム内で複数のユーザが実行する
データベースの呼び出しの数を減らすことによって、パフォーマンスを向上させるデータ共有機能を備えてい
ます。
ある条件を満たせば、レポートオブジェクトを持つユーザ間でデータを共有することができます。レポート情報
に関するさまざまなユーザの要件を損なわずに、データ共有の条件を満たす機会ができるだけ多くなるように
レポートを設計して、データ共有を最大限活用します。
Page Server によるレポートの処理では、次の条件が満たされた場合にレポートのユーザ間でデータが共有さ
れます。
115
•
複数のユーザが同じログオン情報を使用してレポートを表示する。
•
複数のユーザが同じパラメータを使用してレポートを表示する。
•
複数のユーザが同じページレイアウトオプションを使用してレポートを表示する。
•
複数のユーザが同じローカル設定を使用してレポートを表示する。
2012-05-10
最適化された Web レポートの作成
DHTML ビューア、ActiveX ビューア、または Java ビューアを使用して表示したレポートは、Page Server によっ
て処理されます。これらのビューアでは、ユーザはページレイアウトやレポートのロケールを変更することはでき
ません。しかし、カスタムビューアアプリケーションを開発して、こうした機能を提供できるようにすることは可能
です。
Report Application Server(RAS)によるレポートの処理では、次の条件が満たされた場合にレポートのユーザ間
でデータが共有されます。
•
複数のユーザが同じログオン情報を使用してレポートを表示する。
•
複数のユーザが同じパラメータを使用してレポートを表示する。
•
複数のユーザが同じローカル設定を使用してレポートを表示する。
•
ユーザはレポートを修正しない。
アドバンスト DHTML ビューア(またはレポートの表示および変更を許可するカスタムアプリケーション)を使用し
て表示されたレポートは、Report Application Server を使用して処理されます。
6.4 レポート環境の簡略化
レポートのユーザに必要な情報をすばやく提供できるようにするには、レポーティング環境を評価することも必
要です。どのような種類のデータベースを使用するか、データベース内でデータがどのように構成されている
か、レポートを作成するのに必要なデータへどのように接続するか、データベーステーブルにどのようにリンク
するか、などの点に留意することで、ネットワークで転送されるデータの量を大幅に削減できます。
6.4.1 最速のデータベースと接続の選択
レポートのパフォーマンスを向上させるためには、データベースがレポート処理の大半を実行するようにデータ
ベースを最大限活用します。この作業を実行するのに最も効率的なデータベースは、SQL(構造化問い合わせ
言語)データベースです。
SQL データベースの詳細については、503 ページの 「SQL および SQL データベースの使用」を参照してくだ
さい。
6.4.2 テーブルインデックスの使用
データベース内でのデータの整理方法を改善することができます。最適な処理速度を実現するためには、SQL
データベースのインデックスフィールドからレポートを作成します。テーブルインデックスの使用により、データ
アクセス速度の向上や、Crystal Reports のデータ評価時間の短縮を容易に行えます。
116
2012-05-10
最適化された Web レポートの作成
テーブルインデックスの動作方法の詳細については、500 ページの 「インデックス付きテーブル」を参照してく
ださい。
6.4.3 テーブルのリンク選択の改善
レポートに複数のデータベーステーブルを追加する場合は、あるテーブルのレコードと他のテーブル上の関係
するレコードが一致するように、共通フィールド上でテーブルをリンクします(テーブルのリンクは、データベース
テーブルがインデックス化されているときに最も効率的に機能します)。この方法でデータベーステーブルをリ
ンクしたほうが、リンクされているサブレポートをメインレポートに取り込むよりも簡単です。
2 つ以上のテーブルをリンクする場合は、レポートができるだけ少ないレコードを読み込み、一致するすべての
レコードを探すように設定します。そのためには、レポートを作成する前に、レポートに対するニーズを評価し、
レポート方法を計画する必要があります。データソースから取り出したいデータが何なのかを正確に理解して
いれば、Crystal Reports でその情報を簡単に取得できます。
テーブルをリンクする場合には、このほかにも留意すべきことが数多くあります。これらの留意点は、レポート環
境によって異なります。つまり、最適なテーブルリンクパフォーマンスを実現する手順は、データベースタイプ、
テーブルにインデックスを付けるかどうか、テーブル間で必要とされる結合タイプなどによって異なります。さま
ざまなレポート作成の実例については、516 ページの 「テーブルのリンク」を参照してください。
レポートの作成のほとんどの場合、次の一般的な手順に従うことで、たとえパフォーマンスを最適化できなくて
も、少なくとも向上させるようにテーブルがリンクされます。
6.4.3.1 テーブルを効率的にリンクする
1 使用するフィールドに各データベーステーブルがインデックス付けされていることを確認します。
2 レポートにデータベーステーブルを追加し、主テーブルから共通フィールドの参照テーブルへリンクします
(リンクされているサブレポートを挿入して、それをメインレポート内のデータにバインドする代りにこれを実行
します)。
3 主テーブル内のインデックス付きフィールド上に範囲を限定するレコード選択式を使用します。これにより、
Crystal Reports が参照テーブル内で一致するレコードを見つける必要のある主テーブルのレコードの数
を、最小限に減らします。
6.4.4 スレッドセーフデータベースドライバの使用
Web 経由でレポートを共有および更新する場合は、できるだけスレッドセーフデータベースドライバを使用して
レポートを開いてください。Crystal Report Engine はマルチスレッドをサポートしています。このため、スレッド
117
2012-05-10
最適化された Web レポートの作成
セーフデータベースドライバを使用して複数のデータ要求を作成した場合、レポートエンジンはすべての要求
を同時に処理できます。この結果、レポートをよりすばやく表示できるようになります。
以下の汎用データベースドライバはスレッドセーフです。
•
crdb_odbc.dll(ODBC)
•
crdb_jdbc.dll(JDBC)
•
crdb_ado.dll(OLE DB)
以下の種類のデータベースに ODBC 経由で接続するには、ODBC データベースドライバがスレッドセーフで
あり、マルチスレッド方式で動作する必要があります。
•
Microsoft SQL Server
•
Oracle
•
DB2
•
Teradata
•
Sybase
注
また、JDBC や OLE DB 経由で使用するデータベースドライバは常にスレッドセーフで、マルチスレッド方式で
動作する必要があります。
以下のネイティブデータベースドライバはスレッドセーフです。
•
crdb_ado_plus.dll(ADO.NET データプロバイダ)
•
crdb_com.dll(COM データプロバイダ)
•
crdb_db2cli.dll(DB2 Unicode)
•
crdb_javabean(Java Bean データプロバイダ)
•
crdb_xml(XML)
•
crdb_olap.dll(OLAP)
•
crdb_oracle.dll(Oracle)
•
crdb_p2ssby10.dll(Sybase)
注
上記のリストの最新版については、Crystal Reports 製品ディストリビューションに収録されているリリースノート
を確認してください。テストの段階でスレッドセーフと判明したデータベースドライバが追加されている可能性が
あります。
6.4.5 ストアドプロシージャによる処理の高速化
118
2012-05-10
最適化された Web レポートの作成
ストアドプロシージャは、コンパイルされた SQL プログラムで、1 つ 以上の SQL 文からできています。これは、
SQL サーバ上に存在し、SQL サーバ上で実行されます。ストアドプロシージャは、正しく設定するのに時間が
かかりますが、非常に強力な機能となります。
ストアドプロシージャは、大量のデータセットからレポートを作成する場合、または長く複雑な計算を必要とする
レポートを実行するときに最も威力を発揮します。このような場合は、定義済みのストアドプロシージャを使用
し、複雑な作業をクライアント側でなく、データベースサーバ上で実行させます。
ストアドプロシージャは SQL サーバ上に存在するため、ストアドプロシージャへのアクセス方法と設定について
は管理者に確認する必要があります。
•
ストアドプロシージャの詳細については、506 ページの 「ストアド プロシージャ」を参照してください。
6.5 機能拡張されたレコード選択式の使用
レポートの処理時間を短縮するには、データベースから返されるデータ量を制限することが重要です。そのた
めに必要なツールがレコード選択式です。
Crystal Reports は、レコード選択式を分析し、その結果から SQL クエリを生成します。この SQL クエリはデー
タベースによって処理され、結果のレコードが Crystal Reports に返されます。Crystal Reports は、データベー
スから取得した各レコードに対し、ローカルでレコード選択式を評価し、レポート作成に使用するレコードセット
を計算します。
不要なレコードは、まず SQL クエリを使ってデータベースで除去され、次にレコード選択式を使って Crystal
Reports で除去される、というように 2 段階で除去されます。処理速度の点で見ると、最初の段階でできるだけ
多くのレコードを除去する必要があります。レコード選択式を効率的に組み立てることで、レポート処理の負荷
の多くをデータベースサーバに移すことができます。これにより、不必要なレコードが Crystal Reports に返さ
れる前に除去されます。通常、これを"レコード選択をデータベースサーバにプッシュダウンする"と言います。
この節では、データベースサーバにレコード選択式をプッシュダウンするためのヒントについて説明します。
6.5.1 レコード選択のプッシュダウンの例
この例では、データベースサーバにプッシュダウンできるレコード選択式を記述することの利点について説明
します。
Xtreme サンプルデータベースの Orders テーブルには 2,192 のレコードがあり、そのうちの 181 レコードは
2001 年以前の受注日付を持っています。これらのレコードだけを対象としてレポートを作成する必要があると
します。一方、次のレコード選択式を使用できるとします。
Year ({Orders.Order Date}) < 2001
生成された SQL クエリは、2,192 のレコードすべてを Crystal Reports に送り、次に、このレコード選択式がレ
コードの数を 181 まで絞ります。これを確認するには、[データベース]メニューの[SQL クエリの表示]をクリック
119
2012-05-10
最適化された Web レポートの作成
し、SQL クエリに WHERE 句がないことに注目してください。これは、Crystal Reports が WHERE 句の中に
Year()関数をプッシュダウンできないからです。
一方、次のレコード選択式は同じレポートを生成します。
{Orders.Order Date} < #Jan 1, 2001#
この 2 番目の式は、データベースサーバで実行できるのでプッシュダウンされます。生成された SQL クエリは、
181 レコードだけを Crystal Reports に送るので、次に Crystal Reports がレコード選択式を評価するときには、
除去する必要があるレコードは既にありません。[データベース]メニューの[SQL クエリの表示]をクリックし、結
果の SQL クエリに WHERE 句があることを確認してください。
この例で示しているように、レコード選択式を強化するとレポートの処理速度が向上します。この場合、どちらの
式でも同じレポートが生成されますが、2 番目の式では、データベースサーバが自身のデータを処理する場合
に使用可能な能力と最適化機能を活用できます。
ヒント
レコード選択の要求をセットアップする場合の制限および詳細については、次の節を参照してください。
注
レコード選択式を初めて使用する場合は、選択エキスパートまたはレコード選択式のサンプルテンプレートを
使用できます。レコード選択については、129 ページの 「レコードの選択」を参照してください。
6.5.2 レコード選択のパフォーマンスに関するヒント
選択の要求を設定する際には、処理速度に関して考慮する点がいくつかあります。"プッシュダウン"とはレコー
ド選択をサーバ側で処理させることです。
6.5.2.1 一般設定
•
レコード選択をプッシュダウンするには、[レポートオプション]ダイアログボックス([ファイル]メニューから表示
可能)の[インデックスまたはサーバを使用して高速化]をオンにする必要があります。
•
レコード選択式では、パラメータフィールド以外のフィールドでのデータの型変換を避けます。
たとえば、ToText()を使用して、数値型データベースフィールドを文字列型に変換することは避けます。
•
定数式を使用する一部のレコード選択式はプッシュダウンできます。
6.5.2.2 PC データベース
120
2012-05-10
最適化された Web レポートの作成
•
インデックスフィールド上のレコード選択だけをプッシュダウンできます。
•
AND 句だけをプッシュダウンできます(OR 句はプッシュダウンできません)。
6.5.2.3 SQL データベース
•
インデックスフィールドまたは非インデックスフィールド上のレコード選択をプッシュダウンできます。
•
インデックスフィールドを使用すれば SQL サーバの応答速度が速くなります。
•
AND 句と OR 句をプッシュダウンできます。
•
一部のタイプの埋め込まれた式を含むレコード選択式をプッシュダウンできます。
•
レコード選択に必要な式の計算をプッシュダウンするには、SQL 式フィールドを取り込みます。
•
[データベース]メニューの[SQL クエリの表示]をクリックして、データベースサーバに送信する SQL を表示
します。
6.5.3 効率のよいレコード選択式を記述するためのヒント
注
この節は、選択エキスパートに精通し、また SQL データベースからレポートを作成しているユーザを対象として
います。
レコード選択式を作成する場合は、次の点に留意してください。
その 1
自分で式の一部を記述せず、選択エキスパートを使って完全に作成したレコード選択式は、プッシュダウンで
きます。
このケースは、実際には、下に挙げた留意点から導かれるものです。ただし、選択エキスパートを使用するよ
り、下に示したヒントを利用した方が、数多くの種類のレコード選択式を作成できます。それには、式ワークショッ
プを使って直接レコード選択式を編集するか、選択エキスパートの [式の表示] をクリックして表示されるテキス
ト領域で編集する必要があります。
レコードの選択を変更するために式ワークショップを開くには、[レポート] メニューをクリックし、[選択式] をポイ
ントして、サブメニューから [レコード] を選択します。
その 2
レコードの選択を変更するために式ワークショップを開くには、[レポート] メニューをクリックし、[選択式] をポイ
ントして、サブメニューから [レコード] を選択します。
<データベースフィールド> <演算子> <定数/パラメータ式>という形式の選択式はプッシュダウンできます。
121
2012-05-10
最適化された Web レポートの作成
<データベースフィールド>は、文字どおりデータベースフィールドを指します。<演算子>は、=、<>、<、<=、>、
>=、StartsWith、Like、または In のいずれかです。
<定数/パラメータ式>は、定数値、演算子、関数、およびパラメータフィールドを含む任意の式です。変数、制
御構造、またはパラメータフィールドを除くフィールドは含みません。定数式とパラメータ式は、その定義上、
データベースにアクセスしなくても評価できます。
注
定数式とパラメータ式で評価される値は、単一値、範囲値、配列値、範囲配列値などです。次は、そのような式
の例です。
{?number parameter} - 3
Year ({?run date})
CurrentDate + 5
DateDiff ("q", CurrentDate, CDate("Jan 1, 1996"))
Month (Maximum ({?date range parameter}) + 15)
["Canada", "Mexico", "USA", {?enter a country}]
1000 To 5000
[5000 To 10000, 20000 To 30000, 50000 To 60000]
次は、完全な式の例です。
{Orders.Order Date} >= CurrentDate - 3
プログラムは、演算子と定数部がない論理型フィールドだけを含む式もプッシュダウンできます。
{Orders.Shipped}
Not {Orders.Shipped}
その 3
IsNull(DataBaseField)はプッシュダウンできます。
その 4
SqlExpression SupportedOperator ConstantOrParameterExpression はプッシュダウンできます。
たとえば、選択式 {@総額} > 1000 は、{@総額}=(数量 * 価格) の場合はプッシュダウンできません。しかし、式
@総額 をそれに等しい SQL 式に置き換えると、プッシュダウンできます。
その 5
上記の留意点に従っている複数の式を使用する場合は、それらを AND および OR 演算子で区切ります。NOT
も使用できます。それぞれ複数個使用でき、かっこで囲むと優先順位を指定できます。以下はその例です。
{Orders.Order ID} < Minimum({?number range}) Or
{Orders.Order Amount} >= 1000
(IsNull({Customer.Region}) Or
{Customer.Region} = "BC") And
{Customer.Last Year's Sales} > 2000
関連項目
• 137 ページの「レコード選択式のトラブルシューティング」
6.5.3.1 レコード選択式にパラメータフィールドを追加する
122
2012-05-10
最適化された Web レポートの作成
1 Group By Intervals.rpt というサンプルレポートを開きます。
グループツリーをナビゲートして、データがどのように整理されているかを確認します。また、このレポートに
対して 117 のレコードが返されたことにも注目してください。この値は、Crystal Reports ウィンドウの右下に
表示されます。
注
この値が表示されるのは、[表示]メニューの[ステータスバー]オプションが選択されている場合だけです。
[デザイン]タブをクリックします。
2 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
3 フィールドエクスプローラで、[パラメータフィールド]を右クリックし、ショートカットメニューで、[新規作成]をク
リックします。
[新しいパラメータの作成]ダイアログ ボックスが表示されます。
4
5
6
7
パラメータの[名前]には、「取引高」と入力します。
[タイプ]リストをクリックして[数値]を選択します。
[オプション]領域の[プロンプトテキスト]オプションで、「昨年の取引高は?」と入力します。
[オプション]領域で、[離散値を認める]オプションが[True]であることを確認して、[OK]をクリックします。
注
これでパラメータフィールドが作成されます。以降の手順は、選択エキスパートでレコード選択式にパラメー
タフィールドを追加する方法を示しています。
8 [レポート]メニューの[選択エキスパート]をクリックします。
[フィールドの選択]ダイアログボックスが表示されます。
9 "前年度取引高"フィールドを選択して[OK]をクリックします。
選択エキスパートが表示されます。
10 [Customer.前年度取引高]タブで、ドロップダウンリストをクリックして、[より大きい値]を選択します。
新しいドロップダウンリストが表示されます。
11 この 2 番目のリストをクリックして、{?取引高}を選択します。
ヒント
[式の表示] ボタンをクリックして、新しいレコード選択式を表示します。これは "{Customer.前年度取引高}
> {?取引高}" と表示されます。選択エキスパートを使用する代りに、レコード選択式エディタでこの式を作成
することもできます(エディタを表示するには、式ワークショップを開き、[選択式] フォルダで [レコードの選
択] を選択します)。
12 選択エキスパートで[OK]をクリックします。
これでレコード選択式にパラメータフィールドが追加されました。プレビューモードに切り替えるか、[最新表示]
ボタンをクリックすると、新しいパラメータ値が求められます。ここに、昨年の売上ノルマを表す数値を入力しま
す。結果のレポートには、[前年度取引高]の値が、指定した値を超える顧客だけが表示されます。
たとえば、パラメータに対して「400000」と入力すると、昨年の売上が \400,000 を超える顧客だけが表示されま
す。また、このレポートに対して返されたレコードの数が、レコード選択式にパラメータフィールドを入れる前の
117 から 23 なっていることに注目してください。この値は、Crystal Reports ウィンドウの右下に表示されます。
123
2012-05-10
最適化された Web レポートの作成
このレポートを機能強化したことで、データベースサーバから転送するレポートの数を最小に抑えながら、必要
なすべての情報を取得できるようになりました。
関連項目
• 474 ページの「高度なパラメータ機能」
• 447 ページの「パラメータとプロンプトの概要」
• 129 ページの「レコードの選択」
6.5.4 パラメータフィールドのレコード選択式への取り込み
表示するデータの指定を求めるためのパラメータフィールドを作成できます。これにより、レポートを開くたびに
すべてのレポートのデータが表示されなくなります。データベースサーバから転送されるデータの量を削減す
るには、これらのパラメータフィールドをレコード選択式に取り込みます。
通常、パラメータフィールドは、ユーザとの対話型機能を提供し、ユーザはパラメータのプロンプトに応答する
ことで表示するデータを指定できます。ただし、パラメータフィールドをレコード選択式に取り込むことで、対話
型機能の提供だけではなく、データ転送量を削減してパフォーマンスを向上できます。
選択エキスパートまたはレコード選択式ワークショップを使用して、レコード選択式へパラメータフィールドを追
加できます。レコード選択式ワークショップを使用すれば、他のフィールドと同様にパラメータフィールドを処理
できます。
次の例では、まずパラメータフィールドを作成し、選択エキスパートを使用してそれをレコード選択式に追加し
ます。
6.5.5 SQL 式の使用条件
SQL 式は、式と似ていますが、SQL(Structured Query Language)で記述されます。SQL 式は、レポートのパ
フォーマンスを向上させるのに役立ちます。これは、通常の式がローカルマシン上で実行されることがあるのに
対して、SQL 式が実行するタスクは、通常、データベースサーバ上で実行されるためです。
Crystal Reports は標準の SQL よりも強力な独自の式言語を持っているため、SQL 式を排他的に使用しない
でください。Crystal 構文と Basic 構文のどちらでも、SQL では困難または不可能な方法で、式の機能を強化
することができます。しかし、場合によっては、SQL 式フィールドを作成して使用することで、レポートの処理速
度を高速化することができます。
6.5.5.1 SQL 式フィールドの主な使用方法
124
2012-05-10
最適化された Web レポートの作成
最適化されたレポートの処理速度を維持するには、レコード選択式内で式(Crystal 構文または Basic 構文の
どちらも)を使用しないでください。その代わりに、元の式を同等の SQL 式フィールドで置き換えて、SQL 式
フィールドをレコード選択式に取り込みます。これにより、レコード選択がサーバにプッシュダウンされる機会が
大幅に増えます。
さらに、式フィールド(Crystal 構文または Basic 構文のどちらも)の並べ替え、グループ化または総計は行わな
いでください。その代わりに、元の式フィールドを同等の SQL 式フィールドで置き換え、その後 SQL 式フィー
ルドで並べ替え、グループ化、集計を行います。この場合も、処理がサーバ上で実行される機会が大幅に増
えます。
また、データベースがケースロジックをサポートしていて、レポートが If-Then-Else 式の計算を集計する必要が
ある場合は、式を SQL 式フィールドで置き換えます。このような場合、SQL 式フィールドにより、Crystal Reports
はサーバ上でレポートのグループ化を行えるようになります。詳細については、127 ページの 「SQL 式での
Case 式の使用」を参照してください。
関連項目
• 508 ページの「SQL 言語」
• 77 ページの「SQL 式フィールド」
• 119 ページの「機能拡張されたレコード選択式の使用 」
6.6 グループ化、並べ替え、および総計機能の向上
6.6.1 サーバ上でのグループ化の実行
Web 経由でライブデータからリアルタイムでレポートの作成を行っている場合は、[サーバ上でグループ化を実
行]オプションを使用して、データベースサーバから転送されるデータの量を削減します。このオプションを使用
することで、データ処理の負荷の多くはデータベースサーバに移行し、データの一部だけが初めに読み込ま
れるようになります。詳細データは、レポートをドリルダウンしたときにだけデータベースから返されます。
注
サーバサイドプロセスは、SQL データソースをベースにしている並べ替えられたレポートおよびグループ化さ
れたレポートのみで機能します。
6.6.1.1 サーバサイドプロセスを有効にする
1 [ファイル]メニューの[レポートオプション]をクリックします。
125
2012-05-10
最適化された Web レポートの作成
2 [レポートオプション]ダイアログボックスが表示されます。
[インデックスまたはサーバを使用して高速化]がオフの場合、このチェックボックスは使用できません。
ヒント
[インデックスまたはサーバを使用して高速化]がオンになっている場合、[データベース]メニューから[サー
バ上でグループ化を実行]を選択できます。
3 [OK]をクリックします。
6.6.2 サーバ上でグループ化する利点の例
次の例では、サーバ上でグループ化することで、データベースサーバからの不必要なデータの転送を大幅に
削減できるレポート作成方法の代表的な例について説明します。
6.6.2.1 サーバ上でグループ化して、データ転送を削減するには
1 Group.rpt というサンプルレポートを開きます。
Crystal Reports ウィンドウの右下隅を参照して、このレポートに対して 117 のレコードが返されていることを
確認します。
注
この値が表示されるのは、[表示]メニューの[ステータスバー]オプションが選択されている場合だけです。
2 [レポート]メニューで[セクションエキスパート]をクリックして、セクションエキスパートを開きます。
3 [セクション]リストで[詳細]をクリックします。
4 [共通]タブで、[非表示 - ドリルダウン可]をクリックします。これにより、レポートの[詳細]セクションが非表示
になり、グループヘッダだけがレポートに表示されるようになります。この場合、レポートは県別にグループ
化されます。
5 セクションエキスパートで[OK]をクリックします。[詳細]のレコードがレポートに表示されなくなります。
6 キーボードのF5 を押して、レポートデータを最新表示します(または、ツールバーの[最新表示]ボタンをク
リックします)。
[詳細]のレコードを非表示にしても、レポートに対して 117 レコードが返されていることに注意してください。
7 [データベース]メニューの[サーバ上でグループ化を実行]をクリックします。
レポートに対して 34 レコードが返されることに注目してください。データベースサーバでグループ化(県別)
が行われ、より少ないレコードがレポートに転送されました。
8 レポート上で県をダブルクリックしてドリルダウンします。
ヒント
ドリルダウンが有効な場合は、ポインタの形が虫眼鏡に変わります。
126
2012-05-10
最適化された Web レポートの作成
Crystal Reports は、必要に応じて適切な[詳細]のレコードを取得します。
たとえば、神奈川県をドリルダウンすると、Crystal Reports はグループを構成している 15 レコードをすばや
く取得します。
このレポートの[詳細]セクションを非表示にしたことで、ユーザは集計レポートに簡単にナビゲートできるように
なりました。各ユーザは、最初に目的の県を見つけて、ドリルダウンしてその詳細を取得できます。
さらに、[サーバ上でグループ化を実行]オプションをオンにしたことで、初期処理はデータベースサーバ上で
完了されます。したがって、必要なレコードだけがレポートに転送されます。
サーバサイドプロセスの詳細については、540 ページの 「サーバサイドプロセス」を参照してください。
6.6.3 グループ化、並べ替え、および総計での SQL 式の使用
[サーバ上でグループ化を実行]オプションを使用するレポートでは、式フィールド(Crystal 構文またはBasic 構
文のどちらも)の並べ替え、グループ化または総計は行わないでください。その代わりに、元の式フィールドを
同等の SQL 式フィールドで置き換え、その後 SQL 式フィールドで並べ替え、グループ化、集計を行います。
処理がサーバ上で実行される機会が大幅に増えます。
SQL 式を使用する時期の詳細については、124 ページの 「SQL 式の使用条件」を参照してください。
6.6.4 SQL 式での Case 式の使用
データベースが Case 式をサポートしていて、レポートが If-Then-Else 式の計算を集計する必要がある場合
は、式を SQL 式フィールドで置き換えます。このような場合、SQL 式フィールドにより、Crystal Reports はサー
バ上でレポートのグループ化を行えるようになります。
たとえば、Case 式をサポートする MS SQL Server 7 からレポートを作成しているとします。レポートに If-Then-Else
計算式を追加して、レポート内の各グループでその計算を集計します。次の形式の SQL 式フィールドで計算
を実行することで、データベースの Case 式処理機能を使用することになります。
CASE DatabaseTable. "DatabaseField "
WHEN 'SpecifiedValue' THEN Calculation1
ELSE Calculation2
END
レコードの"DatabaseField"の値が "SpecifiedValue"と等しい場合、"Calculation1"が実行されます。それ以外
のレコードでは、"Calculation2"が実行されます。SQL 式フィールドを取り込むことで、データベースサーバの
Case 式処理機能を利用できるようになります。これにより、レポートの他の部分で SQL 式フィールドを集計し
た場合でも、サーバ上でレポートがグループ化されるようになります。
注
この例の SQL 構文は、MS SQL Server 7 に固有のものです。使用しているデータベースに適切な構文につ
いては、データベースのマニュアルを参照するか、管理者にお問い合わせください。
127
2012-05-10
最適化された Web レポートの作成
6.6.5 集計フィールドと積算合計フィールドの挿入条件
グローバル変数を使った式を作成して、集計または積算合計を計算することは、できるだけ行わないでくださ
い。
その代わりに、[挿入]メニューから適切なコマンド([小計]、[総計]、[集計])を選択して集計を作成します。積算
合計フィールドを作成するには、フィールドエクスプローラを開き、[積算合計フィールド]を右クリックして、ショー
トカットメニューから[新規作成]を選択します。
データの集計の詳細については、141 ページの 「並べ替え、グループ化、集計」および179 ページの 「積算合
計」を参照してください。
128
2012-05-10
レコードの選択
レコードの選択
7.1 レコードの選択
レポートに表示するフィールドを選択すると、デフォルトでは、使用中のテーブルのすべてのレコードのフィー
ルド値が出力されます。しかし、ほとんどの場合、必要なのは、すべての値ではなく、一部の値だけです。例と
して、次のような場合があります。
•
特定の顧客グループのレコードだけを入れる場合
•
データベースのすべてのレコードのうち、特定の範囲にある顧客番号のレコードだけを入れる場合
•
特定の日付範囲の値のレコードだけを入れる場合
7.1.1 レコード選択のオプション
Crystal Reports は、たいへん洗練された式言語を備えています。式言語を使用すると、実質上あらゆる種類
のレコード選択を指定できます。ただし、レコードの選択で、常に式言語の柔軟性が必要になるわけではありま
せん。通常、レコードの選択には、選択エキスパートを使用します。
レコードを選択するには、次の 2 とおりの方法があります。
•
130 ページの 「選択エキスパートの使用」
•
131 ページの 「式の使用」
選択エキスパートと式について理解したら、レコード選択を使用して、レポートのパフォーマンスを向上させるこ
とができます。
パフォーマンスのヒントと高機能のレコード選択方法の詳細については、119 ページの 「機能拡張されたレコー
ド選択式の使用 」を参照してください。
7.1.2 使用するフィールドの決定
129
2012-05-10
レコードの選択
レコードを選択するということは、設定した何らかの条件を満たすレコードだけを基にしてレポートを作成すると
いうことです。その条件によって、どのような情報が最終的にレポートに含まれるかが決まります。
たとえば、カリフォルニア州のデータだけを表示するレポートが必要とします。そこで、カリフォルニア州のレコー
ドを識別するための最善の方法を考えます。
•
レポートで使用するテーブルに州のフィールドや地域のフィールドがある場合は、そのフィールドの値がカ
リフォルニアであるレコード("地域"フィールドの値が"CA"であるレコード)だけが使用されるように指定しま
す。
•
テーブルに州のフィールドがなく、それでもカリフォルニア州のデータだけのレポートが必要な場合は、別
の方法でデータを識別することを考えます。
•
テーブルに郵便番号のフィールドがある場合は、カリフォルニア州の郵便番号 (n から N まで)に基づ
いてレコードを選択するように指定します。
•
テーブルに市外局番のフィールドがある場合は、カリフォルニア州の市外局番(x、y、z のいずれかの市
外局番)に基づいてレコードを選択するように指定します。
注
•
•
市外局番が電話番号のフィールドに含まれている場合、選択エキスパートで市外局番に基づくレコード選
択を行うことはできません。その場合は、式言語を使ってレコード選択式を作成し、電話番号の市外局番だ
けを抽出して、それに基づくレコード選択を行う必要があります。
この例のように、いくつかのフィールドに基づいてレコード選択を指定できる場合、通常は、インデックスの
ないフィールドではなく、インデックス付きフィールドを使用すると、パフォーマンスが向上します。
7.1.3 選択エキスパートの使用
選択エキスパートを使用すると、レポートに入れるレコードの指定が簡単になります。選択エキスパートを使っ
て作業する場合は、選択条件を適用するフィールドを選択してから、選択条件を指定します。
選択エキスパートは、単純なレコード選択の要求に使用できます。以下はその例です。
•
アリゾナ州の顧客を選択する。
•
第 1 四半期の注文を選択する。
•
$10,000 を超える売上を選択する。
選択エキスパートでは、さらに高度な条件が使用できます。
•
頭文字が"A"、"M"、"S"のいずれかである顧客を選択する。
•
カリフォルニア州とフロリダ州の顧客で 7 月中に注文のあった顧客を選択する。
これらは、すべて範囲を限定するものです。範囲は、1 つ以上の定数で定義されます。プログラムにより、各レ
コードのフィールド値が定数と比較され、範囲外の値を持つレコードは除かれます。その結果、レポートは範囲
内の値に限定されます。このようなレコード選択は、どれも式言語の予備知識なしで設定できます。
130
2012-05-10
レコードの選択
注
選択エキスパートは、レコード選択およびグループ選択のどちらの設定にも使用できます。グループ名や集計
フィールドを選択すると、グループ選択用に選択条件が設定されたと認識されます。それ以外の場合は、レコー
ド選択用に選択条件が設定されたと認識されます。
7.1.3.1 選択エキスパートを使ってレコードを選択する
1
[エキスパートツール]ツールバーの[選択エキスパート]をクリックします。
[選択エキスパート]ダイアログボックスが表示されます。
注
レポートのフィールドを選択しないで[選択エキスパート]をクリックすると、[フィールドの選択]ダイアログボッ
クスが表示されます。レコード選択の基となるフィールドを選択し、[OK]をクリックします。選択エキスパート
が表示されます。
2 ドロップダウンリストを使用して、フィールドの選択条件を入力します。
3 終了したら、[OK]をクリックします。
ヒント
複数のフィールドを基にしてレコードを選択するには、[新規作成]タブをクリックします。[フィールドの選択]
ダイアログボックスが表示されたら、新しいフィールドを選択します。
指定した内容に基づいて選択式が生成され、指定したレコードだけがレポートに表示されます。
注
選択式を表示するには、[式の表示] をクリックします。選択エキスパートのダイアログが拡張され、式が表示
されます。表示される領域で式を変更できます。また、[式エディタ] ボタンをクリックすると、式エディタで式
を変更できます。
7.1.4 式の使用
131
2012-05-10
レコードの選択
7.1.4.1 式を使ってレコード選択をセットアップする
1 [レポート] メニューの [選択式] をポイントし、[レコード] をクリックします。
2 レコード選択式エディタで、コンポーネントを入力するか、コンポーネントツリーから必要な項目を選択して、
式を入力します。
注
作成する式は論理値型でなければなりません。つまり、式は TRUE または FALSE の値を返す必要があり
ます。
3
[確認]をクリックして、式にエラーがないか確認します。
4 式チェッカーによって構文エラーが検出された場合は、式を修正します。
5 式の構文が正しい場合は、[上書き保存]をクリックします。
7.1.4.2 式に関するその他の情報
•
•
•
レコードおよびグループ選択のサンプルテンプレートについては、134 ページの 「式のテンプレートの使用」
を参照してください。
式の作成に関する詳細な手順については、411 ページの 「式の使用」を参照してください。
高機能のレコード選択方法とパフォーマンスのヒントについては、119 ページの 「機能拡張されたレコード
選択式の使用 」を参照してください。
7.1.5 選択エキスパートと式エディタの関係
選択エキスパートとレコードまたはグループの選択式エディタは相互に連動します。つまり、選択エキスパート
を介してレコード選択条件を入力すると、レコード選択式が自動的に生成され、そのレコード選択式は確認お
よび変更できます。同様に、レコード選択式を入力したり、既存のレコード選択式を変更すると、選択エキスパー
トのレコード選択条件が自動的に更新されます。
この連動により、これらのツールを併用すれば、式言語を学習するためのチュートリアルになります。
7.1.5.1 選択エキスパートの式を確認する
132
2012-05-10
レコードの選択
1 選択条件を表示するフィールドを右クリックします。
2 [選択エキスパート]をクリックします。
3 [式の表示] をクリックします。
選択エキスパートのダイアログが拡張され、設定した条件に基づいて生成された式が表示されます。
4
5
6
7
式を確認したら、[式の非表示] をクリックします。
選択エキスパートを使って選択式を変更します。
再び [式の表示] をクリックし、更新した式を確認します。
式を変更する場合は、拡張した選択エキスパートの [式エディタ] をクリックし、式ワークショップのツールを
使って式を変更します。
注
選択エキスパートの組み込みの条件に当てはまらない選択式のコンポーネントは変換されません。たとえば、
レコード選択式に顧客番号の最後の 4 文字を抽出している部分がある場合、その部分のコードは、選択エキ
スパートの選択条件に変換されません。
7.1.6 保存データ選択式
保存データ選択式では、レコードがレポートに保存された後にレポートデータをフィルタ選択します。レコード
選択式と同様に、この式は、選択エキスパートと式の両方を使用して作成できます。
レコード選択式とは異なり、保存データ選択式を変更しても、データベースは更新されません。代わりに、以降
のフィルタ処理ではレポートの保存データが使用されます。保存データ選択式をパラメータと共に使用して、カ
スタマイズ可能な対話型のレポートフィルタを作成します。
オプションパラメータ
保存データ選択式とオプションのパラメータを組み合わせることができます。オプションのパラメータの詳細に
ついては、450 ページの 「オプションパラメータ」を参照してください。
133
2012-05-10
レコードの選択
7.2 式のテンプレートの使用
7.2.1 レコード選択式のテンプレート
以下に紹介する式のサンプルは、式ワークショップで独自の選択式を作成する場合に、有効に利用できます。
これらのサンプルは、考えられるさまざまな選択方法を紹介するもので、必ずしも最良の選択方法であるとは限
りません。
7.2.1.1 文字列を使ったレコードの選択
{file.FIELD} startswith "C"
{file.FIELD}フィールドの値が"C"で始まるレコードを選択します。CyclePath, Corp.、Cyclist's Trail Co. などが
入り、Bob's Bikes Ltd.、Feel GreatBikes, Inc. などは除かれます。
not ({file.FIELD} startswith "C")
{file.FIELD}フィールドの値が"C"で始まらないレコードを選択します。Bob's Bikes Ltd.、Feel Great Bikes, Inc.
などが入り、CyclePath, Corp.、Cyclist's Trail Co. などは除かれます。
"999" in {file.FIELD}[3 to 5]
{file.FIELD}フィールドの 3 番目から 5 番目までの桁が"999"であるレコードを選択します。10999、70999、およ
び 00999 などが入り、99901、19990 などは除かれます。
"Cycle" in {file.FIELD}
{file.FIELD}フィールドの値に Cycle が含まれているレコードを選択します。CyclePath Corp.、CycleSporin, Inc.
などが入り、Cyclist's Trail Co.、Feel Great Bikes, Inc. などは除かれます。
7.2.1.2 数値によるレコードの選択
単一の値
{file.FIELD} > 99999
{file.FIELD}フィールドの値が 99999 より大きいレコードを選択します。
{file.FIELD} < 99999
134
2012-05-10
レコードの選択
{file.FIELD}フィールドの値が 99999 より小さいレコードを選択します。
値の範囲
{file.FIELD} > 11111 and {file.FIELD} < 99999
{file.FIELD}フィールドの値が 11111 より大きく 99999 より小さいレコードを選択します。11111 と 99999 はこの
範囲に含まれません。
{file.FIELD} >= 11111 and {file.FIELD} <= 99999
{file.FIELD}フィールドの値が 11111 以上、99999 以下のレコードを選択します。
7.2.1.3 日付によるレコードの選択
Month、Day、および Year の各関数は、次のように使用します。
Year ({file.DATE}) < 1999
{file.DATE}フィールド内の年の値が 1999 年より前のレコードを選択します。
Year ({file.DATE}) > 1992 and Year ({file.DATE}) < 1996
{file.DATE}フィールドの年の値が 1992 から 1996 までのレコードを選択します(1992 年と 1996 年は含まれま
せん)。
Year({file.DATE}) >= 1992 and Year({file.DATE}) <= 1996
{file.DATE}フィールドの年の値が 1992 から 1996 までのレコードを選択します(1992 年と 1996 年は含まれま
す)。
Month({file.DATE}) in 1 to 4
{file.DATE}フィールドの月の値が、1 年の最初の 4 か月(1 月、2 月、3 月、4 月)のいずれかであるレコードを
選択します。
Month({file.DATE}) in [1,4]
{file.DATE}フィールドの月の値が、1 年の 1 番目と 4 番目の月であるレコードを選択します。1 月と 4 月が入
り、2 月や 3 月は除かれます。
7.2.1.4 組み込みの日付範囲によるレコードの選択
組み込みの日付範囲を使用して、次のような選択式を作成できます。
{file.DATE} in LastFullMonth
135
2012-05-10
レコードの選択
{file.DATE}フィールドの日付が、先月であるレコードを選択します。現在が 5 月の場合は、日付が 4 月のレ
コードがすべて入ります。
not({file.DATE} in LastFullMonth)
{file.DATE}フィールドの日付が、先月でないレコードを選択します。現在が 5 月の場合は、日付が 4 月以外の
レコードがすべて入ります。
7.2.1.5 日付、数値、文字の組み合わせによるレコードの選択
次の式は、上で紹介した式を単純に組み合わせたものです。
"C" in {file.FIELD}[1] and Month({file.DATE}) in [1,4]
{file.FIELD}フィールドの値が"C"で始まり、月が 1 月または 4 月のレコードを選択します。たとえば、受注デー
タベースでこのような式を使用すると、名前が"C"で始まり、1 月または 4 月に注文のあった顧客をレポートに
表示するように要求していることになります。
"AOK" in {file.HISTORY}[3 to 5] and {file.OPENCRED} >= 5000
{file.HISTORY}フィールドの 3 番目から 5 番目までの文字が AOK であり、{file.OPENCRED}フィールド(利用
可能なクレジット額)の値が 5,000 以上のレコードを選択します。
これらのテンプレートは、独自のデータを使ってそのまま利用したり、いくつか組み合わせて複雑な式を作成で
きます。
7.3 データベースサーバへのレコード選択のプッシュダウン
SQL データソース用の Crystal Reportsのドライバを使用すると、レコード選択をデータベースサーバにプッシュ
ダウンすることができます。SQL データソースに基づいてレポートにレコード選択式を指定すると、Crystal
Reportsがそれを分析して SQL クエリを生成し、その SQL クエリをデータベースサーバに渡します。レコード選
択は次の 2 段階に分かれます。
•
レコード選択の第 1 段階は、データベースサーバが SQL クエリを処理し、レコードセットを Crystal Reports
に返すときに行われます。
•
第 2 段階ではレコード選択式が、データベースサーバから返されたレコードセットに対して、Crystal Reports
によってローカルでさらに評価されます。
データベースサーバは、通常、ワークステーションよりも処理速度が速いため、第 1 段階のサーバで処理可能
なレコード選択式を指定すると効果的です。この場合、第 2 段階でのローカルマシンのレコード選択が最小限
に抑えられます。一般に、このプロセスのことを、"レコード選択をデータベースサーバにプッシュダウンする"と
言います。次に示す種類のレコード選択をサーバにプッシュダウンすることができます。
•
136
インデックス付きフィールドとインデックスのないフィールドを使用した選択(インデックス付きフィールドの方
が高速です)
2012-05-10
レコードの選択
•
AND 句と OR 句を使用した SQL クエリ
•
レコード選択に必要な式の計算を行う SQL 式フィールド(SQL サーバでサポートされている SQL 式の種
類については、サーバ付属のマニュアルを参照してください)
•
レコード選択式をデータベースサーバにプッシュダウンする方法については、119 ページの 「機能拡張され
たレコード選択式の使用 」を参照してください。
7.4 レコード選択式のトラブルシューティング
作成した選択式で発生した問題を修正するには、まず、選択式の中で参照されているフィールドがすべてレ
ポート内に配置されていることを確認します。次に選択式を削除し、式を再構築しながら順を追って評価しま
す。
7.4.1 レコード選択式の問題を修正する
1 作成したレコード選択式を印刷します。このコピーを使って選択式を少しずつ再構築します。
2 式ワークショップのレコードまたはグループ選択式エディタから式を削除して、レポートからレコード選択式
を削除します。
3 式ワークショップでの作業が完了したら、[閉じる] をクリックします。
4 レコード選択式の中で参照されているすべてのフィールドが実際にレポート上に配置され、また非表示に
なっていないことを確認します。
次は、選択式の例です。
{customer.POSTAL CODE} > "80000"
レポートで、この選択式で使用されている {customer.郵便番号} フィールドが使用されていない場合は、レ
ポートに {customer.郵便番号} フィールドを挿入します。
たとえば、郵便番号を使って地域を定義している販売レポートにおいて、そのレポートデータに郵便番号が
挿入されていない場合です。
5 また、選択式の中で参照されているフィールドがレポートにあり、しかしそれが非表示になっている場合は、
そのフィールドの書式エディタの [非表示] オプションを切り替えて表示します。レポートを出力し、選択式
の中で参照されているデータが予想どおりに表示されることを確認します。たとえば、データベース内のレ
コード合計数が x の場合、各参照フィールドについて x 個のレコードを出力する必要があります。これを基
本として、選択式を使って表示される結果を比較します。
6 選択式を使用しない状態での表示結果に問題がないことを確認したら、選択条件を 1 つだけ使って選択
式を入力します。
たとえば、最終的に次のような選択式を使用するものとします。
{customer.POSTAL CODE} > "80000" and {customer.CONTACT LAST NAME}[1] = "C" and {customer.LAST YEAR'S SALES} >= 5000
137
2012-05-10
レコードの選択
これは、郵便番号が 80000 より大きく {customer.担当者 (姓)} フィールドの値が "C" で始まり、さらに
{customer.前年度取引高} フィールドの値が 5000 以上のレコードをすべて選択する式です。
まず、最初に評価する選択式として、次の式を入力します。
{customer.POSTAL CODE} > "80000"
レポートを表示し、この 1 つの条件だけを使って表示されるデータを検査します。{customer.郵便番号}
フィールドに 80000 より大きい郵便番号だけが表示されています。
•
表示が正しい場合は、選択式のこの部分は正常に機能していることがわかります。
•
表示が正しくない場合は、選択式のこの部分を修正します。
7 条件を 1 つだけ使った選択式が正常に機能したら、2 番目の選択条件を追加します。次のような選択式に
なります。
{customer.POSTAL CODE} > "80000" and {customer.CONTACT LAST NAME}[1] = "C"
8 レポートをプレビューし、2 つの選択条件を使って表示されるデータを検査します。前の段階で {customer.
郵便番号} フィールドは既に確認済みなので、{customer.担当者 (姓)} フィールドのデータを検査します。
{customer.担当者 (姓)} フィールドに C で始まる文字列だけが表示されています。
•
表示が正しい場合、選択式のこの部分は正常に機能しています。
•
表示が正しくない場合は、選択式のこの部分を修正します。
9 条件を 2 つ使った選択式が正常に機能したら、3 番目、4 番目と追加し、選択式内のすべての条件を評価
します。
7.4.2 データを生成しない選択式の修正
レコード選択式を作成した場合、レポートにヘッダとフッタのセクションが表示されているのに、詳細情報がまっ
たく表示されない、という状況に出くわすことがあります。その原因は、選択式によってすべてのレコードが取り
除かれていることにあります。通常、これは、作成した選択式にミスがあることによって起こります。
7.4.2.1 大文字と小文字の不統一の修正
レコード選択式では、大文字と小文字は区別されます。すなわち、"Bob"は"Bob"とだけ一致しま
す。"bob"、"BOB"、"BoB"、"bOB"、"boB"、または"BOb"とは一致しません。したがって、選択式が、"BOB"と
いうデータがあるレコードのみを{customer.担当者(名)}フィールドに含めるという設定になっているが、{customer.
担当者(名)}フィールドにあるすべてのエントリに大文字と小文字が混在している("Bob"など)場合、この選択式
は一致するデータを検索できないため、レポートの詳細は印刷されません。
138
2012-05-10
レコードの選択
この問題を解決するには、選択式の中で UpperCase(str)関数または LowerCase(str)関数を使用して、選択の
前にフィールドデータを大文字と小文字のどちらか一方に変換します。たとえば、次の式を使用するとします。
{customer.CONTACT FIRST NAME} = "BOB"
この式は次のように変更することができます。
UpperCase({customer.CONTACT FIRST NAME}) = "BOB"
この 2 番目の式では、{customer.担当者(名)}フィールドの値を大文字に変換してから、"BOB"と一致する文字
列が変換後のフィールドにあるかどうかをチェックします。この式を使用すると、文字がすべて大文字に変換さ
れるため、"b"、"o"、"b"の 3 文字のインスタンスが大文字小文字に関係なく一致します。
同じように LowerCase 関数を使用して"bob"と一致させることもできます。
作成した選択式をよくチェックし、選択しようとしているテキストが大文字か小文字かを確認してください。判断
に迷う場合は、UpperCase または LowerCase 関数を使用し、大文字と小文字を統一して確実に選択できるよ
うにしてください。
次の式も、同じように動作します。
"BOB" in UpperCase({customer.CONTACT FIRST NAME})
7.4.2.2 選択式内の不要なスペース
スペースも文字です。レコード選択式の検索キーがスペースを含む場合は、スペースも含めてすべてが完全
に一致するレコードが検索されます。例を挙げます。
"Mr . " in {customer.TITLE}
この式では、"Mr."という敬称とは一致しません。検索キーの"r"とピリオドの間に余分なスペースがあるためで
す。同様に、"Ph. D"と"Ph.D"は一致しません。
作成した選択式をよくチェックして、選択式に含まれるスペースが、検索対象のフィールド内のスペースと一致
していることを確認してください。
7.4.2.3 選択式での If 文の使用
If 文を含むレコード選択式を作成する場合は、必ず Else キーワードを含めます。Else キーワードを含めない
と、レコードがまったく返されないか、予期しないレコードが返されます。たとえば、If{parameter field}="less than
100"Then{field}< 100 のようなレコード選択式は False と評価され、レコードが返されません。この問題を解決
するには、Else True を入れて式を完成します。
139
2012-05-10
並べ替え、グループ化、集計
並べ替え、グループ化、集計
8.1 データの並べ替え
並べ替えとは、データをある順序で配置して、データの検索と評価をしやすくすることです。
最初にデータをデータベースフィールドに挿入すると、フィールド内のデータは、元のデータベースに挿入さ
れた順序で表示されます。このようなレポート内で情報を見つけるのは厄介です。データを論理的な形式で並
べ替えておくと、情報の確認や検索がたいへん簡単になります。たとえば、顧客リストを名前または国の文字順
に並べ替えることができます。
8.1.1 並べ替えオプションについて
並べ替えを行うときには、2 つのことを指定する必要があります。
•
並べ替えのキーとなるフィールド(並べ替えフィールド)
•
並べ替え方向
8.1.1.1 データの並べ替え
並べ替えとは、データをある順序で配置して、データの検索と評価をしやすくすることです。
最初にデータをデータベースフィールドに挿入すると、フィールド内のデータは、元のデータベースに挿入さ
れた順序で表示されます。このようなレポート内で情報を見つけるのは厄介です。データを論理的な形式で並
べ替えておくと、情報の確認や検索がたいへん簡単になります。たとえば、顧客リストを名前または国の文字順
に並べ替えることができます。
141
2012-05-10
並べ替え、グループ化、集計
8.1.1.2 並べ替えフィールド
並べ替えフィールドは、データをどのような順序でレポートに表示するかを決めるフィールドです。並べ替え
フィールドには、式フィールドを含め、どのフィールドも使用できます。そのフィールドのデータがどのような方
法で並べ替えられるかは、フィールドのデータ型によって決まります。
注
メモフィールドや BLOB フィールドを並べ替えることはできません。
フィールドタイプ
並べ替え順序
スペース
記号
単一文字列フィールド
数値
大文字
小文字
2 文字
3 文字
4 文字、など
複数文字列フィールド
•
" "(スペース)は"a"より前
•
"aa"は"aaa"より前
通貨フィールド
数値順
数値フィールド
数値順
日付フィールド
時刻順
日付/時刻フィールド
142
以下はその例です。
• "123"は"124"より前
時刻順
同じ日付のデータが時刻順
2012-05-10
並べ替え、グループ化、集計
フィールドタイプ
並べ替え順序
時刻フィールド
時刻順
論理型フィールド
NULL 値
FALSE 値(0)
TRUE 値(1)
NULL 値
非 NULL 値
注
データベースサーバ上でデータの並べ替えやグループ化を実行する場合、Unicode や UTF-8 でエンコード
されたデータを使用していると、並べ替え順序が変わる可能性があります。適用される並べ替え順序は、デー
タソースで定められている規則によって決まります。場合によっては、Unicode データはバイナリ値によって並
べ替えられますが、特定のロケール設定に従って並べ替えられることもあります。Unicode データフィールドの
並べ替え方法の詳細については、データソースのマニュアルを参照してください。
8.1.1.3 並べ替え方向
方向は、並べ替えた値をどの順序で表示するのかを意味します。
•
昇順
昇順とは、小さい方から大きい方へ(1 から 9 へ、A から Z へ、偽の次に真)進む順序のことです。プログラ
ムは、選択された"並べ替え/グループ化"フィールドの値に基づいてレコードを昇順に並べ替えます。
•
降順
降順とは、大きい方から小さい方へ(9 から 1 へ、Z から A へ、真の次に偽)進む順序のことです。プログラ
ムは、選択された"並べ替え/グループ化"フィールドの値に基づいてレコードを降順に並べ替えます。
8.1.2 単一および複数のフィールドの並べ替え
単一フィールドの並べ替えでは、レポートのすべてのレコードが単一フィールドの値に基づいて並べ替えられ
ます。たとえば、在庫レポートを保管番号で並べ替えたり、顧客リストを顧客番号で並べ替える場合です。
143
2012-05-10
並べ替え、グループ化、集計
複数フィールドの並べ替えでは、レコードは、まず、選択された最初のフィールドの値が Report Designer に
よって、指示どおりに昇順または降順に並べ替えられます。複数のレコードで最初の並べ替えフィールドの値
が同じである場合は、それらのレコードが 2 つめの並べ替えフィールドの値に基づいて並べ替えられます。
たとえば、最初に{customer.国}フィールド、次に{customer.地域}フィールドをどちらも昇順で並べ替えた場合、
レポートでは、国が文字順にリストされ、また各国内で地域が文字順にリストされます。各地域内の郵便番号な
ど、他のフィールドは並べ替えられないままです。
単一フィールドと複数フィールドの並べ替えは、同じ手順を使って作成します。
8.1.2.1 データを並べ替える
1
[レポート]メニューの[レコード並べ替えエキスパート]をクリックします。
レコード並べ替えエキスパートが表示されます。
2 並べ替えに使用するフィールドを[利用可能なフィールド]ボックスの中で強調表示します。
3 [>]ボタンをクリックします。
選択したフィールドが[並べ替えフィールド]リストに追加されます。
4 並べ替え方向を指定します。
5 複数のフィールドで並べ替える場合は、データを並べ替えるのに使用する必要がある 2 番目のフィールド
を強調表示して、そのフィールドを[並べ替えフィールド]リストに追加します。
6 [並べ替えフィールド]リストに表示されているフィールドの順序を変更するには、移動するフィールドを強調
表示し、上向きまたは下向きの矢印ボタンをクリックして移動します。
ヒント
[並べ替えフィールド]ボックスにリストされているフィールドの順序が、データが並べ替えられる順序になりま
す。
7 [並べ替えフィールド]リストにフィールドを追加したら、並べ替え方向も指定します。
8 終了したら、[OK]をクリックします。
144
2012-05-10
並べ替え、グループ化、集計
レコードが[並べ替えフィールド]リスト内の値を基にして並べ替えられます。
8.1.3 並べ替えの制御
データベースからの情報を更新せずに、並べ替えフィールドや並べ替え順序を変更できるようなレポートを作
成できます。この場合は、並べ替えの制御を使用します。
並べ替えの制御には、以下の利点があります。
•
•
•
•
レポートキャンバスを終了せずに、レポートのデータを並べ替えてさらに分析を進めることができます。
データベースの処理にかかる負荷がなくなります。
データの並べ替えにかかる時間を短縮できます。
表示時に、データベースへの接続やアクセス権がなくても、レポート内でフィールドを並べ替えることができ
ます。
並べ替えの制御をレポートに組み込む場合は、以下の点を考慮することが重要です。
• 並べ替えの制御はレコードセット全体に適用されるため、1 グループだけを並べ替えることはできません。
• 並べ替えの制御はサブレポートでは使用できません。
• 並べ替えの制御は、クロスタブまたは OLAP グリッド内で作成できません。
• 並べ替えの制御を使用すると、表示中のドリルダウンメニューは終了します(終了する前に警告メッセージ
が表示されます)。
8.1.3.1 並べ替えの制御を作成する
1
データをグループ化したら、[レポート]メニューの[レコード並べ替えエキスパート]をクリックします。
レコード並べ替えエキスパートが表示されます。
145
2012-05-10
並べ替え、グループ化、集計
注
"グループ"で始まる並べ替えフィールドは、そのデータがグループ化されたとき、自動的に並べ替えられま
す。
2 並べ替えるのに使用するフィールドを強調表示し、[>]をクリックして[並べ替えフィールド]の一覧に追加しま
す。
[並べ替えフィールド]リストに示されているフィールドの順序が、最初のデータ並べ替え順序になります。
注
フィールドで並べ替えの制御を有効にするには、対象のフィールドを[並べ替えフィールド]の一覧に指定す
る必要があります。
3 終了したら、[OK]をクリックします。
4 次の手順で、並べ替えの制御を作成します。
• 既存テキストオブジェクト使用する場合
a レポート上で、並べ替えの制御として使用するテキストオブジェクトを右クリックします。
b [並べ替えの制御のバインド]をクリックします。
[並べ替えの制御]ダイアログボックスが表示されます。
c 並べ替えフィールドを選択し、[OK]をクリックします。
•
新しいテキストオブジェクトを追加する場合
a [挿入]メニューの[並べ替えの制御]をクリックします。
b 並べ替えフィールドを選択し、[OK]をクリックします。
c 並べ替えフィールドを挿入するレポートの場所でクリックし、カーソルをドラッグします。
d 新しい並べ替えの制御の名前を入力し、テキストオブジェクトの外でクリックすると、処理は完了しま
す。
5 作成するその他のすべての並べ替えの制御について手順 4 を繰り返します。
これでユーザは、テキストオブジェクトの横にある並べ替え矢印をクリックすることで、選択したフィールドを並べ
替えることができます。選択されたフィールドが一時的に並べ替え順の先頭に移動します。2 番目の並べ替え
の制御を使用すると、最初の並べ替えは元の順序に戻り、2 番目が先頭に移動します。
注
並べ替えの制御を行っても、グループ階層は影響を受けません。
8.1.3.2 並べ替えの制御を削除する
1 既存の並べ替えの制御を含むテキストオブジェクトを右クリックします。
2 [並べ替えの制御のバインド]をクリックします。
[並べ替えの制御]ダイアログ ボックスが表示されます。
3 [< 非対話型 >]をクリックします。
4 [OK]をクリックしてレポートに戻ります。
146
2012-05-10
並べ替え、グループ化、集計
並べ替えの制御がレポートから削除されます。
8.2 データのグループ化
グループ化されたデータとは、データを並べ替えて、意味のある複数のグループに分けられたデータを指しま
す。たとえば、顧客リストでは、"郵便番号が同じ顧客"、"地域が同じ顧客"、販売レポートでは、"同じ顧客によ
る注文"、"同じ販売員が担当した注文"などのグループを設定できます。売上レポートでは、"同じ顧客からの
注文"、"個別の営業部員が取り付けた注文"などがグループの例になります。
8.2.1 データのグループ化
グループ化されたデータとは、データを並べ替えて、意味のある複数のグループに分けられたデータを指しま
す。たとえば、顧客リストでは、"郵便番号が同じ顧客"、"地域が同じ顧客"、販売レポートでは、"同じ顧客によ
る注文"、"同じ販売員が担当した注文"などのグループを設定できます。売上レポートでは、"同じ顧客からの
注文"、"個別の営業部員が取り付けた注文"などがグループの例になります。
8.2.1.1 データをグループ化する
1
[挿入]メニューで、[グループ]をクリックします。
[グループの挿入]ダイアログボックスが表示されます。
147
2012-05-10
並べ替え、グループ化、集計
2 1 番目のドロップダウンリストから、データのグループ化に使用するフィールドを選択します。
3 並べ替え方向を指定します。
注
グループの並べ替え順序の式を使用する場合は、149 ページの 「条件によるグループの並べ替え」を参照
してください。
4 グループヘッダに別の値を表示する場合は、[オプション]タブをクリックします。
注
デフォルトでは、レポートのグループヘッダには、グループ化するフィールドの値が表示されます。
5 [グループ名フィールドをカスタマイズする]チェックボックスをオンにし、新しいグループ名を選択します。
たとえば、{Customer.顧客番号}でグループ化した場合、グループが変わるたびに、対応する顧客番号が表
示されます。別の値(顧客番号と顧客名)を表示する場合は、代わりのデータフィールドを選択するか、式を
作成して、グループ名フィールドをカスタマイズします。
ヒント
グループヘッダ名を非表示にするには、グループヘッダを右クリックして[フィールドの書式設定]を選択し、
書式エディタの[共通]タブにある[非表示]をクリックします。
6 [OK]をクリックします。
各グループ内のレコードが並べ替えられていない場合は、各グループ内のレコードを並べ替える必要があ
ります。151 ページの 「グループ内のレコードの並べ替え」 を参照してください。
関連項目
• 155 ページの「データを範囲でグループ化」
• 173 ページの「グループヘッダの作成」
8.2.2 カスタムグループの作成
ほとんどの場合、データは、レポートにあるフィールドの値に基づいて並べ替えられます。しかし、レポートの
フィールド以外の値を使ってグループ化したい場合があります。以下はその例です。
•
グループ化に使用するフィールドがレポートにない。
たとえば、国で並べ替えたいのに、レポートには市フィールドと州フィールドはあるが、国フィールドがない
場合です。
•
グループ化に使用するフィールドがレポートにはあっても、そのフィールドに基づくグループ化では十分で
ない。
たとえば、レポートの色フィールドにそれぞれの色の名前(ライムグリーン、スカイブルー、エメラルドグリー
ン、ネイビーブルーなど)があっても、同じ色調(グリーン、ブルー、レッドなど)を 1 つのグループとしてレポー
トに表示したい場合です。その場合は、カスタムグループを作成し、各グループに入れるレコードを手作業
で割り当てることができます。
148
2012-05-10
並べ替え、グループ化、集計
•
グループ化に使用するフィールドがレポートにあっても、各グループの特定の値または値の範囲を選択し
たい。
たとえば、あるグループには総売上が一定の値より小さいレコードを入れ、別のグループには総売上が一
定の値より大きいレコードを入れ、最後のグループには総売上がこれらの値の間にあるレコードを入れたい
場合です。その場合は、同一範囲選択機能を使ってレコード選択クエリを作成して、グループを作成しま
す。
これらの特別な並べ替えやグループ化には、指定順序によるグループ化が役立ちます。指定順序のグループ
化を使用すると、レポートに表示するカスタムグループと、各グループに入れるレコードを同時に作成できます。
唯一の制限は、複数のグループへのレコードの割り当てができないことです。
カスタムグループを作成して、前年度の取引額を使って顧客をグループ化するチュートリアルがあります。155
ページの 「データを範囲でグループ化」を参照してください。
8.2.2.1 カスタムグループを作成する
1
[挿入]メニューで、[グループ]をクリックします。
[グループの挿入]ダイアログボックスが表示されます。
2
3
4
5
6
7
8
9
10
11
1 番目のドロップダウンリストから、データのグループ化に使用するフィールドを選択します。
2 番目のドロップダウンリストから、並べ替えオプションとして[指定順序]を選択します。
[指定順序]タブの[指定グループ]フィールドにグループ名を入力します。
[新規作成]ボタンをクリックします。
[指定グループの定義]ダイアログボックスで、ドロップダウンリストを使用して、グループの一部にするデー
タを選択します。
必要に応じて、[<新規作成>]タブをクリックし、指定グループに選択条件を追加します。
[OK]をクリックします。
必要に応じて、[<新規作成>]タブをクリックし、その他のカスタムグループを作成します。
[その他]タブをクリックして、定義したグループに属さないデータの扱い方を指定します。
[OK]をクリックします。
8.2.3 条件によるグループの並べ替え
レポート内のグループの並べ替え順序は、グループを作成するときに選択すれば十分な場合が多いですが、
ユーザーが独自の並べ替え順序を選択することが必要な場合もあります。
たとえば、売り上げレポートを請求日でグループ化する場合、最初の請求日から最後の請求日の順(昇順)で
表示するか、最後の請求日から最初の請求日の順(降順)で表示するかを、ユーザが選択するように設定でき
ます。
149
2012-05-10
並べ替え、グループ化、集計
このレポートについて条件によるグループ並べ替え順序を作成するには、新しいパラメータを作成してユーザー
に選択を求めるプロンプトを表示し、ユーザーによる選択を、条件によるグループ並べ替え順序の式に渡す必
要があります。
8.2.3.1 グループを条件によって並べ替える
1 条件によって並べ替えるレポートを開くか、または作成します。
この節で説明している例では、請求情報を含むレポートを開くか、または作成します。
2
[フィールドエクスプローラ]で[パラメータフィールド]を選択して、[新規作成]をクリックします。
3 ユーザに表示する並べ替えオプションを含む文字列パラメータを作成します。
この例では、"昇順"と"降順"という 2 つの値を持つ、"並べ替え順序"というパラメータを作成します。
ヒント
パラメータの作成方法については、457 ページの 「静的プロンプトを伴うパラメータの作成」を参照してくだ
さい。
4 [OK]をクリックしてパラメータを保存します。
5
[挿入]メニューで、[グループ]をクリックします。
6 [グループの挿入]ダイアログボックスで、グループ化するフィールドを選択します。
この例では、請求日フィールドを選択します。
7
[式をグループの並べ替えとして使用] を選択し、隣の [条件式] ボタンをクリックします。
注
このオプションは、グループの並べ替え順序として[指定順序]を選択している場合は使用できません。
8 式ワークショップに、条件式テキストを入力します。
この例では、次のテキストを入力します。
If {?Sort Order} = "Ascending" then crAscendingOrder else crDescendingOrder
9 [保存して閉じる]をクリックして、レポートに戻ります。
10 [OK]をクリックしてグループを保存します。
11 並び替え順序を選択するプロンプトが表示されたら、必要なオプションを選択し、[OK]をクリックします。
レポートは、[グループの挿入]ダイアログボックスで選択したフィールドでグループ化され、パラメータプロンプ
トで選択した順序で並べ替えられて表示されます。他の並び替え順序を選択するには、[最新表示]ボタンをク
リックして、[新しいパラメータ値をプロンプト]ボタンをクリックします。レポート内のグループが、選択したオプショ
ンの値に応じて再度並べ替えられます。
150
2012-05-10
並べ替え、グループ化、集計
8.2.4 グループ内のレコードの並べ替え
データをグループ化したら、グループ内のレコードを並べ替え、簡単に情報を編成し直すことができます。
8.2.4.1 グループ内のレコードを並べ替える
1
データをグループ化したら、[レポート]メニューの[レコード並べ替えエキスパート]をクリックします。
レコード並べ替えエキスパートが表示されます。
注
"グループ"で始まる並べ替えフィールドは、そのデータがグループ化されたとき、自動的に並べ替えられま
す。
2 グループ内のレコードを並べ替えるのに使用するフィールドを強調表示し、[>]矢印をクリックして[並べ替え
フィールド]リストに追加します。
注
[並べ替えフィールド]ボックス内のフィールドの順序が、データが並べ替えられる順序になります。
3 並べ替え方向を指定します。
4 終了したら、[OK]をクリックします。
8.2.5 グループ選択
151
2012-05-10
並べ替え、グループ化、集計
データをグループ化または集計すると、デフォルトでは、レポートにはすべてのグループが入ります。しかし、す
べてのグループを必要としないこともよくあります。以下はその例です。
•
特定のグループ名や、特定の条件を満たす集計値を持つグループだけを表示する必要がある場合。
•
上位の集計値または下位の集計値を持つグループだけを表示する必要がある場合。
レポートに表示するグループを選択するには、2 つの方法があります。
•
選択エキスパートを使用する。
•
選択式を使用する。
注
処理速度を上げるには、レコード選択によってレコード数を限定してからグループを作成します。詳細につい
ては、129 ページの 「レコードの選択」を参照してください。
8.2.5.1 選択エキスパートの使用
選択エキスパートを使用すると、個々のレコード選択と同じ方法で、グループ化したレコードを選択できます。
レコード選択では通常のフィールドを基にして選択条件を設定しますが、グループ選択条件を設定する場合
は、グループ名フィールドまたは集計フィールドを基にします。
•
データをグループ化しただけで集計していない場合は、グループ名フィールドを基にしたグループ選択だ
けを設定できます。たとえば、地域がマサチューセッツ州であるグループだけを選択する場合は、次のよう
に設定します。
GroupName ({Customer.REGION}) = "MA"
•
データを集計している場合は、グループ名フィールドまたは集計フィールドのどちらを基にしてもグループ
選択を設定できます。以下はその例です。
Sum({Customer.LAST YEAR'S SALES}, {Customer.REGION}) > 10000
注
選択エキスパートは、レコード選択およびグループ選択のどちらの設定にも使用できます。グループ名や集計
フィールドを選択すると、グループ選択用に選択条件が設定されたと認識されます。それ以外の場合は、レコー
ド選択用に選択条件が設定されたと認識されます。
8.2.5.1.1 選択エキスパートを使ってグループを選択する
1
グループ選択の基にする集計フィールドを右クリックし、ショートカットメニューから[選択エキスパート]
を選択します。
[選択エキスパート]ダイアログボックスが表示されます。
注
最初にレポートの集計フィールドを選択しないで、[選択エキスパート]ボタンをクリックすると、[フィールドの
選択]ダイアログボックスが表示されます。
152
2012-05-10
並べ替え、グループ化、集計
2 ドロップダウンリストを使用して、示されたフィールドの選択条件を入力します。
3 複数のフィールドを基にしてグループを選択するには、[<新規作成>]タブをクリックします。[フィールドの選
択]ダイアログボックスが表示されたら、新しいフィールドを選択します。
注
レポートのプレビューやデータの最新表示を行うまでは、レポートに保存されているデータはありませ
ん。データがないとグループ値を計算できないので、左側のボックスの矢印をクリックしても値は表示されま
せん。その場合は、必要な値をキー入力する必要があります。実際の値が必要な場合は、初めにレポート
をプレビューします。これで、実際の集計値が計算され、選択できるようになります。
4 終了したら、選択エキスパートの[OK]をクリックしてレポートに戻ります。
8.2.5.2 選択式の使用
グループ選択式エディタでは、グループフィールド、グループ名フィールドなどの式を使用して、グループ選択
の要求を作成できます。レコード選択式と同様に、作成する式は、真(TRUE)または偽(FALSE)を返す論理式
に限られます。
8.2.5.2.1 レコード選択式またはグループ選択式を作成する
1 [レポート] メニューの [選択式] をポイントします。
2 レコード選択式を作成する場合は、[レコード]をクリックします。
または
グループ選択式を作成する場合は、[グループ]をクリックします。
式ワークショップが表示されます。
3 グループ選択式エディタに選択式を入力します。
注
作成する式は論理値型でなければなりません。つまり、式は TRUE または FALSE の値を返す必要があり
ます。
4
[確認]をクリックして、式にエラーがないか確認します。
5 式チェッカーによって構文エラーが検出された場合は、式を修正します。
153
2012-05-10
並べ替え、グループ化、集計
6
式の構文が正しい場合は、[上書き保存]をクリックします。
プログラムがレポートを実行すると、指定したレコードまたはレコードのグループだけがレポートに入ります。
8.2.5.3 グループ選択式のトラブルシューティング
グループ選択式を使用していると、選択条件に一致する値がある場合でも、値が何も表示されないことがあり
ます。そのような状況の典型的な例を以下に挙げます。
•
グループ選択式が別の式を参照している。
•
さらに、参照先の式が、すべてのグループの値の合計に対する各グループの占める割合を計算している。
たとえば、総計に対する小計の割合を計算している場合です。
8.2.5.3.1 グループ選択式を修正する
1 まず、サンプルデータベース Xtreme.mdb を使ってレポートを作成します。Customer テーブルと Orders
テーブルをリンクし、次のフィールドを詳細セクションに配置します。
{customer.CUSTOMER NAME}
{customer.REGION}
{orders.ORDER ID}
{orders.ORDER AMOUNT}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
レポートには、それぞれの注文ごとに、注文した顧客、その顧客が在住する州、受注番号、および受注額
が表示されます。
2 {customer.地域}フィールドを基準としてレポートをグループ化します。
3 各{customer.地域}グループの{oreders.受注額}フィールドを小計する集計を挿入します。
データは、地域別に並べ替えられられ、地域が変わるごとに{orders.受注額}フィールドの小計が計算されま
す。170 ページの 「データの小計」 を参照してください。
4 {orders.受注額}フィールドの総計を挿入し、すべての注文の合計値を表示します。
5 総計に対する各小計の割合(%)を計算する式を作成して、すべての受注額に対する各地域グループの割
合を表示します。式の名前は、「割合」とします。
Sum({orders.ORDER AMOUNT}, {customer.REGION})
% Sum({orders.ORDER AMOUNT})
6 作成した式をレポートのグループフッタセクションに挿入します。
7 どの地域が売上全体の 5% 未満の売上しか上げていないかを調べるため、グループ選択式の中で、式の"@
割合"を参照し、総計に対する小計の割合が 5% 未満のグループだけを選択するようにします。
{@Percent} < 5
[確認]をクリックすると、次のエラーメッセージが表示されます。
This formula cannot be used because it must be evaluated later.
154
2012-05-10
並べ替え、グループ化、集計
8 グループ選択式で式の名前(この例では @割合)を使用する代わりに、式の本体を記述します。つまり、次
のようなグループ選択式は使用しません。
{@Percent} < 5
その代わり、次のような式を記述します。
Sum({orders.ORDER AMOUNT}, {customer.REGION})
% Sum({orders.ORDER AMOUNT}) < 5
このようにして表示すると、5% 未満の売上しかない地域だけが表示されます。
8.2.6 データを範囲でグループ化
データを範囲でグループ化したい場合があります。年齢グループ、期間、販売カテゴリなどが範囲によるグルー
プ化の例です。この項では、このようなグループ化について学習します。この例では顧客を前年の実績順にリ
ストします。
ここでは、指定順序によるグループ化を使用します。このようなグループ化では、グループに含めるレコードを
指定する必要があります。任意の範囲を定義すれば、後はプログラムが行います。
8.2.6.1 データを範囲ごとにグループ化する
1 まず、サンプルデータベース Xtreme.mdb を使ってレポートを作成します。Customer テーブルをリンクし、
次のフィールドを詳細セクションの左から右へ配置します。
{customer.CUSTOMER NAME}
{customer.REGION}
{customer.POSTAL CODE}
{customer.COUNTRY}
{customer.LAST YEAR'S SALES}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2 [挿入]メニューで、[グループ]をクリックします。
3 前年の売上に基づいて範囲を設定するため、[グループの挿入]ダイアログボックスのドロップダウンリスト
で"並べ替え/グループ化"フィールドとして"前年度取引高"フィールドを選択します。
4 2 つめのドロップダウンリストから[指定順序]を選択します。
[グループの挿入]ダイアログボックスに[指定順序]タブが表示されます。
155
2012-05-10
並べ替え、グループ化、集計
5 [新規作成]ボタンをクリックします。
[指定グループの定義]ダイアログボックスが表示されます。
6 [グループ名] フィールドに「$10,000 未満」と入力します。
グループのグループ名フィールド値としてこれが表示されます。
7 最初のグループには"前年度取引高"フィールドの値が $100,000 より少ないレコードが入るので、次の条
件になるようにフィールドを設定します。
is less than 10000
8 [OK]をクリックして[指定順序]タブに戻ります。
9 [新規作成]ボタンをクリックします。
[指定グループの定義]ダイアログボックスが再び表示されます。
10 次に、$100,000 から $250,000 までの値が入る 2 つめのグループを設定します。
• [グループ名]フィールドに「$100,000 ~ $250,000」と入力します。
156
•
"の間の値"という条件になるようにフィールドを設定します。
•
次のように、範囲を指定します。
•
上のフィールドに「100000」と入力します。
•
下のフィールドに「250000」と入力します。
2012-05-10
並べ替え、グループ化、集計
11 [OK]をクリックして[指定順序]タブに戻ります。
12 [新規作成]ボタンをクリックします。
[指定グループの定義]ダイアログボックスが再び表示されます。
13 $250,000 を超えるすべての値を含む最後のグループを設定します。
• [グループ名] フィールドに「$25,000 以上」と入力します。
•
"より大きい値"という条件になるようにフィールドを設定します。
•
「250000」と入力します。
14 [OK]をクリックして[指定順序]タブに戻ります。
15 [OK]をクリックします。
レポートは、範囲によって指定順序でグループ化されます。
8.2.7 会社名の最初の文字でグループ化
データを会社名の最初の文字でグループ化することがあります。たとえば、顧客リストを作成する際に、"A"で
始まるすべての顧客をあるグループに入れ、"B"で始まるすべての顧客を別のグループに入れるような場合で
す。それには、式が必要になります。
式に詳しくなくても心配はいりません。ここで必要になる式およびその入力の仕方も示されます。
式の作成と編集の詳細については、411 ページの 「式の概要」を参照してください。
ここでは、まず顧客名の最初の文字を取り出す式を作成します。次に、この式フィールドを"並べ替え/グルー
プ化"フィールドとしてデータをグループ化します。データが会社名の最初の文字で並べ替えられ、この文字
が変わるたびに新しいグループが作成されます。
8.2.7.1 会社名の最初の文字でデータをグループ化する
1 まず、サンプルデータベース Xtreme.mdb を使ってレポートを作成します。Customer テーブルをリンクし、
次のフィールドを詳細セクションの左から右へ配置します。
{customer.CUSTOMER NAME}
{customer.REGION}
{customer.POSTAL CODE}
{customer.COUNTRY}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2
157
[表示]メニューで、[フィールドエクスプローラ]をクリックします。
2012-05-10
並べ替え、グループ化、集計
[フィールドエクスプローラ]ダイアログボックスが表示されます。
3
[式フィールド] を選択して、 [新規作成] をクリックします。
4 [式名] ダイアログボックスで、"名前の最初の文字"など、式を識別するための名前を入力し、[OK] をクリッ
クします。
式ワークショップは、式エディタがアクティブな状態で表示されます。
5 次の式を式テキストボックスに入力します。
{Customer.Customer Name}[1]
6 [保存して閉じる]をクリックして、レポートに戻ります。
7
[挿入]メニューで、[グループ]をクリックします。
[グループの挿入]ダイアログボックスが表示されます。
8 データのグループ化に使用するフィールドとして式フィールドを選択します。
9 並べ替え方向を指定します。
10 [OK]をクリックします。
レポートに戻ります。指定した式フィールドでデータがグループ化されています。データは顧客の名前の最
初の文字でグループ化されます。式からは、各グループの動的ヘッダが得られます。
動的ヘッダの詳細については、174 ページの 「動的ヘッダ」を参照してください。
関連項目
• 411 ページの「式の概要」
• 147 ページの「データのグループ化」
• 155 ページの「データを範囲でグループ化」
• 173 ページの「グループヘッダの作成」
8.2.8 データを階層的にグループ化
階層的にグループ化するために必要なデータの特徴
レポート内のデータをグループ化して、データの階層的関係を示すことができます。データを階層的にグルー
プ化する場合、Crystal Reports では 2 つのフィールド間の関係を基にして情報が並べ替えられます。階層的
関係は、レポートに使用するデータに継承されている必要があります。
158
•
プログラムが親と子の関係を認識するには、親フィールドと子フィールドのデータ型が同じである必要があ
ります。
•
親フィールドのデータは、子フィールドのデータのサブセットである必要があります。
•
最上位の階層をレポートに表示するには、その値が子データ内にあり、親データ内の対応する行が空であ
る必要があります。
2012-05-10
並べ替え、グループ化、集計
•
データの循環ロジックは許可されません。つまり、B が C に関連付けられ、C が A に関連付けられている
場合、A を B に関連付けることはできません。
たとえば、ある部署の社員の階層的関係を示す場合、データを社員名(子フィールド)でグループ化し、各社員
の業務報告先の社員をリストしたフィールド(親フィールド)を使用して階層を指定できます。データベーステー
ブルは、次の例のようになります。
社員(子)
上司(親)
Jane
Thomas
Mina
159
Gerard
Thomas
Albert
Thomas
Thomas
Mina
Beth
Thomas
Teresa
Thomas
Gareth
Thomas
Valerie
Thomas
Gillian
Mina
Frances
Gillian
Ruth
Gillian
Margaret
Mina
Paul
Margaret
Charles
Margaret
2012-05-10
並べ替え、グループ化、集計
社員フィールドと上司フィールドでデータが重複しています。これは、階層的関係があることを意味します。一
意の社員名が 15 個あり、そのうち Mina、Thomas、Gillian、Margaret の 4 人は上司フィールドにも表示されて
います。社員のうち 3 人は Mina、7 人は Thomas、2 人は Gillian、そして 2 人は Margaret に業務報告します。
注
Mina には上司がいません。このデータは、Mina がこのテーブル内の誰にも業務報告しない、最上位の監督
者であることを意味しています。
社員フィールドに基づいて Crystal レポートをグループ化する場合、データを並べ替えて社員と監督者の階層
的な関係を示すことができます。
階層的にグループ化したレポートの特徴
階層的にグループ化した Crystal レポートには、データ内の階層的な継承を視覚的に表すだけでなく、以下
のような特徴があります。
•
グループを階層的にドリルダウンすると、ドリルダウンビューには、その階層のより低位のレコードも表示され
ます。
•
レポートには、各グループの階層の低位のレコードを含む、階層的なグループフッタがあります。データは、
階層全体で集計することができます。
•
階層的関係を示すために設定したインデントが、レポート内の同じセクションの他のフィールドに影響を与
えないようにするには、条件付き X 位置機能を使用します。
•
式言語では、GroupingLevel および HierarchyLevel 関数によって、階層レベルがサポートされます。
注
式では階層的な集計は使用できません。
8.2.8.1 データを階層的にグループ化する
1 グループ化して階層的に並べ替えるデータを含むレポートを開くか、または新規に作成します。
160
2012-05-10
並べ替え、グループ化、集計
2 [挿入]メニューで、[グループ]をクリックします。
3 [グループの挿入]ダイアログボックスで、階層の基礎として使用するフィールド(子フィールド)を選択します。
たとえば、会社内の社員の階層構造を表示する場合は、社員フィールドを選択します。
4 [昇順]を選択します。
デフォルトでは、レポートのグループヘッダには、グループ化するフィールドの値が表示されます。
5 グループヘッダに別の値を表示する場合は、[オプション]タブをクリックし、[グループ名フィールドをカスタ
マイズする]チェックボックスをオンにします。
たとえば、社員フィールドでグループ化した場合、グループが変わるたびに対応する社員名が表示されま
す。別の値(たとえば社員名の代わりに社員番号)を表示する場合は、他のデータフィールドを選択するか、
式を作成して、グループ名フィールドをカスタマイズします。
6 [OK]をクリックします。
作成したグループがレポートに追加されます。
161
2012-05-10
並べ替え、グループ化、集計
7 [レポート]メニューの[階層グループ化オプション]をクリックします。
8 [階層グループ化オプション]ダイアログボックスの[利用可能なグループ]リストで、階層的に整理するグルー
プを選択します。
9 [データを階層に並べ替え]チェックボックスをオンにします。
10 [親 ID フィールド]リストで、インスタンス ID フィールドを整理する基準のフィールドを選択します。
たとえば、社員の階層を示すレポートの場合は、社員の業務報告先である監督者の情報を持つデータフィー
ルドを選択します。
注
インスタンス ID フィールドと親 ID フィールドのデータ型は同じである必要があります。たとえば、インスタン
ス ID フィールドに文字列データが格納されている場合は、親 ID フィールドにも文字列データが格納され
ている必要があります。
11 [グループのインデント]フィールドに、各サブグループのインデント幅を入力します。
162
2012-05-10
並べ替え、グループ化、集計
"グループのインデント"フィールドに入力した値は、その階層グループと同じ領域にある他のすべてのオブ
ジェクトに影響を与えます。たとえば、レポートで従業員の名前と同じ行に給与フィールドある場合は、従業
員フィールドを使用して階層グループを作成するときに、給与フィールドもインデントされます。階層レコー
ドだけをインデントし、他のオブジェクトはインデントしないようにするには、この値を 0(ゼロ)のままにして、
条件付き X 位置機能を使用します。
12 [OK]をクリックします。
レポートのデータが階層的にグループ化されます。
注
この例では、階層的な並べ替えをより明確に示すために、レポートの[詳細]セクションは非表示になってい
ます。
これで、レポートは社員名でグループ化され、監督者の階層を示すように並べ替えられました。社員データに
監督者データが関連付けられていない Mina が、リストの一番上に配置されているのがわかります。Mina の名
前の下には、Mina に業務報告する監督者が表示されています。さらにそれらの各監督者の下に、その監督者
に業務報告する社員がリストされています。
注
このレポートの階層内で名前がどのレベルに表示されるかは、その名前の社員に業務報告する社員の数に
よって決まります。誰からも業務報告を受けない社員は、階層の最下位に表示されます。
必要に応じて、新しい階層グループにわたって集計フィールドを計算することもできます。小計、総計、集計を
一般的な方法で挿入する場合は、[階層全体の集計]オプションを選択します。詳細については、165 ページの
「グループ値の集計」および170 ページの 「小計」を参照してください。
163
2012-05-10
並べ替え、グループ化、集計
8.2.8.2 他のフィールドに影響を与えずに階層をインデントする
注
この手順を有効にするには、[階層グループオプション]ダイアログボックスの"グループのインデント"フィールド
の値を必ず 0(ゼロ)に設定する必要があります。
1 階層的にグループ化したフィールドを右クリックし、[サイズと位置]を選択します。
2
X 位置の値のフィールドの隣の条件式ボタンをクリックします。
3 式ワークショップに、X 位置の条件式テキストを入力します。
たとえば、次のような式テキストを入力します。
numbervar hLevel := HierarchyLevel (1);
numbervar deltaX := 0;
if (hLevel > 1) then
deltaX := (hLevel - 1) * 0.4;
deltaX := deltaX * 1440;
注
•
•
この式を作成する方法はいくつかあります。このコードは 1 つの例です。
位置の単位は twip です。1 インチは 1440 twips になります。
この例で使用した関数の詳細については、オンラインヘルプの「HierarchyLevel (GroupingLevel)」を参照し
てください。
4 [保存して閉じる]をクリックして、レポートに戻ります。
5 [OK]をクリックして位置の設定を保存します。
Crystal Reportsは、階層データの値を、階層内のレベルを基にした新しい位置に移動しますが、同じ行にある
その他のオブジェクトは配置されている元の場所に残します。
8.2.9 グループの編集
1
2
3
4
5
[レポート]メニューの[グループエキスパート]をクリックします。
[グループエキスパート]ダイアログボックスの[グループ化]リストで、編集するグループを選択します。
[オプション]をクリックします。
[グループの変更オプション]ダイアログボックスで、必要に応じてグループを編集します。
[OK]をクリックして[グループの変更オプション]ダイアログボックスを閉じ、[グループエキスパート]ダイアロ
グボックスを閉じます。
そのグループへの変更結果がレポートに反映されます。
164
2012-05-10
並べ替え、グループ化、集計
8.3 グループ値の集計
データをグループ化する主な目的は、レポートのすべてのレコードに対して計算を行う代わりに、グループ単
位のレコードに対して何らかの計算をできるようにすることです。
データを集計すると、データが並べ替えられ、グループごとに分けられ、それぞれのグループ内のデータの値
が集計されます。これらはすべて自動的に行われます。
プログラムには、いくつかの集計オプションがあります。対象となるフィールドのデータ型によって、次のような集
計を行うことができます。
•
グループ単位で値を合計する。
•
すべての値の数をカウントしたり、異なる値の数だけをカウントする。
•
最大値、最小値、平均値、またはN 番目に大きい値を求める。
•
2 種類の標準偏差と分散を計算する。
以下はその例です。
•
顧客リストレポートの場合は、地域ごとに顧客の数を調べることがあります。集計では、各地域グループの異
なる顧客の数をカウントします。
•
注文レポートの場合は、各月の平均受注数を調べることがあります。集計では、月ごとの平均受注数が計
算されます。
•
売上レポートの場合は、販売担当者ごとの合計売上を調べることがあります。集計には、販売担当者ごとに
受注金額の合計または小計が計算されます。
注
階層的なグループにわたって集計フィールドを計算することもできます。そのためには、[集計の挿入]ダイアロ
グボックスの[階層全体の集計]を選択します。
8.3.1 グループ化したデータを集計する
1
[挿入]メニューの[集計]をクリックします。
[集計の挿入]ダイアログボックスが表示されます。
2 集計するフィールドを[集計するフィールドを選択]リストから選択します。
3 [集計方法]リストから集計操作を選択します。
4 集計を配置する場所を[集計の保存場所]リストから選択します。
ヒント
•
165
[グループの挿入]ボタンをクリックすると、レポートに新しいグループを作成できます。
2012-05-10
並べ替え、グループ化、集計
•
すべてのグループレベルに集計を追加するか、保存場所として選択したレベルに一度だけ集計を追加
することができます。
5 合計に対する割合として集計値を表示する場合は、まず、[オプション]領域の[パーセントで表示]チェック
ボックスをオンにし、次にリストから合計フィールドを選択します。
割合の詳細については、172 ページの 「割合」を参照してください。
6 階層全体の合計を出す場合は、[階層全体の集計]チェックボックスをオンにします。
階層の詳細については、158 ページの 「データを階層的にグループ化」を参照してください。
7 終了したら、[OK]をクリックします。
関連項目
• 170 ページの「データの小計」
8.3.2 集計値を基にグループを並べ替え
グループを、集計値を基にして昇順または降順に並べることができます。たとえば、受注レポートでは、受注額
を地域ごとに小計する場合、グループを次の順序で並べることができます。
•
注文金額が低い順(昇順)
•
注文金額が高い順(降順)
レポート内のグループを集計値の順に並べる場合は、[レポート]メニューの[グループ並べ替えエキスパート]コ
マンドを使用します。
8.3.2.1 グループを集計値の順に並べる
1
[エキスパートツール]ツールバーの[グループ並べ替えエキスパート]をクリックします。
[グループ並べ替えエキスパート]ダイアログボックスが表示され、集計値があるレポートの各グループごとに
タブが表示されます。
2 並べ替えるグループのタブをクリックします。
3 左にあるドロップダウンリストから[すべて]オプションを選択します。
4 右の[基準]ドロップダウンリストから選択の基にする集計を選択します。
右の[基準]ドロップダウンリストは、1 つのグループセクションに複数の集計がある場合に使用します。たと
えば、注文レポートでは、顧客ごとの注文の合計と平均を計算し、同じグループセクションに合計と平均の
両方を表示する場合があります。このような場合、ドロップダウンリストから合計か平均を選択します。
5 並べ替え方向を指定します。
166
2012-05-10
並べ替え、グループ化、集計
6 2 番目の並べ替えグループを選択する場合は、手順 2 から 5 までを繰り返します。
レポートを実行すると、指定した 1 つ以上の集計値を基にしてグループが並べ替えられます。
8.3.3 上位または下位の N グループまたはパーセントの選択
上位または下位のグループやパーセント値だけをレポートに表示することもできます。たとえば、よく売れてい
る商品系列、売上の上位 25% を占める国々、注文が多い州などを表示できます。このようなケースは頻繁にあ
るため、プログラムには、この種の選択を容易にするための[グループ並べ替えエキスパート]が用意されていま
す。
上位 N のグループ選択を設定する場合は、考慮する要素がもう 1 つあります。指定した上位 N または下位
N の条件に合わない他のすべてのグループのレコードをどう処理するかということです。レポートからこれらの
レコードをすべて除外するか、1 つのグループにまとめるかを決定する必要があります。このプログラムでは、
どちらでも選ぶことができます。
注
•
•
上位 N または下位 N 選択を実行するには、レポートに集計値が含まれている必要があります。詳細につ
いては、165 ページの 「グループ値の集計」を参照してください。
上位または下位 N 選択で階層的に並べ替えられているグループを使用しないことをお勧めします。階層
グループの並べ替えの整合性に、上位または下位 N 選択が影響を及ぼす可能性があります。
8.3.3.1 上位または下位 N グループを選択する
注
上位 N グループや下位 N グループを選択する方法について説明します。上位や下位のパーセント値による
選択も、手順はほぼ同じですが、グループ数の代わりにパーセント値を指定する点だけが異なります。
1 レポートを作成し、必要に応じてデータを集計します。データを集計すると、データがグループ化され、グ
ループごとに集計されます。
• 上位 N グループ選択では、上位の集計値を持つグループ(上位 N)を表示するように指示します。
•
2
下位 N グループ選択では、下位の集計値を持つグループ(下位 N)を表示するように指示します。
[エキスパートツール]ツールバーの[グループ並べ替えエキスパート]ボタンをクリックします。
グループ並べ替えエキスパートに、作成したグループのタブが表示されます。
注
複数のグループがある場合は、それぞれのグループごとに 1 つタブが表示されます。
167
2012-05-10
並べ替え、グループ化、集計
3 1 番目のドロップダウンリストの[上位 N]または[下位 N]を選択します。
4 右の[基準]ドロップダウンリストから選択の基にする集計を選択します。
右の[基準]ドロップダウンリストは、1 つのグループセクションに複数の集計がある場合に使用します。たと
えば、注文レポートでは、顧客ごとの注文の合計と平均を計算し、同じグループセクションに合計と平均の
両方を表示する場合があります。このような場合、ドロップダウンリストから合計か平均を選択します。
5 [N の値]ボックスに、表示するグループの数を入力します。以下はその例です。
• よく売れている製品系列を上位 3 つまでレポートに入れるには、N に 3 を指定します。
•
製品売上の低い地域を下位 5 つまでレポートに入れるには、N に 5 を指定します。
6 その他のレコードをすべて 1 つのグループにまとめる場合は、[他のレコードをまとめる名前]チェックボック
スをオンにし、名前を入力します。
7 集計値が等しいグループをレポートに表示するには、[同じ値を含める]を選択します。
たとえば、次のグループがあるとします。
•
Order 1 = 100
•
Order 2 = 90
•
Order 3 = 80
•
Order 4 = 80
上位 N を 3 に設定し、[同じ値を含める]を選択しない場合、レポートには、Order 1、Order 2、および Order
3 が表示されます。
同じ例で、[同じ値を含める]を選択した場合、N を 3 に設定していても、レポートには Order 1、Order 2、
Order 3、および Order 4 が表示されます。このように、Order 3 と Order 4 の値が等しいことに対処できま
す。
8 終了したら、[OK]をクリックします。
レポートを実行すると、指定したグループだけが表示されます。
168
2012-05-10
並べ替え、グループ化、集計
8.3.4 条件に応じた上位または下位のグループまたはパーセントの選択
上位 N、下位 N、上位または下位パーセントにユーザ独自の値を選択させる場合は、Crystal Reportsが条件
付き選択式に渡すことができる値の入力を要求するパラメータを作成します。
注
•
•
グループの場合は、上位または下位 N 位の値を 1 ~ 32,766 の範囲で指定する必要があります。
パーセントの場合は、上位または下位 N 位の値を 0 ~ 100 の範囲で指定する必要があります。
8.3.4.1 グループまたはパーセント値の条件付き数値を選択する
1 条件付きの値またはパーセンテージの選択で使用するレポートを開くか、または作成します。
注
このレポートは、167 ページの 「上位または下位の N グループまたはパーセントの選択」で説明されている
ように、グループ情報および集計情報を含んでいる必要があります。
2
[フィールドエクスプローラ]で[パラメータフィールド]を選択して、[新規作成]をクリックします。
3 数値パラメータを作成します。
ヒント
パラメータの作成方法については、457 ページの 「静的プロンプトを伴うパラメータの作成」を参照してくだ
さい。
4 [OK]をクリックしてパラメータを保存します。
5
[レポート]メニューの[グループ並べ替えエキスパート]をクリックします。
6 グループ並べ替えエキスパートで、必要なグループ並べ替えの種類を選択します。
[並べ替えなし]や[すべて]以外のオプションを選択します。
7
8
9
10
11
N またはパーセント値フィールドの隣の [条件式] ボタンをクリックします。
式ワークショップに、手順 3 で作成したパラメータフィールドを入力します。
[保存して閉じる]をクリックして、レポートに戻ります。
[OK]をクリックしてグループの並べ替えを保存します。
数値またはパーセント値の入力を求めるプロンプトが表示されたら値を入力し、[OK]をクリックします。
レポートは、パラメータプロンプトで入力した値に一致するグループ数だけを表示します。他の値を入力するに
は、[最新表示]ボタンをクリックして[新しいパラメータ値をプロンプト]を選択します。レポート内のグループは更
新され、入力した新しい値が表示されます。
169
2012-05-10
並べ替え、グループ化、集計
8.4 小計
小計は、グループの数値を合計するものです。
注
1 対多のリンクリレーションシップ内でグループ化されたデータベーステーブルを使って小計を作成する場合
は、小計の代わりに積算合計を使用しなければならないことがあります。詳細については、185 ページの 「1 対
多のリンクリレーションシップがある積算合計の作成」を参照してください。
8.4.1 データの小計
この例では、前年度取引高を国別に小計します。
8.4.1.1 データを小計する
1 まず、サンプルデータベース Xtreme.mdb を使ってレポートを作成します。Customer テーブルをリンクし、
次のフィールドを詳細セクションの左から右へ配置します。
{customer.CUSTOMER NAME}
{customer.REGION}
{customer.POSTAL CODE}
{customer.COUNTRY}
{customer.LAST YEAR'S SALES}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2 [前年度取引高]フィールドを右クリックし、ショートカットメニューの[挿入]をポイントして、[集計]を選択しま
す。
[集計の挿入]ダイアログボックスが表示され、選択したフィールドが集計されるフィールドとして表示されま
す。
3 [グループの挿入]をクリックします。
[グループの挿入]ダイアログボックスが表示されるので、レポートに追加するグループを指定できます。
4 データのグループ化に使用するフィールドを選択し、並べ替え方向を指定し、[OK]をクリックします。
5 [集計の挿入]ダイアログボックスで、作成したグループを[集計の保存場所]リストから選択し、[OK]をクリック
します。
グループごとに値の小計がとられます。
170
2012-05-10
並べ替え、グループ化、集計
8.4.2 金額の計算とその小計
注文レポートや請求書では、商品名ごとに金額を計算し、金額の小計をとることがあります。それには、簡単な
式を使って金額を計算し、次に式フィールドの小計をとります。
8.4.2.1 金額を計算し、その結果を小計する
1 まず、サンプルデータベース Xtreme.mdb を使ってレポートを作成します。Orders テーブルをリンクし、次
のフィールドを詳細セクションの左から右へ配置します。
{Orders.CUSTOMER ID}
{Orders_Detail.PRODUCT ID}
{Orders_Detail.QUANTITY}
{Orders_Detail.UNIT PRICE}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2 金額を計算するための式を作成するには、 [表示] メニューの [フィールドエクスプローラ] を選択します。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
3
[式フィールド] を選択して、 [新規作成] をクリックします。
[式名] ダイアログボックスが表示されます。
4 識別する式の名前を入力し、[OK] をクリックします。
式ワークショップは、式エディタがアクティブな状態で表示されます。
5 次の式を式テキストボックスに入力します。
{Orders_Detail.Quantity} * {Orders_Detail.Unit Price}
6 [保存して閉じる]をクリックして[フィールドエクスプローラ]ダイアログボックスに戻ります。
[式フィールド] ノードに、式がリストされます。
7 レポートの [詳細] セクションにある"単価"フィールドの右に、作成した式フィールドをドラッグします。
8 計算結果を小計するには、式フィールドを右クリックし、ショートカットメニューの [挿入] をポイントして [集
計] を選択します。
[集計の挿入]ダイアログボックスが表示されます。
9 [グループの挿入]をクリックし、{orders.受注日}フィールドにグループを作成します。
10 グループの範囲として[毎週]を選択します。
注
"受注日"フィールドが選択されるまで、[セクションの出力]ドロップダウンボックスは有効になりません。
171
2012-05-10
並べ替え、グループ化、集計
11 [OK]をクリックして[集計の挿入]ダイアログボックスに戻ります。
12 作成したグループを[集計の保存場所]リストから選択し、[OK]をクリックします。
データは日付順に並べ替えられ、1 週間ごとにグループ化されます。
8.5 割合
8.5.1 割合(%)の計算
大きなグループ内の各サブグループの割合を計算できます。たとえば、各国の売上高を基準にして、それに
占める各都市の割合を表示できます。また、総売上高に占める各国の割合を表示できます。
8.5.1.1 割合(%)を計算する
1 [挿入]メニューの[集計]をクリックします。
[集計の挿入]ダイアログボックスが表示されます。
2 合計を計算するフィールドを選択します。
たとえば、前年度の取引高の合計を計算するフィールドを挿入します。
3 [集計方法]リストから[合計]を選択します。
4 合計を配置する場所を選択します。
172
2012-05-10
並べ替え、グループ化、集計
注
割合を計算している場合、この場所に[総計(レポートフッタ)]は指定できません。
5 [パーセントで表示]チェックボックスをクリックします。
6 割合を計算する基になるグループを選択します。
別のグループ内の 1 つのグループに対する割合や、総計に対する割合を表示できます。
7 [OK]をクリックします。集計割合フィールドがレポートに追加されます。
8.6 グループヘッダ
8.6.1 グループヘッダの作成
グループ、小計、または集計を作成すると、グループフッタ(GF)セクションとグループヘッダ(GH)セクションが作
成されます。グループフッタセクションには、小計や集計の値が置かれ、グループヘッダセクションには、グルー
プ名やグループヘッダが自動的に置かれます。レポートのデータを明確でわかりやすくするには、グループ
ヘッダが便利で、必須ともいえます。グループヘッダは自動的に作成されますが、必要に合わせてそれを変更
または修正したほうがいい場合もあります。
ここでは、最もよく使われるグループヘッダの作成方法を学びます。
173
2012-05-10
並べ替え、グループ化、集計
8.6.1.1 標準ヘッダ
標準ヘッダは、グループを一般的な名称で識別するためのテキストです。たとえば、顧客、地域、月別注文な
どがこれにあたります。
このように、ヘッダからそのおおまかな内容がわかります。たとえば、"地域別取引高"は、それが地域別のグ
ループであることがわかります。しかし、グループに含まれる地域が何であるかは、グループの詳細を見なくて
はわかりません。
8.6.1.1.1 標準ヘッダを作成する
1
[挿入ツール]ツールバーの[テキストオブジェクトの挿入]ボタンをクリックします。
2 オブジェクトポインタが表示されたら、オブジェクトフレームをグループヘッダセクションに移動します。
3 ヘッダに使用するテキストを入力します。
4 終わったらフレームの外をクリックして処理を終わります。レポートを実行すると、各グループの先頭に同じ
ヘッダが表示されます。
8.6.1.2 動的ヘッダ
動的ヘッダは、グループの内容に基づいて変化するヘッダです。たとえば、地域別にデータの小計をとる場
合、動的ヘッダには、通常、各グループの地域が表されます。つまり、Arizona グループには、データが Arizona
のデータであることを示すヘッダが付きます。California グループには、データが California のデータであるこ
とを示すヘッダが付きます。
注
グループを作成する場合は、[ファイル]メニューの[オプション]を使ってオプションをオフにしていない限り、グ
ループヘッダセクションにグループ名フィールドが自動的に挿入されます。次の各項では、グループ名フィー
ルドを自動的に挿入しない場合に、そのようなフィールドを手作業で挿入する方法、および必要に応じてさま
ざまな動的ヘッダを作成する方法について解説します。
174
2012-05-10
並べ替え、グループ化、集計
グループ名のみ
最も簡単な動的ヘッダは、フィールドを識別する値を使用するものです。
8.6.1.2.1 グループ名だけを使った動的ヘッダを作成する
1
[表示]メニューで、[フィールドエクスプローラ]をクリックします。
2 [フィールドエクスプローラ]ダイアログボックスで、[グループ名フィールド]フォルダを展開します。
3 作業の対象とするグループと一致するグループ名フィールドを選択し、そのグループのグループヘッダセ
クションまでフィールドをドラッグします。
レポートを実行すると、グループフィールドを識別する値が、各グループのグループヘッダとして表示され
ます。
8.6.1.2.2 テキスト付きグループ名
さらに複雑な動的ヘッダでは、フィールド値とテキストを結合します。たとえば、データを地域でグループ化す
る場合の典型的なグループヘッダとしては、"取引高: カリフォルニア"や"顧客郵便番号: 60606"などがありま
す。このようなヘッダの作成は次の 3 つの手順で行います。
•
テキストオブジェクトをグループヘッダセクションに挿入します。
•
表示するテキストを入力します。
•
グループヘッダに表示するテキストフィールドにグループ名フィールドを挿入します。
たとえば、"取引高: "というテキストと現在のグループ名から成るヘッダを作成すると、"取引高: AZ"、"取引高:
CA"のようになります。
グループ名を使った動的ヘッダを作成する
1
[挿入ツール]ツールバーの[テキストオブジェクトの挿入]ボタンをクリックします。
2 オブジェクトフレームをグループのグループヘッダセクションに置きます。
3 使用するテキストを入力し、その後にスペースを 1 つ入れます。
4
[標準]ツールバーの[フィールドエクスプローラ]ボタンをクリックします。
5 [フィールドエクスプローラ]ダイアログボックスで、[グループ名フィールド]フォルダを展開します。
6 グループに合ったグループ名フィールドを選択し、テキストオブジェクト内の、先ほど入力したテキストとス
ペースのすぐ後にドラッグします。
ヒント
テキストとグループフィールドの両方が入るように、テキストボックスのサイズを広げます。
7 目的どおりの表示になるように、テキストオブジェクトを書式設定します。
レポートを実行すると、それぞれのグループに対して、テキスト付きの動的ヘッダーが表示されます。
175
2012-05-10
並べ替え、グループ化、集計
8.6.1.2.3 式に基づくグループの動的ヘッダ
グループを作成し、"並べ替え/グループ化"フィールドとして式フィールドを使用すると、式から返される値に基
づくグループ名フィールドが自動的に作成されます。
たとえば、次の式を作成します。
{customer.CUSTOMER NAME}[1]
次にこの式を使ってグループを作成すると、データは "顧客名" フィールドの最初の文字に基づいてグループ
化されます。
式を使ってグループの動的グループヘッダを作成するには、グループ名フィールドをグループヘッダセクショ
ンに挿入するだけです。
レポートを実行すると、A グループのヘッダが文字"A"に、B グループのヘッダが文字"B"になります。詳細に
ついては、157 ページの 「会社名の最初の文字でグループ化」および155 ページの 「データを範囲でグループ
化」を参照してください。
8.6.1.3 カスタムグループのヘッダ
最後のヘッダは、データを指定順序でグループ化したときに作成されるカスタムグループのヘッダです。指定
順序のグループ化を使用する場合は、グループの名前とそれに属するレコードを指定します。他のグループ
化の場合と同じように、指定するグループ名に基づき、各グループのグループ名フィールドが作成されます。
8.6.1.3.1 カスタムグループのヘッダを作成する
1
[表示]メニューで、[フィールドエクスプローラ]をクリックします。
2 [フィールドエクスプローラ]ダイアログボックスで、[グループ名フィールド]フォルダを展開します。
3 カスタムグループのグループ名フィールドを選択し、それをそのグループのグループヘッダセクションにド
ラッグします。
割り当てたグループ名がそれぞれ適切なグループに自動的に適用されます。
注
指定グループの定義を使ってグループに名前を割り当てる場合、それらの名前がグループヘッダとして表示
するのに適した名前であることを確認してください。
176
2012-05-10
並べ替え、グループ化、集計
8.6.2 グループヘッダの非表示
レポート内でグループヘッダを非表示にすることもできます。
8.6.2.1 グループヘッダを非表示にする
1 グループヘッダを右クリックし、[フィールドの書式]を選択します。
2 書式エディタで、[共通]タブの[非表示]チェックボックスをオンにします。
3 [OK]をクリックします。
ヒント
グループヘッダを再び表示にするには、[非表示]チェックボックスをオフにします。
8.6.3 グループヘッダのドリルダウン
レポートを見やすくするため、レポートの詳細を非表示にして、グループヘッダだけを表示できます。必要に応
じてグループヘッダをクリックすると、レポートの詳細を表示できます。
8.6.3.1 グループヘッダをドリルダウンする
177
2012-05-10
並べ替え、グループ化、集計
1 レポートの左側の灰色の詳細セクションを右クリックします。
2 [非表示(ドリルダウン可)]を選択します。
3
[最新表示]をクリックします。
マウスポインタをグループヘッダの上に置くと、ポインタの形が虫眼鏡に変わります。
4 グループヘッダをダブルクリックして詳細情報にドリルダウンします。
Report Designer にドリルダウンタブが表示されます。[デザイン]タブまたは[プレビュー]タブをクリックして戻
ります。
関連項目
• 84 ページの「集計データのドリルダウン」
178
2012-05-10
積算合計
積算合計
9.1 積算合計の概要
積算合計フィールドは、集計フィールドに類似していますが、合計の計算方法やリセットするタイミングをさらに
細かく調節できます。積算合計フィールドは、次の合計機能を実行するのに特に適しています。
•
レコードごとに累計値を計算して表示する。
•
レポート中のグループ分けとは無関係に値を合計する場合。
•
条件に応じて値を合計する。
•
グループ選択式の適用後に値を合計する。
•
1 対多のリンクリレーションシップを持つテーブルの値を合計する。
9.1.1 積算合計のしくみ
積算合計フィールドは、積算合計エキスパートを使って作成します。積算合計エキスパートは、集計するフィー
ルド、使用する集計操作、評価の基準となる条件、および評価をリセットする条件の選択をユーザに求め、そ
れを基に積算合計フィールドを作成します。
注
積算合計フィールドは、データベースフィールドとパス 1 の式フィールドに対して設定できますが、パス 2 の式
や他のパス 2 の式を参照する式に対しては設定できません。
9.1.1.1 積算合計フィールドの配置
[積算合計]フィールドの計算は、積算合計エキスパートで選択されている設定値によって決まります。ただし、
積算合計を配置する位置によって、レポートに表示される値が影響を受けます。たとえば、全レコードをひとつ
ひとつ評価し、全くリセットされない(つまり総計を求める)設定の積算合計フィールドをレポートヘッダに配置す
ると、総計ではなく最初のレコードの値を表示します。この積算合計フィールドをレポートフッタに配置すると、
179
2012-05-10
積算合計
意図したとおりに総計を表示します。どちらの例でも指定したとおりに積算合計は計算されますが、最初の例
では表示のタイミングが早すぎます。
各種のレポートセクションに積算合計を挿入した場合に、計算に含められるレコードを次の表にまとめます。こ
の表では、積算合計がリセットされないことを前提としています。
レポートセクション
積算合計の計算に含まれるレコード
レポートヘッダ
レポート内の最初のレコード
ページヘッダ
現在のページの最初のレコードまで(このレコードを
含む)の全レコード
グループヘッダ
現在のグループの最初のレコードまで(このレコード
を含む)の全レコード
詳細
現在のレコードまで(このレコードを含む)の全レコー
ド
グループフッタ
現在のグループの最後のレコードまで(このレコード
を含む)の全レコード
ページフッタ
現在のページの最後のレコードまで(このレコードを
含む)の全レコード
レポートフッタ
レポート内の全レコード
9.2 積算合計の作成
積算合計とは、レコードごとに表示される通算の合計です。これは、レポートやグループなどの中で、現在のレ
コードを含む、現在のレコードまでのすべてのレコードの合計です。
9.2.1 単一のリスト内での積算合計の作成
180
2012-05-10
積算合計
最も基本的な形式の積算合計は、リストの最後まで累計する積算合計です。このチュートリアルでは、注文量
のリストに積算合計を設定して、この種のレポートを作成します。
注
積算合計フィールドには、先頭に # 記号が付きます。
9.2.1.1 単一のリスト内に積算合計を作成する
1 まず、サンプルデータベース xtreme.mdb を使ってレポートを作成します。Customer テーブルと Orders
テーブルをリンクし、次のフィールドを詳細セクションの左から右へ順に配置します。
{customer.CUSTOMER NAME}
{orders.ORDER ID}
{orders.ORDER AMOUNT}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
3
[積算合計フィールド]を選択して、[新規作成]をクリックします。
[積算合計フィールドの作成]ダイアログボックスが表示されます。
4 [積算合計名]ボックスに「受注総額」と入力します。
5 [利用可能なテーブルとフィールド]リストボックスから{Orders.受注額}を選択し、1 番目の矢印ボタンを使っ
て[集計するフィールド]テキストボックスにそのフィールドを入力します。
6 [集計のタイプ]リストから[合計]を選択します。
7 ダイアログボックスの[評価]セクションで[フィールドの変更時]オプションをクリックし、"基準"フィールドに
{Orders.受注番号}を選択します。
積算合計は、このフィールドが変化するたびに加算されます。
8 ダイアログボックスの[リセット]セクションで[リセットしない]オプションをクリックします。これで、積算合計はリ
セットされなくなります。積算合計は、レポートの最後まで継続されます。
9 [OK]をクリックして積算合計フィールドを保存します。
[フィールドエクスプローラ]ダイアログボックスに戻ります。
10 レポートの詳細セクションにある{Orders.受注額}フィールドの右隣に積算合計フィールドを挿入します。
レポートでは、積算合計の列の各行に、現在のレコードの値と前の値とを加算した値が表示されます。レ
ポートの最後まで途切れず加算が継続されます。
181
2012-05-10
積算合計
9.2.2 グループ単位での積算合計の作成
また、積算合計がよく使用される例に、グループ内の項目の合計があります。グループ内の最初の項目から積
算合計が始まり、最後の項目で終了します。次のグループ、またその次のグループに対しても同じです。
このチュートリアルでは、次のレポートを作成します。
•
顧客からの注文の積算合計を保持する
•
顧客からの注文をグループ化し、各グループごとに積算合計をリセットする
•
顧客グループごとの小計を表示する
9.2.2.1 グループごとの積算合計を作成する
1 まず、サンプルデータ xtreme.mdb を使ってレポートを作成します。
Customer テーブルと Orders テーブルをリンクし、次のフィールドを詳細セクションの左から右へ配置しま
す。
{customer.CUSTOMER NAME}
{orders.ORDER ID}
{orders.ORDER AMOUNT}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2 [挿入]メニューの[グループ]をクリックして{Customer.顧客名}フィールドをグループ化します。
3 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
4
[積算合計フィールド]を選択して、[新規作成]をクリックします。
[積算合計フィールドの作成]ダイアログボックスが表示されます。
5 [積算合計名] ボックスに「グループ別積算合計」と入力します。
6 [利用可能なテーブルとフィールド]リストボックスから{Orders.受注額}を選択し、1 番目の矢印ボタンを使っ
て[集計するフィールド]テキストボックスにそのフィールドを入力します。
7 [集計のタイプ]リストから[合計]を選択します。
8 ダイアログボックスの[評価]セクションで、[レコードごとに]をクリックします。
9 ダイアログボックスの[リセット]セクションで、[グループの変更時]をクリックし、デフォルトのグループ名を受
け入れます。
10 [OK]をクリックして積算合計フィールドを保存します。
182
2012-05-10
積算合計
[フィールドエクスプローラ]ダイアログボックスに戻ります。
11 レポートの詳細セクションにある{Orders.受注額}フィールドの右隣に積算合計フィールドを配置します。
注
各グループの総計を表示する場合は、レポートのグループフッタセクションに積算合計フィールドを配置し
ます。
9.2.3 条件付き積算合計の作成
値リストから一部の値だけを対象にして小計を求めたい場合があります。以下はその例です。
•
カナダと米国の顧客に関する情報を収めたリストがあります。
•
リストでは、顧客名がアルファベット順に並んでおり、この順序は変えないようにします。
•
国別にデータをグループ化するのも避けます。
•
カナダの顧客の値だけを合計して表示する必要があります。
•
また、米国の顧客の値だけを合計して表示する必要もあります。
これを実現するには、2 つの積算合計を作成します。1 つは米国のレコードの積算合計、もう 1 つはカナダの
レコードの積算合計です。
•
米国合計
米国のレコードの積算合計を継続します。
•
カナダ合計
カナダのレコードの積算合計を継続します。
9.2.3.1 条件付き積算合計を作成する
1 まず、サンプルデータ xtreme.mdb を使ってレポートを作成します。Customer テーブルをリンクし、次の
フィールドを詳細セクションの左から右へ配置します。
{customer.CUSTOMER NAME}
{customer.COUNTRY}
{customer.LAST YEAR'S SALES}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2 [レポート]メニューの[レコード並べ替えエキスパート]をクリックします。
183
2012-05-10
積算合計
ヒント
[エキスパートツール]ツールバーの[レコード並べ替えエキスパート]ボタンをクリックする方法もありま
す。
3 {Customer.顧客名}フィールドに基づいてレコードを並べ替えます。
4 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
5
[積算合計フィールド]を選択して、[新規作成]をクリックします。
[積算合計フィールドの作成]ダイアログボックスが表示されます。
6 [積算合計名] ボックスに「米国合計」と入力します。
7 [利用可能なテーブルとフィールド]リストボックスから{Customer.前年度取引高}を選択し、1 番目の矢印ボ
タンを使って[集計するフィールド]テキストボックスにそのフィールドを入力します。
8 [集計のタイプ]リストから[合計]を選択します。
9
ダイアログボックスの [評価] セクションで [式を使用] オプションボタンをクリックし、 [式] ボタンをクリッ
クします。
式ワークショップが起動し、積算合計条件式が表示されます。
10 [式]ボックスに次の式を入力します。
{Customer.Country} = "USA"
この式では、{Customer.国}フィールドの値が"USA"であるレコードが見つかるたびに積算合計を求めるよう
に、プログラムに指示します。"Canada"などのその他のレコードは、すべて無視されます。
11 式の構文が正しい場合は、[保存して閉じる] をクリックします。
[積算合計フィールドの作成]ダイアログボックスに戻ります。
12 ダイアログボックスの[リセット]セクションで、[リセットしない]をクリックします。
13 [OK]をクリックして積算合計フィールドを保存します。
[フィールドエクスプローラ]ダイアログボックスに戻ります。
14 レポートの詳細セクションに作成されたフィールドを配置します。
15 手順 5 から 13 の説明に従って、"カナダ合計"積算合計フィールドを作成します。ここでは、評価式を次の
ように設定する点だけが異なります。
{Customer.Country} = "Canada"
16 完了したら、レポートの詳細セクションに"#カナダ合計"フィールドを配置します。
注
カナダと米国の取引高の総計だけを表示する場合は、作成した 2 つの積算合計フィールドをレポートのレ
ポートフッタセクションに配置します。
184
2012-05-10
積算合計
9.2.4 1 対多のリンクリレーションシップがある積算合計の作成
リンクテーブル間で 1 対多のリンクリレーションシップが発生するのは、1 つのテーブル内の特定のレコードが、
他のテーブルの複数のレコードに関連付けられる場合です。たとえば、顧客テーブルと注文テーブル間のリン
クで生じます。主テーブルの各顧客が、参照テーブルにある複数の注文を行っていることは珍しくありません。
この場合、レポートでは、参照テーブルの新しいフィールド値ごとに、主テーブルのフィールド値が繰り返し現
れます。
主テーブルのフィールドで小計を計算すると、繰り返し現れる値も計算に含まれるため、正しい結果が得られ
ません。積算合計を作成することで、この問題を回避できます。
その概要について、Xtreme サンプルデータベースの Customer テーブルと Orders テーブルを使って説明し
ます。
9.2.4.1 1 対多のリンクリレーションシップがある積算合計を作成する
1 [フィールドエクスプローラ]ダイアログボックスを使用して、次のフィールドをレポートの詳細セクションの左か
ら右へ配置します。
{customer.CUSTOMER NAME}
{customer.LAST YEAR'S SALES}
{orders.ORDER ID}
{orders.ORDER AMOUNT}
2
[挿入ツール]ツールバーの[グループの挿入]をクリックし、{Customer.顧客名}フィールドに基づくグ
ループを作成します。
3 {Customer.前年度取引高}フィールドを右クリックし、[挿入]サブメニューの[集計]をクリックします。
4 集計の保存場所として、"グループ #1: Customer.顧客名 - A"を選択します。
各グループの小計を見ると、それらの小計が正しくないことがわかります。その原因は、レポート内の注文ご
とに、{Customer.前年度取引高}フィールドが繰り返されていることです。残りの手順を実行し、同じ状況に
おいて、積算合計がどのようにして正確な結果を求めるかを確認してください。
5
[フィールドエクスプローラ]ダイアログボックスで[積算合計フィールド]を選択し、[新規作成]をクリックし
ます。
[積算合計フィールドの作成]ダイアログボックスが表示されます。
6 [積算合計名] ボックスに「前年度取引高積算合計」と入力します。
7 [利用可能なテーブルとフィールド]リストボックスから{Customer.前年度取引高}を選択し、1 番目の矢印ボ
タンを使って[集計するフィールド]テキストボックスにそのフィールドを入力します。
8 [集計のタイプ]ドロップダウンリストから[合計]を選択します。
9 ダイアログボックスの[評価]セクションで[フィールドの変更時]オプションをクリックし、[利用可能なテーブル
とフィールド]ボックスから{Customer.顧客名}フィールドを選択して追加します。
185
2012-05-10
積算合計
10 ダイアログボックスの[リセット]セクションで、[グループの変更時]を選択し、"グループ #1: Customer.顧客名
- A"を選択します。
11 [OK]をクリックし、積算合計フィールドを保存します。
12 [グループフッタ]セクションに積算合計を配置します。
各グループの積算合計値と小計額を比較してください。積算合計は正しいが、小計は正しくないことがわかり
ます。
9.3 式を使った積算合計の作成
データを非表示にした場合、または、データが WhilePrintingRecords のタイミングで実行される式に基づいて
いる場合は、[積算合計フィールドの作成]ダイアログボックスを使用するのではなく、積算合計式を作成する必
要があります。
積算合計を手作業で作成する場合は、次の 3 つの式を作成する必要があります。
•
集計用の式
•
変数を 0 に設定するリセット用の式
•
変数を表示する表示用の式
以下の手順では、次の機能を持つレポートを作成します。
•
顧客からの注文の積算合計を保持する
•
顧客からの注文をグループ化し、各グループごとに積算合計をリセットする
•
各注文グループごとに小計(その注文の積算合計の最後の値)を表示する
9.3.1 式を使って積算合計を作成する
1 サンプルデータ xtreme.mdb を使ってレポートを作成します。Customer テーブルと Orders テーブルをリン
クし、次のフィールドを詳細セクションの左から右へ配置します。
{customer.CUSTOMER NAME}
{orders.ORDER ID}
{orders.ORDER AMOUNT}
注
Xtreme.mdb は、SAP Business Objects サポート Web サイトにあります。
2 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
3
[フィールドエクスプローラ] ダイアログボックスの [式フィールド] を選択し、 [新規作成] をクリックしま
す。
4 式に「積算合計」という名前を付け、[エディタを使用] をクリックします。
186
2012-05-10
積算合計
式ワークショップが起動し、式エディタが表示されます。
5 [式] ボックスに次の式を入力します。
WhilePrintingRecords;
CurrencyVar Amount;
Amount := Amount + {Orders.Order Amount};
6 式ワークショップの [保存して閉じる] をクリックします。
7 この式をレポートの詳細セクションの{Orders.受注額}フィールドのすぐ右に配置します。
この式は、"受注額"フィールドの値の積算合計を出力します。
8
[挿入]メニューの[グループ]をクリックし、{Customer.顧客名}フィールドを使ってレポートをグループ化
します。
9 式ワークショップで式"金額のリセット"を作成します。
WhilePrintingRecords;
CurrencyVar Amount := 0;
この式の意味は、
"変数 Amount の値を 0 に設定する"です。
10 この式を"レポートのグループヘッダ #1"セクションに配置します。
"グループヘッダ #1"セクションは、各グループごとに一度表示されるので、式"@金額のリセット"は、グルー
プが変わるたびに実行されます。したがって、新しいグループが始まるたびに、変数 Amount が 0 にリセッ
トされます。
11 出力結果に表示されないように、レポート上で式"@金額のリセット"を選択し、書式エディタを使ってそれを
非表示にします。
12 式ワークショップで式"金額の表示"を作成します。
WhilePrintingRecords;
CurrencyVar Amount;
この式は、単にいつも変数 Amount の現在の値を表示するだけです。
13 この式をレポートの"グループフッタ #1"セクションに配置します。
"グループフッタ #1"セクションは、各グループごとに一度表示されるので、式"@金額の表示"は、グループ
が終わるたびに実行されます。したがって、グループが代わるたびに、変数 Amount に格納された値が出
力されます。
187
2012-05-10
積算合計
注
この式が出力する値は、各グループの最後のレコードに対する積算合計として"@積算合計"が出力する値
と同じです。しかし、この式は、値をグループフッタセクションに出力しているので、積算合計ではなく、グ
ループの小計として機能します。
レポートでは、積算合計の列の各行に、現在のレコードの値と前の値とを加算した値が表示されます。積算
合計は、新規グループごとに新たに開始されます。また、各グループの最終的な積算合計は、そのグルー
プの小計になります。
188
2012-05-10
複数セクションレポート
複数セクションレポート
10.1 セクションについて
Crystal Reportsでは、レポートの作成時に次の 5 つのデザイン領域が用意されます。
•
レポートヘッダ
•
ページヘッダ
•
詳細
•
レポートフッタ
•
ページ フッター
新規に作成するレポートでは、領域ごとに 1 つのセクションが設定されます。これらの最初のセクションは削除
できませんが、非表示にしたり、新しくセクションを追加することはできます。追加したセクションは、削除したり、
同種のセクションとの位置関係を変えたり、関連するセクションどうしをマージできます。
10.2 セクションの操作
189
2012-05-10
複数セクションレポート
ここでは、セクションエキスパートでセクションを操作する方法について説明します。セクションの挿入、削除な
どは、[デザイン]タブまたは[プレビュー]タブのセクションの左側の影付きの領域を右クリックし、ショートカットメ
ニューから該当するオプションを選択して実行することもできます。
10.2.1 セクションの挿入
1
[エキスパートツール]ツールバーの[セクションエキスパート]をクリックします。
セクションエキスパートが表示され、レポートのすべてのセクションがリストされます。同じ種類のセクションが
複数ある場合は、それぞれのセクションに a、b、c などの文字が付きます。
注
強調表示されたセクションに適用されるオプション([自由形式の配置]、[出力前に改ページ]など)だけが有
効になります。
2 セクションを挿入する 1 つ前のセクションを強調表示します。
たとえば、詳細セクションを追加するには、既存の詳細セクションを強調表示します。
3 [挿入]をクリックします。
強調表示されているセクションのすぐ下に新しいセクションが追加されます。
10.2.2 セクションの削除
1
[エキスパートツール]ツールバーの[セクションエキスパート]をクリックします。
セクションエキスパートが表示され、レポートのすべてのセクションがリストされます。同じ種類のセクションが
複数ある場合は、それぞれのセクションに a、b、c などの文字が付きます。
注
強調表示されたセクションに適用されるオプション([自由形式の配置]、[出力前に改ページ]など)だけが有
効になります。
2 削除するセクションを強調表示します。
3 [削除]をクリックします。
強調表示されているセクションがレポートから削除されます。
10.2.3 セクションの移動
190
2012-05-10
複数セクションレポート
1
[エキスパートツール]ツールバーの[セクションエキスパート]をクリックします。
セクションエキスパートが表示され、レポートのすべてのセクションがリストされます。同じ種類のセクションが
複数ある場合は、それぞれのセクションに a、b、c などの文字が付きます。
注
強調表示されたセクションに適用されるオプション([自由形式の配置]、[出力前に改ページ]など)だけが有
効になります。
2 移動するセクションを強調表示します。
3 上向きまたは下向きの矢印ボタンをクリックしてセクションを移動します。
注
•
•
•
セクションは、セクションの領域内でだけ上下方向に移動できます。
セクションを示す文字は、先頭のセクションからの相対的な位置を表しています。たとえば、セクション"C"を
上に移動すると、そのセクションは"C"ではなく"B"になります。
Report Designer でセクションをドラッグアンドドロップして、セクションを移動することもできます。
10.2.4 関連する 2 つのセクションのマージ
2 つのセクションに分けてオブジェクトを配置した場合、それらのオブジェクトは連続して出力されます。それら
のオブジェクトを単一のセクションにまとめ、同時に出力されるようにするには、2 つのセクションをマージしま
す。また、必要に応じて新しいセクションでオブジェクトを整列し直すこともできます。
10.2.4.1 関連するセクションをマージする
1
[エキスパートツール]ツールバーの[セクションエキスパート]をクリックします。
セクションエキスパートが表示され、レポートのすべてのセクションがリストされます。同じ種類のセクションが
複数ある場合は、それぞれのセクションに a、b、c などの文字が付きます。
注
強調表示されたセクションに適用されるオプション([自由形式の配置]、[出力前に改ページ]など)だけが有
効になります。
2 マージする 2 つのセクションを移動して、リスト内で前後に並べます。
3 上の方のセクションを強調表示します。
191
2012-05-10
複数セクションレポート
4 セクション B を強調表示して[マージ]をクリックすると、セクション C がセクション B にマージされて 1 つの
セクションになります。
5 必要に応じてオブジェクトを整列し直します。
10.3 セクションの分割およびサイズ変更
[デザイン]タブで 1 つのセクションを複数のセクションに分割したり、サイズ変更できます。
10.3.1 セクションの分割
1 分割するセクションの左側の境界線にマウスポインタを置きます。
2 ポインタがセクション分割ポインタに変わったら、境界線をクリックして、ポインタをセクションにドラッグしま
す。
3 水平線が表示されたら、それを上下にドラッグし、任意の位置でセクションを分割します。
192
2012-05-10
複数セクションレポート
10.3.2 セクションのサイズ変更
1 サイズ変更するセクションの下の境界線上にマウスポインタを置きます。
2 ポインタがセクションサイズ変更ポインタに変わったら、境界線をドラッグしてセクションを目的のサイズに変
更します。
10.3.2.1 セクションのサイズ変更による余白の削除
セクションに 1 つ以上のセクションがあり、サイズを変更して余分な空白を削除するには、[デザイン]タブまたは
[プレビュー]タブのセクションの左側の影付きの領域を右クリックし、ショートカットメニューから[セクションのサイ
ズに合わせる]を選択します。セクションのサイズが自動的に変更され、セクションの中で最も下にあるオブジェ
クトの下端に、そのセクションの下の境界線が合わせられます。
次の場合は、セクションが自動的に上下に拡大されます。
•
セクションに挿入したオブジェクトがセクションより上下に大きい場合。
•
オブジェクトを上下に大きくして、セクションより大きくなった場合。
注
•
•
193
セクションを、セクション内のすべてのオブジェクトの高さの合計より小さくすることはできません。
セクションエキスパートの[共通]タブにある[ページフッタをクランプ]を選択して、ページフッタの下にあるス
ペースを削除することもできます。
2012-05-10
複数セクションレポート
10.4 複数のセクションの使用
次のようなレポート作成作業では、1 つの領域内に複数のセクションを作成することによって効率よく作業を行
うことができます。
複数セクションの機能を理解すれば、必要な効果をさまざまな方法で生み出すことができます。
関連項目
• 189 ページの「セクションの操作」
10.4.1 可変長オブジェクトが重ならないように制御
書式エディタで、サブレポートやその他の可変長オブジェクトの[複数行に出力]オプションがオンになっている
場合、そのオブジェクトをレポートの同じセクションにある他のオブジェクトの上に配置すると、可変長オブジェ
クトがそのすぐ下のオブジェクトと重なって出力される可能性があります。ただし、次の場合は除きます。
•
オブジェクトの最大サイズが収まるように、セクションを拡張している場合。
•
オブジェクト間に十分な間隔を空け、最初のオブジェクトが完全に出力されてから、2 番目のオブジェクトが
出力されるようにしている場合。
オブジェクトが重なる問題を解決するには、1 つの領域に複数のセクションを作成し、上のセクションに可変長
オブジェクトを入れ、下のセクションにその他のオブジェクトを配置します。
こうしてレポートを実行すると、可変長オブジェクトがあるセクションが出力を完了してから下のセクションが出力
されるため、期待どおりの結果を得ることができます。
194
2012-05-10
複数セクションレポート
注
次のような多くのレポートオブジェクトで[複数行に出力]オプションを使用できるため、オブジェクトが重なって
出力される場合があります。
•
テキスト フィールド
•
式フィールド
•
メモ フィールド
•
BLOB フィールド
•
サブレポート
•
クロスタブ
•
OLAP グリッド
10.4.2 フィールドが空の空白行の削除
この Customer テーブルには、2 つの住所フィールドがあります。1 つ(住所 1)は番地用に、もう 1 つ(住所 2)
は、部屋番号や私書箱などに使用します。通常、"住所 1"には値が含まれますが、"住所 2"は空欄となること
があります。このデータを使って顧客リストを作成する場合、宛名ラベル形式でフィールドを積み重ねると、"住
所 2"フィールドが空の顧客レコードでは、空白行が出力されてしまいます。複数セクションを使用するか、空白
行を非表示にして、この空白行を削除することができます。
10.4.2.1 複数セクションを使用して空行を削除する
1
セクションエキスパートを使用して、新しい詳細セクションを 2 つ作成します。詳細セクションは全部で
3 つとなります。189 ページの 「セクションの操作」 を参照してください。
2 "住所 2"フィールドをレポートの中央のセクションに配置し、その他のデータは、その上下のセクションに配
置して表示されるようにします。
3 セクションエキスパートで、中央のセクションを強調表示します。
4 [共通]タブの[空セクションの非表示]チェックボックスをオンにします。
レポートを出力すると、"住所 2"のセクションが空の場合、このセクションは出力されないので、レポートから不
要な空行がなくなります。
注
非表示にするレポートセクションに空サブレポートが含まれる場合は、[空のサブレポートを非表示にする]オプ
ションを使用します。このオプションは、[空セクションの非表示]オプションと同じく書式エディタの[サブレポー
ト]タブにあります。
195
2012-05-10
複数セクションレポート
10.4.3 空白行の条件付き追加
複数セクションを使用すると、レポートに特定の条件で空白行を出力できます。たとえば、5 つのレコードごとに
空白行を挿入できます。
10.4.3.1 空行を条件付きで追加する
1 セクションエキスパートを使用して、2 つの詳細セクションを作成します。189 ページの 「セクションの操作」
を参照してください。
2 上のセクションにレポートの詳細データを配置します。
3 2 番目のセクションは空にしておきます。
4 セクションエキスパートで、2 番目のセクションを強調表示します。
5 [共通]タブの[非表示(ドリルダウン不可)]チェックボックスをオンにし、右側にある[条件付き書式設定]ボタン
をクリックします。
6 書式条件式エディタで、次の式を入力します。
Remainder (RecordNumber,5) <> 0
この式は、各レコード番号を 5 で割り、余りがある場合は、空セクションを非表示にします。レコードが 5 つ
出力されるごとに余りが 0 になり、その場合は、2 番目のセクションが出力され、空行が挿入されます。
注
式を適切に変更すると、さまざまな条件で空行を挿入できます。253 ページの 「条件付き書式設定」 を参照し
てください。
10.5 フォームレター
フォームレター自体は、必ずしも複数セクションレポートではありませんが、複数セクションレポートでカスタム
メールを作成するために頻繁に使用されています。203 ページの 「フォームレターへのメッセージの条件付き
出力」?では、複数のフォームレターまたは同じフォームレターの複数のバージョンを使ってカスタムメールを作
成する方法を解説しています。
フォームレターでは、レポートの内容を保持するためにテキストオブジェクトがよく使用されます。次の節では、
テキストオブジェクトの概要とフォームレターでの使用方法について説明します。
196
2012-05-10
複数セクションレポート
10.5.1 テキストオブジェクトの使用
フォームレターを作成する場合は、さまざまなテキストオブジェクトの機能を使用します。テキストオブジェクトに
ついて大まかに理解しておくと、次の節でフォームレターを簡単に作成できます。次の例では、両方とも使用し
ます。
•
テキストオブジェクトにはテキストとフィールドの両方を挿入できるため、この例では両方を使用します。
•
テキストオブジェクトはサイズ変更できます。レターとして出力できるように、テキストオブジェクトのサイズを
変更します。
10.5.1.1 移動/サイズ変更モード
移動/サイズ変更モードでは、オブジェクトがサイズ変更ハンドルと共に実線のフレームで表示されます。
このモードでは、サイズ変更ハンドルをドラッグしてオブジェクトのサイズを変更したり、オブジェクトの内側に
カーソルを置き、それをドラッグして新しい位置に移動したりすることができます。また、フィールドを挿入するこ
ともできます。ただし、テキストは挿入できません。テキストオブジェクトが選択されていない状態のときに、テキ
ストオブジェクトをクリックすると、移動/サイズ変更モードになります。
10.5.1.2 編集モード
[オプション]ダイアログボックスで[ルーラーを表示]チェックボックスをオンにしている場合、編集モードにあるオ
ブジェクトは、サイズ変更ハンドルのない実線のフレームで表示され、タブの上にインプレイスルーラーが現れ
ます。
テキストオブジェクトを配置すると、最初は編集モードになります。また、テキストオブジェクトが選択されていな
い状態や移動/サイズ変更モードになっている場合は、ダブルクリックすると編集モードに変わります。最終的
には、テキストオブジェクトを右クリックし、ショートカットメニューで[テキストの編集]を選択することにより、編集
モードにできます。
各テキストオブジェクトは、ワードプロセッサ機能を持っています。フィールドまたは個別の文字のフォントの変
更や自動折り返し機能などが利用できます。編集モードでは、テキストのほかに、データベースフィールドや式
などの非テキストオブジェクトも挿入できます。オブジェクトが編集モードの場合は、テキストの入力位置やフィー
ルドの挿入位置を示すカーソル(点滅する垂直の線)が表示されます。
197
2012-05-10
複数セクションレポート
入力のたびにカーソルは自動的に移動し、最後の文字の右側に表示されます。また、フィールドを挿入した場
合も、カーソルは自動的に移動してフィールドの右側に表示されます。Space キーを押すたびに、カーソルは
一度に 1 文字分移動します。Enter キーを押すと、テキストオブジェクト内で 1 行下の左端に移動します。この
操作により、改行が挿入されます。既存のテキスト内をクリックすると、カーソルはクリックした位置に移動します。
このチュートリアルでは、特に指定されない限り、自動的に配置された挿入位置にキー入力したり、フィールド
を挿入してください。
•
テキストを削除またはフォントを変更するために、テキストオブジェクト内のテキストを選択するには、ポイン
タをテキストの上に置き、I 型ポインタが表示されたら、選択するテキスト上をドラッグして強調表示します。
•
テキストオブジェクト内のフィールドを選択するには、ポインタをそのフィールドの上に置き、I 型ポインタが
表示されたら、右クリックします。
•
テキストを挿入するには、キー入力します。入力したテキストが挿入位置に表示されます。
注
フィールドを挿入する前に、必ずドラッグアンドドロップポインタが表示されていることを確認してください。表
示されていない場合は、フィールドを挿入してもテキストオブジェクトに挿入されずに、テキストオブジェクト
と重なる場合があります。この場合は、テキストオブジェクト内に挿入されたように見えますが、テキストオブ
ジェクトを移動しても、フィールドは一緒に移動しません。
•
挿入位置は、ドラッグアンドドロップポインタと連動しています。テキストオブジェクトに既にテキストやフィー
ルドがある場合、ドラッグアンドドロップポインタの移動と共に挿入位置も移動し、フィールドの挿入位置を
正確に指定できます。フィールドは常に挿入位置に挿入されます。
•
テキストフレームの外をクリックすると、編集モードを終了できます。Ctrl+Enter キーを押しても終了できま
す。
10.5.2 テキストオブジェクトによるフォームレターの作成
次の節では、フォームレターの作成方法について説明します。
フォームレターを作成するには、テキストオブジェクトを利用します。作成するフォームレターは、データベース
テーブルと関連付けられ、各レターは、それぞれのレコードからの企業情報を使ってカスタマイズされます。
このチュートリアルの手順を実行する手段がわからない場合は、197 ページの 「テキストオブジェクトの使用」を
参照してください。
198
2012-05-10
複数セクションレポート
10.5.2.1 フォーム レターを作成する
レターには、日付、宛名、あいさつ文、1 段落の本文、および結びを入れます。
1 空のレポートを作成します。サンプルデータベース xtreme.mdb の Customer テーブルを使用してレポート
を作成します。
[デザイン]タブが表示されます。
2 レターに挿入するフィールドの上にフィールドのタイトルを表示しないようにするため、[オプション]ダイアロ
グボックスの[レイアウト]タブで、[詳細フィールドの見出しを挿入]チェックボックスをオフにします。
3
レポートの[詳細]セクションにテキストオブジェクトを挿入します。
4 テキストオブジェクトのフレームをクリックし、オブジェクトを移動/サイズ変更モードにします。
5 オブジェクトの右端のサイズ変更ハンドルを[デザイン]タブの右端までドラッグします。オブジェクトは、約 20
cm のページの幅と同じくらいの大きさになります。状況によっては、サイズ変更を中断し、ウィンドウをスク
ロールしてからサイズ変更する必要があります。
199
2012-05-10
複数セクションレポート
6 編集モードにするには、テキストオブジェクトの内側をダブルクリックします。これで作業を始める準備がで
きました。オブジェクト内の一番左側に挿入ポイントが表示されます。
10.5.2.2 日付の挿入
1 レターに日付を挿入するには、[フィールドエクスプローラ]ダイアログボックスの[特殊フィールド]を展開し、
[出力日付]までスクロールします。
2 [出力日付]をクリックし、そのオブジェクトフレームをテキストオブジェクトまでドラッグしてカーソル位置に配
置します。
注
レターで日付の書式設定を変更するには、まずテキストオブジェクトをダブルクリックして選択します。次に、
[出力日付]フィールドを右クリックし、表示されるショートカットメニューから[{出力日付}の書式設定]を選択し
ます。書式エディタが表示されたら、[日付]タブで変更します。
3 Enter キーを 2 回押し、日付と宛名の間に余白を挿入します。テキストオブジェクト内でカーソルが下に移
動します。
ヒント
書式エディタでテキストオブジェクトに[複数行に出力]オプションを選択していない場合、詳細セクションと
テキストオブジェクトのサイズ変更が必要となることがあります。
10.5.2.3 宛名の作成
1 宛名を作成するには、[フィールドエクスプローラ]ダイアログボックスから Customer テーブルのデータベー
スフィールドをテキストオブジェクトまでドラッグします。
200
2012-05-10
複数セクションレポート
2 "住所 1"フィールドをドラッグし、挿入位置に配置します。Enter キーを押すと、カーソルが下の行に移動し
ます。
3 "市"フィールドをドラッグし、挿入位置に配置します。
4 カンマ(,)の後にスペースを入力します。
5 "地域"フィールドをドラッグし、挿入位置に配置します。
6 スペースを 2 つ入力します。
7 最後に、"郵便番号"フィールドをドラッグし、挿入位置に配置します。Enter キーを押すと、カーソルが下の
行に移動します。
8 もう一度 Enter キーを押し、カーソルを下の行に移動します。ここからあいさつ文が始まります。宛名はこれ
で終了です。
注
テキストオブジェクト内にフィールドを配置すると、自動的に両端が切り詰められ、左右の余白がなくなります。
10.5.2.4 あいさつ文の作成
1 Enter キーを 4 回押し、カーソルを下に移動します。
2 「Dear」と入力し、スペースを入力します。
3 [フィールドエクスプローラ]ダイアログボックスで Customer テーブルの"敬称"フィールドを強調表示し、そ
れをテキストオブジェクトまでドラッグしてスペースの直後に配置します。
4 スペースを 1 つ入力します。カーソルがスペースの直後に移動します。
5 さらに、[フィールドエクスプローラ]ダイアログボックスから"担当者(姓)"フィールドをテキストオブジェクトまで
ドラッグし、挿入位置に配置します。カーソルがフィールドの右側に移動します。
6 挿入位置にコロン(:)を入力し、Enter キーを 2 回押してカーソルを 2 行下に移動します。
201
2012-05-10
複数セクションレポート
10.5.2.5 本文の作成
1
2
3
4
「Your company」と入力し、カンマ(,)とスペースを入力します。
"顧客名"フィールドをテキストオブジェクトまでドラッグし、スペースの直後の挿入位置に配置します。
カンマ(,)の後にスペースを入力します。
以下のテキストを(「」を含めずに)入力します。「helped make this year an outstanding year for Xtreme
Mountain Bikes, Inc. I want to thank you and your staff for your support.I hope next year will be a banner
year for you.」
5 Enter キーを 2 回押します。
6 「Sincerely yours」と入力してカンマ(,)を入力し、Enter キーを 4 回押します。
7 最後に自分の名前を入力すると、フォームレターは完成です。
[デザイン]タブは、次のようになります。
202
2012-05-10
複数セクションレポート
8
[標準]ツールバーの[印刷プレビュー]ボタンをクリックし、フォームレターをプレビューします。
次のようになります。
10.5.3 フォームレターへのメッセージの条件付き出力
フォームレターに条件付きメッセージを出力することもできます。たとえば、顧客に利用可能なクレジッド額を伝
えて購入を勧めたり、クレジッド限度額を超えた顧客には、購入を制限内に抑えるように注意できます。このよ
うなレターを単一のレポート内で両方とも作成できます。
203
2012-05-10
複数セクションレポート
10.5.3.1 条件付きメッセージを作成する
1
セクションエキスパートを使用して、レポートに 2 つ目の詳細セクションを作成します。189 ページの
「セクションの操作」 を参照してください。
2 2 つのフォームレターを作成します。レポートの詳細 a セクションには、顧客に購入を勧めるレターを配置
します。詳細 b セクションには、限度額の超過を注意するレターを配置します。198 ページの 「テキストオブ
ジェクトによるフォームレターの作成」 を参照してください。
3 セクションエキスパートを使用して、特定の条件で非表示になるように詳細セクションを書式設定します。た
とえば、レターのいずれか一方で印刷する場合を考えてみます。
•
最初のセクションは、購入額がクレジット限度額を超えている場合に非表示になるように書式設定しま
す。
•
2 番目のセクションは、購入額がクレジット限度額に満たない場合に非表示になるように書式設定しま
す。
これで、クレジットの利用が可能なレコードに対しては、"購入勧誘"レターが出力されます。クレジットの限度を
超えているレコードに対しては、"超過の注意"レターが出力されます。顧客がちょうどクレジット限度額の場合
は、何も出力されません。
関連項目
• 253 ページの「条件付き書式設定」
204
2012-05-10
書式設定
書式設定
11.1 書式設定の概念
この項では、レポートの書式設定について解説します。書式設定は、レポートのデザインやレイアウト、および
テキスト、オブジェクト、レポートセクション全体の外見を変更するために行います。
次のように、さまざまな書式設定を行うことができます。
•
レポートのセクションを分割する。
•
特定のデータを強調する。
•
データ、番号、論理値、通貨の値、テキスト(文字列)の表現を変更する。
•
不要なセクションを非表示にする。
•
レポートを本格的な体裁にする。
ここでは、Crystal Reports で使用できる書式設定の種類を説明し、順を追ってさまざまな書式設定を実行して
みます。
注
英語のレポートでは多くの日付書式を選択できますが、このレポートを日本語システムに送信すると、書式設
定がくずれてしまう場合があります。日本語システムでは、必ずしもすべての英語の日付書式が表示できるとは
限りません。日本語から英語の場合も同じことが言えます。これらは、システムの地域設定や選択されている書
式に依存します。正しく表示されない場合は、これらの設定を確認する必要があります。
11.2 テンプレートの使用
テンプレートとは既存のレポートファイルであり、その書式を新しいレポートに追加できます。同時に、テンプ
レートレポートのフィールドとレポートオブジェクトの書式も新しいレポートに適用されます。テンプレートを使う
と、複数のレポートを統一した外観で表示できるため、個々のレポートでの書式設定が不要になります。
テンプレートについては、209 ページの 「テンプレートに関する留意点」を参照してください。
205
2012-05-10
書式設定
11.2.1 テンプレートの適用
標準レポート作成ウィザードで新しいレポートを作成するとき、オプションの手順としてテンプレートを適用でき
ます。テンプレートエキスパートを使って、後でテンプレートを適用することもできます。さまざまな定義済みテ
ンプレートの中から選択するか、既存の Crystal レポートをテンプレートとして使用することができます。
11.2.1.1 標準レポート作成ウィザードでテンプレートを適用する
1
[標準]ツールバーの[新規作成]をクリックします。
2 ウィザードに[テンプレート]画面が表示されるまで、データ、フィールド、グループフィールドなどを選択しま
す。
3 [利用可能なテンプレート]リストで、定義済みテンプレートの名前を 1 つクリックすると、そのサンプルが[プ
レビュー]エリアに表示されます。
デフォルトでは、Crystal Reports に付属しているサンプルテンプレートは \Program Files\SAP
BusinessObjects\Crystal Reports 14.0\Templates にインストールされます。
4 既存の Crystal レポートをテンプレートとして適用する場合は、[参照]をクリックします。
5 [開く]ダイアログボックスで、Crystal レポートファイル(.rpt)を選択し、[開く]をクリックします。
このレポートが[利用可能なテンプレート]リストに追加されます。
注
テンプレートとして選択したこのレポートについてテンプレート名とプレビューピクチャが([ドキュメントプロパ
ティ]ダイアログボックスで)保存されている場合は、この情報が[テンプレート]画面に表示されます。
6 [完了]をクリックします。
選択したテンプレートと同じ書式に設定されたデータを含むレポートが表示されます。
注
選択したレポートがテンプレートとしての要件を満たしていない場合、その書式は適用されません。
11.2.1.2 既存のレポートにテンプレートを適用する
1 [レポート]メニューの[テンプレートエキスパート]をクリックします。
テンプレートエキスパートが表示されます。
206
2012-05-10
書式設定
ヒント
[エキスパートツール]ツールバーの[テンプレートエキスパート]ボタンをクリックする方法もあります。
[テンプレート]画面と同様に、さまざまな定義済みテンプレートの中から選択するか、[参照]をクリックして既
存のレポートの中からテンプレートとして使用するものを選択することができます。
2 テンプレートを選択し、[OK]をクリックします。
注
開いているすべてのドリルダウンタブ、アラート、またはアナライザビューは、テンプレートが適用される前に
閉じます。
11.2.2 適用したテンプレートの削除
テンプレートを適用してみて、その変更が思ったとおりでない場合もあります。テンプレートを適用した後でも、
Crystal Reports を終了する前であれば、レポートからテンプレートを削除できます。
11.2.2.1 適用したテンプレートを削除する
1 [レポート]メニューの[テンプレートエキスパート]をクリックします。
ヒント
[エキスパートツール]ツールバーの[テンプレートエキスパート]ボタンをクリックする方法もあります。
2 [現在のテンプレートを元に戻す]を選択し、[OK]をクリックします。
選択したテンプレートの書式が削除され、レポートは最初に開いたときに設定されていた書式に戻ります。
注
テンプレートを削除するには、このオプションを使用する必要があります。[編集]メニューの[元に戻す]コマ
ンドは使用できません。
11.2.3 最後に選択したテンプレートの再適用
テンプレートエキスパートのオプションを 1 つ選択するだけで、Crystal Reports の現在のセッションの最後に
選択したテンプレートを再び適用できます。
207
2012-05-10
書式設定
11.2.3.1 最後に選択したテンプレートを再び適用する
1 [レポート]メニューの[テンプレートエキスパート]をクリックします。
ヒント
[エキスパートツール]ツールバーの[テンプレートエキスパート]ボタンをクリックする方法もあります。
2 [最後のテンプレートを再適用する]を選択し、[OK]をクリックします。
11.2.4 テンプレートフィールドオブジェクトの使用
テンプレートフィールドオブジェクトを使うと、より柔軟性の高いレポートテンプレートを作成できます。このレポー
トオブジェクトは、既存のデータベースフィールドを参照しません。単純にテンプレートレポート内に挿入し、必
要に応じて書式を設定できます。テンプレートを別のレポートに適用すると、Crystal Reports では、レポートの
データが指定した書式で表示されます。このため、テンプレートをデザインするときに、テンプレートの適用先と
なるレポートに含まれるデータを認識しておく必要はありません。テンプレートフィールドオブジェクトを使用す
ることで、使用する目的に柔軟に対応できます。
注
テンプレートフィールドオブジェクトは、結果フィールド(データベースフィールド、パラメータフィールド、SQL
文、および式)だけに適用されます。特殊フィールドは結果フィールドとは見なされません。
11.2.4.1 テンプレートフィールドオブジェクトをテンプレートレポートに追加する
1 [挿入]メニューの[テンプレートフィールドオブジェクト]をクリックします。
挿入用の枠がポインタ上に表示されます。
2 テンプレートフィールドオブジェクトの枠をテンプレートレポートに配置します。
テンプレートフィールドオブジェクトは、任意のレポートセクションに配置できます。
3 オブジェクトを右クリックし、ショートカットメニューから[テンプレートフィールドの書式]を選択します。
書式設定オプションのリストが表示されます。任意のオプションを選択できます。オプションを選択すると、
書式エディタの該当するタブが表示されます。
ヒント
複数のテンプレートフィールドオブジェクトを選択し、設定した書式をこれらすべてのオブジェクトに適用す
ることができます。
208
2012-05-10
書式設定
4 テンプレートフィールドオブジェクトに必要な書式を指定します。
書式の適用方法については、237 ページの 「無条件の書式設定」を参照してください。
作成する各テンプレートフィールドオブジェクトには、特殊な式フィールドが作成されます。この式フィールドは
式ワークショップに表示されます。レポート内のサンプルデータを使って書式の外観を確認するには、これらの
式でデータベースフィールドを参照します。
注
同じレポートセクション内の多数のフィールドにそれぞれ異なる書式設定を適用する場合は、オブジェクトごと
に異なるテンプレートフィールドオブジェクトを使用する必要があります。
11.2.4.2 テンプレートフィールドオブジェクトの式にサンプルデータを追加する
1
フィールドエクスプローラで、[式フィールド]ノードを展開してテンプレートフィールドオブジェクトを選択
し、[編集]をクリックします。
ヒント
フィールドエクスプローラおよび式ワークショップの [式フィールド] ノードで、テンプレートフィールドオブジェ
クトは <TemplateField> と表示されます。
2 式エディタで、引数の Space(10)の部分を、サンプルに表示させたいタイプのデータベースフィールドで置
き換えます。変更を保存し、式ワークショップを終了します。
3 レポートのデータを最新表示します。
11.2.5 テンプレートに関する留意点
既存のレポートをテンプレートとして使用する場合、次のレポートオブジェクトが新規レポートに適用されます。
209
•
フィールド
•
グループ
•
グループチャート
•
集計フィールド
•
ハイパーリンク
•
ビットマップ
•
線、ボックス、境界線
•
静的 OLE オブジェクト
2012-05-10
書式設定
既存のレポートをテンプレートとして使用する場合、次のレポートオブジェクトは新規レポートに適用されませ
ん。
•
詳細チャート
•
サブレポート
•
OLAP グリッド
•
クロスタブ
•
マップ
•
埋め込み OLE オブジェクト
•
BLOB フィールド
•
指定順序によるグループ化
•
高度な集計(上位 N、割合、積算合計など)
テンプレートとして使用する既存のレポートに設定されている書式とオブジェクトは、標準レポート作成ウィザー
ドで行った設定に優先します。たとえば、ウィザードの[チャート]画面で[チャートなし]を選択していた場合でも、
チャートが含まれるテンプレートレポートを適用すると、ウィザードで選択した内容はテンプレートレポートにより
無効となり、新しいレポートにチャートが含まれます。
また、ウィザードの[チャート]画面で選択したチャート集計値も、テンプレートレポート内のチャートにより上書き
されます。通常は、ウィザードでデータフィールドを選択した順序に従って、どの集計フィールドがチャートのデ
フォルト値となるかが決まります。テンプレートを適用すると、ウィザードでは別の値を選択していた場合でも、
テンプレートレポート内の最初の集計フィールドがチャート集計値となります。
210
テンプレートに含まれるもの
ターゲットレポートに含まれるもの
結果
グループチャート
グループチャート
上書き/適用
グループチャート
チャートなし
• グループと集計
上書き/適用
チャートなし
グループチャート
チャートが保持される
詳細チャート
• レポートでグループや集計を
使用している
チャートなし
上書き/空のセクション
詳細チャート
• レポートでグループや集計を
使用していない
詳細チャート
上書き/空のセクション
2012-05-10
書式設定
テンプレートに含まれるもの
ターゲットレポートに含まれるもの
結果
詳細チャート
• レポートでグループや集計を
使用している
詳細チャート
上書き/適用
チャートなし
詳細チャート
チャートが保持される
クロスタブ/OLAP グリッド
クロスタブ/OLAP グリッド
クロスタブ/OLAP グリッドが保持さ
れる
クロスタブ/OLAP グリッドなし
クロスタブ/OLAP グリッド
クロスタブ/OLAP グリッドが保持さ
れる
クロスタブ/OLAP グリッド
クロスタブ/OLAP グリッドなし
上書き/空のセクション
マップ
マップ
マップが保持される
マップなし
マップ
マップが保持される
マップ
マップなし
上書き/空のセクション
サブレポート
サブレポート
サブレポートが保持される
サブレポートなし
サブレポート
サブレポートが保持される
サブレポート
サブレポートなし
上書き/空のセクション
11.3 レポートデザイン環境の使用
ここでは、異なる環境に配布するレポートをデザインする場合に注意する点について説明します。
211
2012-05-10
書式設定
11.3.1 セクションの特性
レポートはいくつかのセクションで構成されます。レポートヘッダ、ページヘッダ、グループヘッダ、詳細セクショ
ン、グループフッタ、ページフッタ、レポートフッタなどです。
各レポートセクションは、一連の行で構成されています。テキストベースのオブジェクトをセクションに配置する
と、テキストがベースラインに合うように行に配置されます。行の高さは、オブジェクトが収まるようにプリンタドラ
イバによって調整されます。
•
他のテキストベースのオブジェクトを同じ行に配置するとき、フォントサイズが最初のオブジェクトのフォント
サイズより大きい場合、行の高さは 2 番目のオブジェクトが収まるように高くなります。
•
さらにフォントサイズが大きい別のテキストベースのオブジェクトを同じ行に配置すると、行の高さはそのオ
ブジェクトが収まるように高くなります。
このように、行の高さは、行内で一番大きなフォントを持つテキストベースのオブジェクトによって決まります。
レポートの同じセクションでも他のセクションでも、テキストベースのオブジェクトを追加すると、さまざまなフォン
トに対応して行の高さが調整されます。この上下の間隔(行間)はプリンタドライバによって決定されるので、定
型フォーム用にレポートを作成してさまざまな環境で出力するのは、難しい作業になります。
次の指針に沿ってレポートをデザインすることをお勧めします。
•
毎回テストページを印刷する。
•
フォントのサイズをすべて同じにする。
•
いつも同じマシンで定型フォームを印刷する。
11.3.2 オブジェクトを後続セクションのアンダーレイとして使用
ここでは、ロゴを複数のセクションのアンダーレイにします。これは、会社の透かし模様を挿入してレポートの背
景にする手順と同様です。
オブジェクトをそれに続くセクションのアンダーレイにするには、まず、アンダーレイとなるセクションにオブジェ
クトを配置します。次に、セクションエキスパートを使用し、オブジェクトを配置したセクションの[続くセクションを
アンダーレイ]オプションをオンにします。
11.3.2.1 簡単なレポートを作成する
1 サンプルデータベース xtreme.mdb の Customer テーブルを使ってレポートを作成します。
212
2012-05-10
書式設定
xtreme.mdb ファイルは、SAP Business Objects サポート Web サイトにあります。
2 レポートの詳細セクションに、{customer.顧客名}フィールドと{customer.前年度取引高}フィールドを並べて
配置します。
3 ページヘッダセクションに配置される各フィールドのタイトルは、ここでは不要なので削除します。
4 データを地域ごとのグループに分けるには、[挿入]メニューの[グループ]を選択します。
5 [グループの挿入]ダイアログボックスの[共通]タブから、{customer.地域}を選択します。
6 [OK]をクリックします。
11.3.2.2 ピクチャを挿入する
1 [挿入]メニューの[ピクチャ]をクリックします。
ヒント
[挿入ツール]ツールバーの[ピクチャの挿入]ボタンをクリックする方法もあります。
2 イメージファイルを選択し、ページヘッダセクションのレポート本体のフィールドより右側に配置します。
注
ここでは、ピクチャをテキストのアンダーレイにはしないので、フィールドの右側に配置しています。透かし模
様のように、ほとんど見えないようなピクチャの場合は、直接テキストの上に配置します。
3
[標準]ツールバーの[印刷プレビュー]ボタンをクリックします。
各レポートページのページヘッダセクションにピクチャが表示されます。
11.3.2.3 オブジェクトを続くセクションのアンダーレイにする
1 [レポート]メニューで、[セクションエキスパート]を選択します。
セクションエキスパートが表示されます。
ヒント
[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをクリックする方法もあります。
2 [セクション]リストで、[ページヘッダ]セクションを選択し、[続くセクションをアンダーレイ]チェックボックスをオ
ンにします。
3 [OK]をクリックし、もう一度プレビューします。
今度は、最初のグループヘッダと、それに続くいくつかの詳細セクションに、またレポート本体のテキストの
上ではなく横にピクチャが表示されます。
213
2012-05-10
書式設定
注
ここでの例のように、ピクチャをレポート本体の右側に配置する方法を使用すると、チャートや従業員の写
真をその詳細の隣に配置できます。
4 [デザイン]タブに戻ります。
5 ピクチャを縦に 2 倍または 3 倍に大きくしてから、レポートをもう一度プレビューします。
もう一度プレビューします。
ビットマップが多くのセクションのアンダーレイになっています。ピクチャのアンダーレイの範囲は、次の条件に
よって変わります。
•
ピクチャのサイズ
•
ピクチャが最初に配置されたセクション
•
セクション内のピクチャの位置
アンダーレイ機能を使用し、オブジェクトのサイズや位置を調整すれば、いろいろな視覚的効果を生み出すこ
とができます。
11.3.3 定型フォーム
定型フォームに出力する場合は、次の作業を行います。
•
フォームをスキャンします。
•
スキャンしたフォームをビットマップとしてレポートに配置します。
•
アンダーレイ機能を使ってビットマップとレポートの位置関係を調整し、またオブジェクトを目的の位置に配
置します。
•
レポートとフォームを一体にして出力できるので、フォームを別々に出力する必要はありません。
11.3.4 複数の列
データをページの上から下に出力するのではなく、複数の列を用意して、データを列から列に出力できます。
11.3.4.1 複数の列を持つレポートを作成する
1 複数の列で書式設定するレポートを開きます。
214
2012-05-10
書式設定
2 [レポート]メニューで、[セクションエキスパート]を選択します。
ヒント
[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをクリックする方法もあります。
3 セクションエキスパートで、[詳細]を強調表示してから、[複数の列で書式設定]を選択します。
セクションエキスパートに[レイアウト]タブが追加されます。
4 [レイアウト]タブをクリックし、希望の列幅を[幅]ボックスで設定します。
列幅を決定するときは、用紙の幅を考慮してください。たとえば、詳細セクションにフィールドが 3 つあり、4
インチの幅を占める場合は、列幅を 4.5 インチ程度にして、フィールドの情報がすべて表示されるようにし
ます。
5 列内の各レコードどうしの間隔を[横]ボックスや[縦]ボックスで設定します。
6 [印刷方向]で方向を選択します。
7 グループ化を含んでいるレポートに書式を設定する場合は、[複数の列でグループを書式設定]チェックボッ
クスをオンにします。
8 [OK]をクリックします。
レポートをプレビューすると、1 列目にだけフィールドヘッダが表示されます。2 列目にフィールドヘッダを表示
するには、テキストオブジェクトを挿入します。
11.3.5 セクションの非表示
Crystal Reports には、レポートの特定の部分を出力しないように設定できる 3 つのプロパティがあります。
11.3.5.1 非表示 - ドリルダウン可
[非表示(ドリルダウン可)]プロパティは、レポートを実行したときに特定のセクションを非表示にします。集計レ
ポートを例にすると、"非表示(ドリルダウン可)"プロパティを使って集計の詳細を隠し、集計結果だけを表示で
きます。"非表示(ドリルダウン可)"プロパティをセクションに適用した場合は、ドリルダウンポインタを使ってセク
ションの内容をドリルダウンすると、その内容を表示できます。このプロパティは無条件で使用します。式を使っ
て条件付きで適用することはできません。
11.3.5.2 非表示 - ドリルダウン不可
215
2012-05-10
書式設定
[非表示(ドリルダウン不可)]プロパティも、レポートを実行したときに特定のセクションを非表示にします。ただ
し、"非表示(ドリルダウン可)"プロパティとは異なり、"非表示(ドリルダウン不可)"プロパティを設定した場合は、
ドリルダウンしてセクションの内容を表示することはできません。このプロパティは、無条件で適用することも、式
を使って条件付きで適用することもできます。これは、フォームレターを作成する場合に便利です。たとえば、
フォームレターで 2 つの詳細セクションを作成します。一方のセクションでは、売上が X 円以上の場合に非表
示にし、もう一方のセクションでは、売上が X 円未満の場合に非表示になるように設定できます。
11.3.5.3 空セクションの非表示
[空セクションの非表示]プロパティは、セクションに何もない場合に、そのセクションを非表示にします。セクショ
ンに何かを配置し、それがレポート内で値を生成すると、表示されるようになります。
11.3.6 レポートオブジェクトの非表示
Crystal Reports の書式エディタには、オブジェクトを個別に非表示にする 3 つの書式設定オプションがありま
す。
11.3.6.1 重複データの非表示([共通]タブ)
[重複データの非表示]オプションを使用すると、同じセクションの繰り返しの中で、フィールド値が直前の値と同
じ(重複している)場合にはその値が出力されないようにできます。
値は出力されませんが、そのスペースは残されます。
216
2012-05-10
書式設定
注
•
•
このオプションは、埋め込みフィールドを含んでいるテキストフィールドに対しては機能しません。
このオプションは、書式設定されたフィールド値ではなく、レコード値を比較します。プログラムは、書式設
定されたページの最初の詳細セクションのオプションを無視します。
11.3.6.2 ゼロを表示しない([数値]タブ)
ヒント
このオプションを使用するには、書式エディタの[数値]タブをクリックし、[ユーザ設定]ボタンをクリックします。
[ゼロを表示しない]オプションを使用すると、値が 0 の場合に 0 を出力しないように指定できます。値は出力さ
れませんが、そのスペースは残されます。スペースを削除するには、セクションエキスパートの[空セクションの
非表示]オプションをオンにします。
注
このオプションは、セクション内に他のオブジェクトがない場合にのみ機能します。
217
2012-05-10
書式設定
11.3.6.3 非表示([共通]タブ)
[非表示]オプションは、レポートを実行したときにオブジェクトを非表示にします。このプロパティは、たとえば、
レポートの計算式に適用して、レポートでは表示しない場合などに使用します。このプロパティをオンにすると、
選択したオブジェクトは出力されません。
注
これらのプロパティの条件式ボタンをクリックし、式を作成すると、条件付きでプロパティを適用できます。詳細
については、253 ページの 「条件付き書式設定」を参照してください。
これらのプロパティを設定するには、オブジェクトを選択し、[エキスパートツール]ツールバーの[書式]をクリック
して、[書式エディタ]ダイアログボックスを開きます。書式エディタが表示されたら、プロパティを設定します。
11.3.7 テキストベースのオブジェクトの配置
テキストベースのオブジェクトをレポートに配置すると、そのオブジェクトはオブジェクトフレームによって表され
ます。オブジェクトフレームの高さは、フォントの高さによって決まります。フレームの幅は、作業しているテキス
トベースのオブジェクトによって異なります。
•
218
メモフィールドではないデータベースフィールドでは、フレームの幅は、データベースで定義されているフィー
ルドの幅と、選択したフォントおよびフォントサイズによって決まる平均的な文字幅から決定されます。
2012-05-10
書式設定
たとえば、{customer.LAST NAME}というデータベースフィールドがあり、このフィールドが長さ 35 文字(半
角)のテキストフィールドとして定義されているとします。このフィールドをレポートに配置すると、境界線の幅
は、そのテキストベースのデータベースフィールドに書式設定されているフォントとフォントサイズの 35 倍の
平均的な文字幅になります。ただし、これはデフォルトの幅です。幅はいつでも必要に応じて大きくまたは
小さくして、サイズを変更できます。
•
テキストオブジェクトでは、デフォルトの幅は、平均的な文字幅の約 19 文字(半角)となっています。テキスト
オブジェクトは、テキストやデータベースフィールドをそれに挿入すると、幅が自動的に広がるという点で、
データベースフィールドとは異なります。他のすべてのテキストベースのオブジェクトと同様に、この幅も自
由に変更できます。
•
各数値型フィールド(ダブル、シングル、整数、長整数、バイト型など)では、デフォルトの幅がおのおの異な
ります。他のすべてのオブジェクトと同様に、この幅も自由に変更できます。
11.3.7.1 オブジェクト内のテキストの切り捨てを防ぐ
デフォルトの幅を使った場合でも、テキストベースのオブジェクトのサイズを変更した場合でも、オブジェクト内
のテキストがオブジェクトフレームの右端に出力されると、問題が発生する可能性があります。画面ではデザイ
ンどおりに正しく表示されていても、フォント幅を広く測定する他のプリンタドライバを使って印刷すると、テキス
トが長くなるにもかかわらず、オブジェクトフレームの長さは変わらないため、テキストが切り詰められ、印刷され
ない部分ができてしまいます。
11.3.7.1.1 テキストが切り捨てられないようにする
1 テキストオブジェクトを右クリックして選択し、ショートカットメニューを表示します。
ヒント
[エキスパートツール]ツールバーの[書式]ボタンをクリックする方法もあります。
2 ショートカットメニューから[テキストの書式設定]をクリックします。
書式エディタが表示されます。
3 [共通]タブの[複数行に出力]チェックボックスをオンにします。
4 [OK]をクリックして変更を保存します。
オブジェクトが複数行に出力されるように設定され、テキストがオブジェクトの幅より広く出力される場合は、
テキストが次の行に折り返されます。
11.3.7.2 オブジェクト内のスペースを含まないテキストのワードラップを防ぐ
1 英単語などのスペースを含まないテキスト文字列の場合、文字列がオブジェクトフレームの端で区切られて
折り返されることがあるため、効果的ではありません。
219
2012-05-10
書式設定
11.3.7.2.1 オブジェクト内のスペースを含まないテキストで折り返さないようにする
1 書式設定するオブジェクトを選択します。
2 オブジェクトフレームを、オブジェクトに含まれるすべてのテキストの幅より少しだけ広くします。
データベースフィールドの実際のテキストは、フィールドに含まれる最大文字数よりかなり少なくなっている場合
があります。たとえば、{table.LAST NAME}のフィールドサイズが 80 文字で、データベースの最大文字数が 28
文字(半角)の場合は、レポートに初めてフィールドを配置すると、フィールドの幅は、平均的な文字幅の 80 倍
になります。そこで、フィールドの幅を小さくします。このとき、フィールドの幅は、最も長いデータがちょうど収ま
るサイズではなく、広めの文字列でも入るように、少し大きめに設定してください。
これらのオプションは、セクション内で単一のテキストベースのオブジェクトを扱う場合には、効果的なソリュー
ションですが、セクション内にテキストベースのオブジェクトを複数配置する場合には、ほかにも考慮が必要な
ことがあります。オブジェクトのサイズを変更する場合は、セクション内の他のオブジェクトとの位置関係も考慮
する必要があります。
レポートをデザインするときには、オブジェクト間のスペースを狭くしすぎないでください。オブジェクトの幅を広
げられるように、約 5% の余裕を持たせます。オブジェクトの幅が広げられない場合は、フォントのサイズを小さ
くするか、オブジェクトをそれぞれ独自のサブセクションに配置します。
11.3.7.3 埋め込みフィールドの空白行の非表示
テキストオブジェクトにはフィールドを埋め込むことができるため、フィールドが空の場合にテキストオブジェクト
内に空白行ができることがあります。このような埋め込みフィールドの空のインスタンスを非表示にすることがで
きます。
注
埋め込みフィールドの空白行を非表示にする機能は、テキストオブジェクトの 1 行に完全に空のフィールドだ
けがあり、その後ろに改行が続いている場合に、この空白行を削除するようデザインされています。
11.3.7.3.1 埋め込みフィールドの空行を非表示にする
1 [デザイン]タブでレポートを開き、一部のレコードで空行を表示するためのテキストオブジェクトをクリックしま
す。
220
2012-05-10
書式設定
ヒント
テキストオブジェクトをクリックしたことを確認するには、画面左下隅のステータスバーで"テキスト"という表示
を探します。
2 テキストオブジェクトを右クリックし、ショートカットメニューで[テキストの書式]をクリックします。
3 書式エディタで[埋め込みフィールドの空行を非表示]オプションを選択し、[OK]をクリックします。
レポートを出力すると、空の埋め込みフィールドには不要な空行が出力されなくなります。変更内容は[プレ
ビュー]タブで確認できます。
空行を非表示にしないと、"住所 2"フィールドが空の場合でも空行が出力されます。
空行を非表示にすると、"住所"フィールドが空の場合は空行が出力されません。
11.3.8 複数行のテキストベースのオブジェクトの配置
複数行に出力するように設定されたテキストベースのオブジェクトも、他のオブジェクトと同じデザイン規則に従
いますが、その他にも考慮する特性が 1 つあります。プリンタドライバがテキストの間隔を広くまたは狭くする場
合に、ワードラップ機能が異なるため、オブジェクトを出力するために必要な行数が、長さを調節するために変
わることがあります。
複数行のテキストベースのオブジェクトを配置すると、同じセクション内の他のオブジェクトがすぐ下に配置され
た場合に、問題が発生する可能性があります。
単一行のテキストベースのオブジェクトとは異なり、長さを調節するため、複数行のテキストベースのオブジェク
トのオブジェクトフレームを広げても、あまり効果はありません。広げられた境界線に従って行の幅が広がるだ
けです。
221
2012-05-10
書式設定
したがって、複数行のテキストベースのオブジェクトは、できる限りセクションの一番下に配置してください。出
力時に行を増やすことになっても、セクションを下に広げて調節するため、他のオブジェクトの妨げにはなりま
せん。
11.3.9 ファイルからテキストベースのオブジェクトのインポート
Crystal Reports では、書式設定済みのテキストベースのオブジェクトを既存のファイルからレポートにインポー
トできます。
11.3.9.1 ファイルからテキストベースオブジェクトをインポートする
1 書式設定するテキストベースのオブジェクトをダブルクリックして編集モードにします。次に、それを右クリッ
クしてショートカットメニューを表示します。
2 ショートカットメニューから[ファイルから挿入]をクリックします。
3 [開く]ダイアログボックスが表示されるので、テキストオブジェクトが格納されているファイルを選択し、[開く]
をクリックします。
ファイル内のオブジェクトが、レポート上のテキストオブジェクトにインポートされます。
222
2012-05-10
書式設定
11.3.10 テキストベースのオブジェクトの間隔の調整
グリッドおよびガイドラインのオプションを使用すると、テキストベースのオブジェクトの間隔を等しく調整できま
す。
[グリッドに合わせる]オプションを選択すると、グリッドを最大 1 インチに設定したり、[デザイン]タブや[プレビュー]
タブでグリッドを表示または非表示にできます。グリッド操作の詳細については、223 ページの 「グリッドの使用」
を参照してください。
グリッドを使用せずに、レポートの任意の場所にオブジェクトを配置することもできます。また、オブジェクトの調
整機能を維持したまま自由形式の環境で操作したり、オブジェクトをグループとして移動またはサイズ変更す
ることもできます。この場合はガイドラインを使用します。詳細については、224 ページの 「ガイドラインによるデ
ザイン 」を参照してください。
11.3.10.1 グリッドの使用
グリッドは、行および列の座標を並べたものです。Crystal Reports では、[オプション]ダイアログボックスの[レイ
アウト]タブで[グリッドに合わせる]がオンになっている場合、グリッドを選択すると、テキストベースのオブジェク
トをグリッドの座標上だけに配置できるようになり、グリッド間には配置できなくなります。配置したら、必要に応
じてレポートデータの間隔を空けたり、オブジェクトの間隔を調整できます。グリッドの座標間にオブジェクトを
配置しようとすると、そのオブジェクトはグリッドに合わせられます。つまり、オブジェクトは、一番近い行および
列の座標に自動的に移動します。
各レポートには、デザイングリッドがあります。グリッドは、表示と非表示を切り替えたり、必要に応じて間隔を変
更できます。デフォルトでは、グリッドは選択されていません。詳細については、224 ページの 「グリッドの選択」
を参照してください。
グリッドを設定すると、グリッドの間隔はすべてのセクションで同じになります。グリッドは、各セクションの左上隅
から右下に広がり、セクションの終わりまで表示されます。次のセクションでも、同じ間隔のグリッドが左上隅か
ら始まります。グリッドは、レポートの最後まで各セクションに表示されます。
[グリッドに合わせる]オプションをオンにすると、次のようになります
223
•
新しく配置したテキストベースおよび OLE オブジェクトは、すべてその左上隅がグリッドポイントに揃えられ
ます。
•
[グリッドに合わせる]をオンにする前に配置したオブジェクトは、一番近いグリッドポイントには揃えられませ
ん。配置した位置にとどまります。
•
オブジェクトをサイズ変更する場合、サイズを変更する側(または複数の側)が一番近いグリッドポイントに揃
えられます。
2012-05-10
書式設定
11.3.10.2 グリッドの選択
[デザイン]タブおよび[プレビュー]タブには、基本のグリッド構造が備わっています。これは、[オプション]ダイア
ログボックスの[レイアウト]タブで有効にできます。
11.3.10.2.1 グリッドを選択する
1 [ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログボックスが開きます。
2 [レイアウト]タブの[グリッドオプション]領域で、[グリッドに配置]機能をアクティブにするか、グリッドのサイズ
を指定します。
3 [デザイン]または[プレビュー]タブで基になるグリッド構造を表示するには、[デザインビュー]または[プレ
ビュー]領域で[グリッド]を選択します。
4 [OK]をクリックして変更を保存します。
ヒント
[表示]メニューの[グリッド]コマンドを選択する方法もあります。また、[デザイン]タブまたは[プレビュー]タブで、
何もない領域を右クリックし、ショートカットメニューからコマンドを選択する方法もあります。
11.3.10.3 ガイドラインによるデザイン
Crystal Reports には、レポートオブジェクトを正確に整列、サイズ変更するために、ガイドラインが用意されて
います。ガイドラインは、[デザイン]タブと[プレビュー]タブの任意の場所に配置してオブジェクトの調整に利用
できる印刷されない行です。ガイドラインにも、オブジェクトを自動的にガイドラインに合わせるためのプロパティ
があります。
11.3.10.4 ガイドラインの表示
[オプション]ダイアログボックスの表示オプションを使用して、[デザイン]タブと[プレビュー]タブでのグリッドの表
示と非表示を切り替えることができます。
11.3.10.4.1 ガイドラインの表示
1 [ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログボックスが開きます。
224
2012-05-10
書式設定
2 [レイアウト]タブで、[デザインビュー]領域の[ガイドライン]チェックボックスか、[プレビュー]領域の[ガイドライ
ン]チェックボックス、またはその両方をオンにします。
3 [OK]をクリックして変更を保存します。
ヒント
[表示]メニューの[ガイドライン]を選択する方法もあります。
11.3.10.5 ガイドラインの挿入
ガイドラインは必要に応じて手作業で挿入することができますが、次のような状況では、Crystal Reports によっ
てガイドラインが自動的に挿入されます。
•
レポートにフィールドまたは式フィールドを挿入すると、フィールドフレームの左端にガイドラインが自動的に
作成され、フィールドとフィールドタイトルがガイドラインに合わせられます。
•
フィールドを集計すると、集計フィールドは、自動的にフィールドと同じガイドラインに合わせられ、適切に整
列されます。
•
セクション左側の影付きの領域を右クリックし、ショートカットメニューの[行の整列]を選択すると、そのセク
ションに 1 本またはそれ以上の水平ガイドラインが作成され、各フィールドはそのガイドラインに合わせられ
ます。
11.3.10.5.1 ガイドラインを手作業で挿入、移動、削除する
1 [デザイン]タブまたは[プレビュー]タブで、上部にあるルーラーをクリックして垂直ガイドラインを表示し、左
側にあるルーラーをクリックして水平ガイドラインを表示します。
それぞれのガイドラインは、ルーラー上の矢印と一緒に移動することに注意してください。
注
ガイドラインが表示されない場合は、[表示]メニューで、該当する[ガイドライン]オプションが選択されている
ことを確認します。[プレビュー]タブで、ガイドラインを表示するオブジェクトを選択する必要があります。
2 ガイドラインを配置するには、ルーラー上の矢印を目的の位置までドラッグします。
3 ガイドラインを削除するには、ガイドラインの矢印をルーラーの外にドラッグします。
注
[グリッドに合わせる]オプションがオンになっている場合は、グリッド間隔を基準にしてガイドラインが挿入または
移動されます。
225
2012-05-10
書式設定
11.3.10.6 オブジェクトをガイドラインに合わせる
オブジェクトをガイドラインに合わせるには、オブジェクトの端がガイドラインに並ぶまでレポートオブジェクトをド
ラッグします。オブジェクトをガイドラインに合わせると、レポートオブジェクトを正確に揃えられるだけでなく、複
数のオブジェクトの位置とサイズを一度に変更できます。複数のオブジェクトをガイドラインに合わせると、ガイ
ドラインを移動するだけで、すべてのオブジェクトを移動することができます。
オブジェクトの上部または下部のどちらでも水平ガイドラインに合わせることができます。
オブジェクトの左端、右端、または垂直中央線(オブジェクトを垂直に 2 等分する見えない線)を垂直ガイドライ
ンに合わせることができます。
11.3.10.6.1 オブジェクトをガイドラインに合わせるには
1 ルーラーのどちらかをクリックしてガイドラインを挿入します。
2 ガイドラインにレポートオブジェクトをドラッグして、オブジェクトの端のいずれかをガイドラインに合わせるよ
うに置きます。
テキストベースのオブジェクトに対して、ガイドラインのスナッププロパティは、他のオブジェクト(OLE オブジェク
トなど)とは違った働きをします。単一行のテキストベースのオブジェクトをガイドラインに合わせると、オブジェク
トフレームではなく、テキストのベースラインがガイドラインに揃えられます。複数行のテキストベースのオブジェ
クトをガイドラインに合わせると、テキストのベースラインまたはオブジェクトフレームがガイドラインに合わせられ
ます。
テキストベースのオブジェクトが水平ガイドラインに合っているかどうかは、[デザイン]ビューで、オブジェクト両
側のベースライン上にある特別なインジケータ(下図の円内)で確認できます。オブジェクトが垂直ガイドライン
に合っている場合は、オブジェクトの両側に沿って特別なインジケータが表示されます。
226
2012-05-10
書式設定
いくつかの異なるフォントサイズのテキストオブジェクトを 1 行に配置し、そのベースラインを揃えるには、各オ
ブジェクトのベースラインを同じ水平ガイドラインに合わせます。
11.3.10.7 ガイドラインによるオブジェクトの配置
オブジェクトをガイドラインに合わせると、ガイドラインを移動するだけで、すべてのオブジェクトを移動すること
ができます。ガイドラインを移動するには、ガイドラインの矢印をルーラーに沿ってドラッグします。
注
ガイドラインを移動すると、ガイドラインに合わせられたオブジェクトも移動します。ガイドラインに合わせられた
オブジェクトを移動しても、ガイドラインは移動しません。
11.3.10.8 ガイドラインを使ってオブジェクトをサイズ変更する
1 ガイドラインを作成します。
2 オブジェクトの一端をそのガイドラインに合わせます。
3 オブジェクトの右側に 2 本目のガイドラインを作成します。
注
ガイドラインは、オブジェクトから離します。
4 オブジェクトをクリックし、サイズ変更ハンドルを表示します。
5 サイズ変更ハンドルを 2 本目のガイドラインまでドラッグし、オブジェクトをガイドラインに合わせます。
227
2012-05-10
書式設定
6 目的のすべてのオブジェクトで手順 2 から 5 までを繰り返し、両方のガイドラインに合わせます。
7 オブジェクトがまだ目的のサイズになっていない場合は、適切なサイズになるまで、ガイドラインの一方また
は両方をドラッグします。
11.3.10.8.1 ガイドラインを使ってオブジェクトをサイズ変更する
1 ガイドラインを作成します。
2 オブジェクトの一端をそのガイドラインに合わせます。
3 オブジェクトの右側に 2 本目のガイドラインを作成します。
注
ガイドラインは、オブジェクトから離します。
4 オブジェクトをクリックし、サイズ変更ハンドルを表示します。
5 サイズ変更ハンドルを 2 本目のガイドラインまでドラッグし、オブジェクトをガイドラインに合わせます。
6 目的のすべてのオブジェクトで手順 2 から 5 までを繰り返し、両方のガイドラインに合わせます。
7 オブジェクトがまだ目的のサイズになっていない場合は、適切なサイズになるまで、ガイドラインの一方また
は両方をドラッグします。
11.3.10.9 行のインデント
Crystal Reports では、メモフィールド、文字列フィールド、およびテキストベースのオブジェクトで行のインデン
トを管理できます。オブジェクトでは、特定の段落の先頭にカーソルを置くと、その段落の行をインデントできま
す。また、オブジェクトの全体を選択した場合は、そのオブジェクト内のすべての段落に同じインデント指定を
適用できます。
改行の後の行は、新しい段落の先頭の行と見なされることを覚えておいてください。
228
2012-05-10
書式設定
11.3.10.9.1 行をインデントする
1 書式設定するフィールドまたはオブジェクトを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[テキストの書式設定]をクリックします。
書式エディタが表示されます。
3 [段落]タブをクリックします。
4 [インデント]領域では、段落の先頭行をインデント、段落内のすべての行をオブジェクトの左端からインデン
ト、および段落内のすべての行をオブジェクトの右端からインデントできます。
注
•
•
フィールドまたはオブジェクト幅の範囲内のインデント値だけが有効です。
[から左]の読む順を選択した場合、各インデントは反対側に設定されます。つまり、左のインデントは、
オブジェクトの右側から示されます。
5 [OK]をクリックして変更を保存します。
11.3.11 オーバーフローフィールド表示を有効にする
1 書式設定する通貨フィールドまたは数値フィールドを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示され、[数値]タブが開かれます。
3 [ユーザ設定]ボタンをクリックします。
[カスタムスタイル]ダイアログボックスが表示され、[数値]タブが開かれます。
4 オーバーフローフィールド表示を有効にするには、[フィールドクリッピングを有効にする]チェックボックスを
オフにします。
注
また、[条件付き書式設定]ボタンをクリックし、書式エディタで式を入力する方法もあります。式ワーク
ショップの書式設定式エディタでは、特定の条件に合致する場合にだけフィールドクリッピングを無効にす
るように指定できます。
5 [OK]をクリックして変更を保存します。
結果を表示するには、レポートを最新表示します。フィールドクリッピングを無効にすると、数値および通貨フィー
ルドの値がそれらを含むフィールドオブジェクトより大きい場合に、その値がシャープ記号(######)で表示され
ます。
229
2012-05-10
書式設定
11.3.11.1 オーバーフローフィールド表示を有効にする
1 書式設定する通貨フィールドまたは数値フィールドを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示され、[数値]タブが開かれます。
3 [ユーザ設定]ボタンをクリックします。
[カスタムスタイル]ダイアログボックスが表示され、[数値]タブが開かれます。
4 オーバーフローフィールド表示を有効にするには、[フィールドクリッピングを有効にする]チェックボックスを
オフにします。
注
また、[条件付き書式設定]ボタンをクリックし、書式エディタで式を入力する方法もあります。式ワーク
ショップの書式設定式エディタでは、特定の条件に合致する場合にだけフィールドクリッピングを無効にす
るように指定できます。
5 [OK]をクリックして変更を保存します。
結果を表示するには、レポートを最新表示します。フィールドクリッピングを無効にすると、数値および通貨フィー
ルドの値がそれらを含むフィールドオブジェクトより大きい場合に、その値がシャープ記号(######)で表示され
ます。
11.3.12 複数のオブジェクトの選択
テキスト、フィールド、チャート、マップ、ビットマップ、OLAP グリッド、クロスタブ、および OLE オブジェクトなど
の複数のオブジェクトを選択し、まとめて書式設定することができます。
複数のオブジェクトを選択したら、それらをグループとして移動、整列、サイズ変更、切り取り、コピー、および貼
り付けを行うことができます。また、フォント、色、段落のスタイルを変更することもできます。
オブジェクトは、メインオブジェクトを基準として移動、整列、およびサイズ変更されます。メインオブジェクトは、
通常、最後に選択したオブジェクトになります。メインオブジェクトを別のオブジェクトに変更するには、目的の
オブジェクトを右クリックします。
11.3.12.1 複数のオブジェクトを選択する
1 1 つのオブジェクトをクリックし、Ctrl キーを押しながら、選択する他のオブジェクトをクリックします。
230
2012-05-10
書式設定
注
また、マウスボタンを押しながらポインタを移動して領域を囲むと、多数のオブジェクトをまとめて選択するこ
ともできます。
2 メインオブジェクトを右クリックします。
3 ショートカットメニューから適切な書式設定オプションを選択します。
11.3.12.2 セクションのすべてのオブジェクトを選択する
1 [デザイン]タブまたは[プレビュー]タブで、作業しているセクションの左側にある灰色領域を右クリックします。
2 ショートカットメニューで、[すべての選択オブジェクトを選択]を選択します。
そのセクション内のすべてのレポートオブジェクトが選択されます。
11.3.13 垂直配置
書式エディタの[共通]タブでは、[テキストの回転]オプションを使用して、レポートでフィールドとテキストベース
のオブジェクトを垂直に整列できます。
90 度のテキストの回転を選択すると、テキストが反時計回り 90 度回転します。
270 度のテキストの回転を選択すると、テキストが反時計回りに 270 度回転します。
注
•
•
•
テキストの回転を 0 度のままにした場合、左から右に水平に書式設定されます。
テキストベースのオブジェクトをテキスト回転する場合は、テキストがオブジェクト内で切り詰められないよう
にする[複数行に出力]オプションが自動的にオフになります。[複数行に出力] オプションの詳細について
は、219 ページの 「オブジェクト内のテキストの切り捨てを防ぐ」を参照してください。
垂直に書式設定されたテキストがページの端を超えると、その部分はレポートに表示されません。
11.3.14 文字間隔および行間隔の挿入
Crystal Reports では、メモフィールド、文字列フィールド、およびテキストベースのオブジェクトの文字または行
の間隔を指定できます。
231
2012-05-10
書式設定
11.3.14.1 文字間隔および行間隔を挿入する
1 書式設定するフィールドまたはオブジェクトを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示されます。
3 [フォント]タブをクリックします。
このタブを使用して、文字間隔の値を設定します。
4 [間隔]領域の[文字間隔]フィールドでは、各文字が占める値 n を指定します。
この値 n は、ある文字の開始位置から次の文字の開始位置までをポイント数で表した距離として定義され
ます。文字間隔を変更すると、隣接する文字間隔だけが変更されます。文字のフォントサイズは変更されま
せん。
たとえば、14 ポイントの文字間隔で 14 ポイントのフォントを指定した場合、左右それぞれ 14 ポイントの幅
(間隔を含む 1 文字の幅が 28 ポイント)を占めます。
5 [段落]タブをクリックします。
このタブを使用して、行間隔の値を設定します。
6 [間隔]領域の[行間隔]フィールドで、使用しているフォントサイズの倍数で行間隔を指定するか、正確なポ
イント数を指定します。
7 [OK]をクリックして変更を保存します。
11.3.15 小数フォントサイズの設定
書式エディタの[フォント]タブでは、レポートのデータベースフィールドおよびテキストベースのオブジェクトの小
数フォントサイズを選択できます。
11.3.15.1 小数フォントサイズを設定する
1 書式設定するフィールドまたはオブジェクトを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示されます。
3 [フォント]タブをクリックします。
232
2012-05-10
書式設定
4 [サイズ]リストで、フィールドまたはオブジェクトの小数フォントサイズを入力します。
注
1 ~ 1638 の数値を入力します。Crystal Reports では、0.5 単位の小数部を持つ数で表され、端数は最も
近い値に丸められます。つまりレポートのフォントサイズは 1.5、2.5、3.5 となり、最大値は 1637.5 です。
5 [OK]をクリックして変更を保存します。
注
レポートに既に配置している個々のデータベースフィールドとテキストベースのオブジェクトの小数フォントサイ
ズを設定するときは、上記の手順に従って手動で変更する必要があります (レポートにあるオブジェクトの既存
フォント設定がデフォルトのオプションより優先されるためです)。ただし、[オプション]ダイアログボックスの[フォ
ント]タブを使用して、デフォルトのフォント設定を調整することもできます。これらのデフォルトオプションは、そ
れ以降に作成するレポートに反映され、既存レポートに追加する新しいオブジェクトにも反映されます。
11.3.16 ページのサイズと向きの設定
レポートは、縦向きや横向きにしたり、さまざまなページサイズで表示、印刷できます。
レポートのセクションごとに異なるページの向きを設定することもできます。これは、特定のセクションを書式設
定してチャートやその他のグラフィックを表示する場合に役立ちます。
これらのオプションは、[ファイル]メニューの[ページ設定]コマンドを使用して指定します。
11.3.16.1 ページのサイズと向きを設定する
1 [ファイル]メニューの[ページ設定]を選択します。
[ページ設定]ダイアログボックスが表示されます。
2 [ページサイズ]ボックスで、ページサイズを選択します。
3 [ページの向き]ボックスで、ページの向きを選択します。
4 [余白]ボックスで、余白を選択します。
条件付きの余白の詳細については、255 ページの 「条件に応じた余白の変更」を参照してください。
11.3.16.2 セクションごとにページの向きを設定する
1 [レポート]メニューで、[セクションエキスパート]を選択します。
233
2012-05-10
書式設定
セクションエキスパートが表示されます。
ヒント
[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをクリックする方法もあります。
2 [セクション]リストで、変更するセクションを選択します。
3 [ページング]タブで、目的のページ方向を選択します。
注
このオプションは、ページヘッダやページフッタには使用できません。
11.3.17 ページ余白の設定
余白は、ページの左、右、上、および下にある空白です。Crystal Reports では、仕様に応じたさまざまな余白
を設定することができます。
11.3.17.1 余白を指定する
1 [ファイル]メニューの[ページ設定]を選択します。
[ページ設定]ダイアログボックスが表示されます。
2 必要に応じてデフォルトのページ余白を変更します。
3 [OK]をクリックして変更を保存します。
ページ余白は、条件付き式で制御することもできます。255 ページの 「条件に応じた余白の変更」 を参照して
ください。
注
•
•
234
余白は、必ずページの端から計算されます。したがって、左余白を 1 cm に設定すると、ページの端から
ちょうど 1 cm のところから出力を開始します。
[自動的に調整]チェックボックスをオンにすると、次にページサイズが変更されたときに Crystal Reports で
自動的にレポートの余白を調整できます。新しいページサイズとして現在印刷可能な領域が十分に収まる
サイズを選択した場合、Crystal Reports では、左/右および上/下の余白を同じ係数で拡大、縮小し、余白
を増減します。新しいページサイズとして現在印刷可能な領域よりも小さいサイズを選択した場合、Crystal
Reports では余白が 0 に設定されてページ全体が収まるようにします。次にさらに大きいページを選択した
場合、(縮小された)印刷可能領域が維持され、左/右、上/下の余白の比率が 1:1 になります。
2012-05-10
書式設定
11.3.18 TrueType フォント
プリンタ固有のフォントを使ってレポートをデザインすると、別のプリンタを使った場合に問題が発生する可能
性があります。別のプリンタでは、そのフォントがサポートされていなかったり、サポートされていても、インストー
ルされていないことがあります。
Crystal Reports では、印刷時にプリンタドライバが認識しないプリンタ固有のフォントが見つかると、代わりの
フォントが使用され、印刷結果が異なってしまいます。このような事態を避けるために、レポートをデザインする
ときには、一般に使用されている TrueType フォントだけを使用することをお勧めします。
11.3.19 プリンタドライバ
11.3.19.1 プリンタドライバの更新
パフォーマンスを維持するために、Crystal Reports では、平均の文字の高さ、文字の幅、アセンダおよびディ
センダ、内部レディングなどのフォント要素(フォントメトリクス)をそれぞれプリンタドライバに問い合わせます。
フォントメトリクスを正確に返さない古いプリンタドライバを使用している場合は、問題が発生する可能性があり
ます。印刷中に問題(フィールドの欠落、不正な書式など)が発生した場合は、プリンタの最新のドライバを入手
し、インストールすることをお勧めします。多くの場合は、プリンタドライバが新しいほど、正確なフォントメトリクス
が提供され、印刷に関する問題もすばやく解決できます。
11.3.19.2 印刷に関する留意点
レポートの作成に使用するプリンタドライバと印刷に使用するプリンタドライバが異なると、思いどおりの印刷結
果にならないことがあります。これは、プリンタドライバによって、フォントサイズなどのテキストメトリクスを測定す
る方法が異なるためです。テキストベースのオブジェクトを印刷すると、位置が揃わなかったり、端が切れたり、
オブジェクトどうしが重なることがあります。テキストベースのオブジェクトとは、文字列や文字フィールド、テキス
トオブジェクト、メモフィールド、数値フィールド、式フィールドなどです。
これらの問題は、次のような場合に発生します。
235
•
2 台の同じプリンタを使用し、それぞれが異なるプリンタドライバを使用している場合。
•
2 台の異なるプリンタを使用し、両方とも同じプリンタドライバを使用している場合。
2012-05-10
書式設定
•
2 台の異なるプリンタを使用し、それぞれが異なるプリンタドライバを使用している場合。
•
1 台のプリンタドライバでは TrueType フォントを使用し、2 台目のプリンタドライバでは TrueType フォント
を PostScript フォントにマップしている場合。
•
2 台の同じプリンタで、同じプリンタドライバを使用していても、それぞれが異なるバージョンの Microsoft
Windows から印刷される場合。
•
2 台の同じプリンタで、同じプリンタドライバを使用していても、プリンタドライバのバージョンが異なる場合。
•
2 台の同じプリンタで、同じプリンタドライバと同じオペレーティングシステムを使用していても、ビデオドライ
バの解像度が異なる場合。
たとえば、あるプリンタドライバを使用しているドキュメントで、一続きのあるテキストを表示するのにちょうど 6 行
必要であったとします。
•
フォント幅を狭く測定するプリンタドライバを使用すると、同じテキストボックスに表示されるテキストでも、6
行以下になることがある。
•
フォント幅を広く測定するプリンタドライバを使用すると、同じテキストボックスに表示されるテキストが、6 行
以上になることがある。
レポートをデザインして配布する場合は、プリンタドライバに配慮し、異なるプリンタドライバを使用しても同じ出
力結果が得られるようにすることが大切です。これを可能にするため、Crystal Reports では、いくつかのデザイ
ンソリューションが提供されています。レポートを作成する場合は、これらの点を考慮に入れておけば、ほとん
どの環境でレポートを正しく印刷および配布できます。
オンラインでレポートを表示する場合は、プリンタドライバとの関係を無効にすることで、プリンタドライバの不一
致を避けることができます。プリンタドライバを無効にする方法については、236 ページの 「Web 表示用レポー
トの書式設定」を参照してください。
11.3.20 Web 表示用レポートの書式設定
レポートをオンラインで公開する場合は、レポートを Web 表示用に書式設定します。プリンタ固有の設定に関
係なく、レポート閲覧者の画面に合わせてページサイズをカスタマイズし、余白を調整することができます。プリ
ンタドライバとの関係を無効にすることにより、レポート作成時とは別のプリンタドライバを使って表示されたとき
に起こる不一致を避けることもできます。
11.3.20.1 Web 表示用にレポートを書式設定する
1 [ファイル]メニューの[ページ設定]を選択します。
[ページ設定]ダイアログボックスが開きます。
2 [プリンタオプション]ボックスで、[プリンタなし]チェックボックスをオンにします。
236
2012-05-10
書式設定
3 ページのサイズ、向き、余白を選択します。
注
•
•
Web 表示用に書式設定したレポートを印刷することもできます。カスタマイズしたページのサイズが、印
刷ページより大きい場合、レポートはページに収まるように調整されます。カスタマイズしたページのサ
イズが、印刷ページより小さい場合、レポートはページに合わせて拡大されます。
エクスポートされたレポートでは、カスタマイズしたページの書式設定が維持されます。ただし、XLS 形
式にエクスポートした場合は別です。
11.4 書式設定のプロパティ
オブジェクトには書式エディタ、レポートセクションにはセクションエキスパートを使用して、書式設定のプロパ
ティを設定できます。ほとんどの場合は、次の 2 種類のプロパティの 1 つを設定できます。
•
無条件(常にプロパティを適用)
•
条件付き(特定の条件に合う場合にのみプロパティを適用)
11.5 無条件の書式設定
無条件の書式設定は、どのような場合にも適用される書式設定です。このタイプの書式設定プロパティは、必
ず"選択して適用"という手順をとおして設定します。たとえば、書式を設定するオブジェクトやセクションを選択
した後、プロパティの設定を使用して、選択したオブジェクトやセクションに書式設定を適用します。
レポートの書式設定には、次のダイアログボックスを使用します。
•
フィールド値の書式設定には、書式エディタを使用します。
•
セクション全体に書式設定するには、セクションエキスパートを使用します。
•
すべてのタイプのフィールドに条件付きで書式設定を行うには、強調表示エキスパートを使用します。
それぞれのダイアログボックスには、多くの書式設定プロパティ、プロパティをオンまたはオフに切り替えるツー
ル、および属性を指定するツールが含まれています。
11.5.1 フィールドへの境界線、色、および影の追加
Crystal Reports では、レポートのフィールドに色、境界線、および影を追加して重要なデータを強調表示し、
本格的な体裁のレポートを作成できます。
237
2012-05-10
書式設定
11.5.1.1 フィールドに境界線、色、および影を追加する
1 書式設定するフィールドを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示されます。
3 [罫線]タブをクリックします。
4 線のスタイル、色、および背景色を選択します。
5 [OK]をクリックして変更を保存します。
11.5.2 レポート、セクション、領域、またはオブジェクトの読み取り専用設定
レポート、セクション、領域、またはオブジェクトの書式が変更されないように、読み取り専用にすることができま
す。このオプションをオンにすると、書式エディタで行った選択は無効になります。そのレポートやオブジェクト
に対しては、ツールバーやショートカットメニューで通常使用できる書式設定オプションも使用できなくなります。
注
この機能は、レポートの書式設定を保護するためのものであり、レポートのセキュリティ保護には使用できませ
ん。
11.5.2.1 レポートを読み取り専用にする
1 [ファイル]メニューの[レポートオプション]を選択します。
2 [読み取り専用]を選択します。
11.5.2.2 セクションまたは領域を読み取り専用にする
1 [レポート]メニューで、[セクションエキスパート]を選択します。
2 読み取り専用にするセクションまたは領域を選択します。
3 [共通]タブの[読み取り専用]を選択します。
238
2012-05-10
書式設定
注
セクションが読み取り専用のとき、そのセクションを移動、切り取り、および削除することはできますが、セク
ション内で変更を行うことはできません。領域が読み取り専用のとき、領域内のすべてのセクションは読み
取り専用になるので、別のセクションの挿入や、既存のセクションの移動、切り取り、または削除はできませ
ん。
11.5.2.3 オブジェクトを読み取り専用にする
1 読み取り専用にするオブジェクトを右クリックします。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示されます。
3 [共通]タブの[読み取り専用]を選択します。
注
•
•
または、[書式設定]ツールバーの[書式のロック]ボタンをクリックする方法もあります。
レポートオブジェクトが読み取り専用のとき、それを移動、コピー、切り取り、削除したり、そのデータを参
照したり、それを選択したりすることはできますが、書式設定はできません。
11.5.3 オブジェクトのサイズと位置のロック
選択したレポートオブジェクトが移動されないように、その位置をロックできます。このオプションをオンにすると、
Report Designer でオブジェクトをドラッグできなくなり、[サイズと位置]コマンドが無効になります。
11.5.3.1 オブジェクトのサイズと位置をロックする
1 サイズと位置をロックするオブジェクトを選択します。
2
[書式設定]ツールバーの[サイズ/位置のロック]をクリックします。
11.5.4 デフォルトのフィールド書式設定の変更
239
2012-05-10
書式設定
Crystal Reports では、データベースフィールドをほとんどすべての書式でレポートに表示することができます。
ここでは、レポートにフィールドを追加するときに、[オプション]コマンドを使用して Crystal Reports のデフォル
トの書式設定を制御する方法について説明します。[オプション]ダイアログボックスでは、データ型が文字列、
数値、通貨、日付、時刻、日付と時刻、論理値であるデータベースフィールドに対してデフォルト書式を設定で
きます。
注
デフォルトのフィールド書式設定を変更すると、それ以降にレポートに追加するオブジェクトだけに変更が反映
されます。レポートに既に追加しているフィールドを書式設定するには、レポートにあるフィールドを右クリック
し、ショートカットメニューから[フィールドの書式]を選択します。
11.5.4.1 フィールドのデフォルト書式を指定する
1 [ファイル]メニューの[オプション]を選択します。
2 [オプション]ダイアログボックスで、[フィールド]タブをクリックします。
3 書式設定するフィールドの型に対応するボタンをクリックします(文字列、数値、通貨、日付、時刻、日付と
時刻、論理値)。
書式エディタが表示されます。
4 書式エディタのタブを使用して、書式を指定します。
5 [OK]をクリックします。
11.5.4.2 日付、時刻、日付と時刻の各フィールドのデフォルト書式の設定
次に示す手順では、最初に日付、時刻、および日付と時刻の各フィールドの標準書式の指定方法を説明し、
次に、そのフィールドの書式のカスタマイズ方法を説明します。
注
デフォルトの設定を変更すると、それ以降にレポートに追加するオブジェクトだけに変更が反映されます。レ
ポートに既に追加しているフィールドを書式設定するには、レポートにあるフィールドを右クリックし、ショートカッ
トメニューから[フィールドの書式]を選択します。
11.5.4.2.1 日付、時刻、日付と時刻の各フィールドの標準デフォルト書式を設定する
1 [ファイル]メニューの[オプション]を選択します。
2 [オプション]ダイアログボックスで、[フィールド]タブをクリックします。
3 書式エディタを開くには、書式設定するフィールドの型に対応するボタンをクリックします(日付、時刻、日付
と時刻)。
240
2012-05-10
書式設定
注
書式エディタで[日付と時刻]ボタンをクリックすると、それ以降の変更は[日付と時刻]フィールドだけに反映
されます。日付フィールドまたは時刻フィールドを個別に書式設定する場合は、[日付]または[時刻]をクリッ
クする必要があります。
4 書式エディタの[日付と時刻]タブをクリックします。
5 リストから定義済みの書式を選択します(または[ユーザ設定]をクリックして、独自の書式を作成します)。新
しい書式をクリックすると、書式エディタの[サンプル]領域で結果をプレビューすることができます。
注
Windows で使用される書式が Crystal Reports で使用されるようにするには、定義済み書式のリストからシ
ステム標準設定を選択します。システムの設定を変更するには、コントロールパネルにある[地域のオプショ
ン]ダイアログボックスを使用します。
6 書式を選択したら、[書式エディタ]ダイアログボックスの[OK]をクリックします。
7 [オプション]ダイアログボックスの[OK]をクリックます。
これで、レポートに日付、時刻、日付と時刻の各フィールドを追加するときに、指定した書式が Crystal Reports
で使用されるようになります。
11.5.4.2.2 日付、時刻、日付と時刻の各フィールドの書式をカスタマイズする
1 [ファイル]メニューの[オプション]を選択します。
2 [オプション]ダイアログボックスで、[フィールド]タブをクリックします。
3 書式設定するフィールドの型に対応するボタンをクリックして、書式エディタを開きます(日付、時刻、日付と
時刻)。
4 書式エディタの[日付と時刻]タブをクリックします。
5 [ユーザ設定]をクリックして、[カスタムスタイル]ダイアログボックスを開きます。
注
手順 3 で[日付と時刻]フィールドを書式設定するように選択した場合は、[カスタムスタイル]ダイアログボッ
クスに 3 つのタブが表示されます(日付と時刻、日付、時刻)。これらのタブで指定した書式は、[日付と時刻]
フィールドの 2 つの要素だけに適用され、日付フィールドまたは時刻フィールド個別に指定した書式には
影響しません。
6
7
8
9
独自の書式を作成するには、[カスタムスタイル]ダイアログボックスの各オプションを調整します。
書式のデザインが終了したら、[カスタムスタイル]ダイアログボックスの[OK]をクリックします。
[書式エディタ]ダイアログボックスの[OK]をクリックします。
別の型のフィールドを書式設定するには、[オプション]ダイアログボックスで対応するボタンをクリックします。
設定しない場合は、[OK]をクリックして Crystal Reportsに戻ります。
これで、レポートに日付、時刻、日付と時刻の各フィールドを追加するときに、作成したカスタム書式が Crystal
Reportsで使用されるようになります。
11.5.5 線のレポートへの追加と編集
241
2012-05-10
書式設定
Crystal Reports では、レポートに線やボックスを追加して、重要なデータを強調表示し、本格的な体裁のレポー
トを作成できます。線は、水平または垂直の方向に引くことができます。垂直線を複数のページに渡って表示
するには、線が終了するレポートセクションが、線が開始するレポートセクションとは別のページにあることが必
要です。その場合、グループヘッダからそれに対応するグループフッタまで引かれた線は、ページヘッダの真
下から、グループフッタが表示されるページまで切れずに表示されます。
11.5.5.1 線を追加する
1
[挿入ツール]ツールバーの[線の挿入]ボタンをクリックします。
2 鉛筆ポインタを使って任意の場所に線を描画します。
注
斜めの線を描くことはできません。
11.5.5.2 線を編集する
1 書式設定する線を右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューから[線の書式]を選択します。
書式エディタが表示されます。
3 [線]タブで必要な変更を行います。
4 [OK]をクリックして変更を保存します。
242
2012-05-10
書式設定
11.5.6 レポートのボックスへの追加と編集
Crystal Reports では、レポートにボックスを追加して、重要なデータを強調することや、本格的な外見のレポー
トを作成することができます。
11.5.6.1 ボックスを追加する
1
[挿入ツール]ツールバーの[ボックスの挿入]ボタンをクリックします。
2 鉛筆ポインタを使って任意の場所にボックスを描画します。
11.5.6.2 ボックスを編集する
1 書式設定するボックスを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューから[ボックスの書式]をクリックします。
書式エディタが表示されます。
3 [ボックス]タブで必要な変更を行います。
4 [OK]をクリックして変更を保存します。
243
2012-05-10
書式設定
11.5.7 行とボックスの書式設定で予期される動作
この節では、一般的な場合における行およびボックスの書式設定で予期される動作について示します。
注
次の表は「短いセクション名」を使用しています。この規則の詳細については、67 ページの 「 領域とセクション
の識別と操作」を参照してください。
関連するセクション
244
•
RH と PH
•
RH と RF
•
RH と PF
•
PH と RF
•
PH と PF
•
RH と PH
•
RH と GH/D/GF
•
PH と GH/D/GF
•
GH/D/GF と RF
•
GH/D/GF と PF
開始
終了
最上位セクション、またはそのセク
ションが非表示の場合はその次に
表示される、最下位セクションの前
(最下位セクションを含む)のセク
ションの上部です。
最下位セクション、あるいはそのセ
クションが非表示の場合は表示さ
れている次のセクションの上部で
す。
最上位セクション、あるいはそのセ
クションが非表示の場合は次に表
示されているヘッダセクション(RH
または PH)の上部です。これらの
セクションが非表示の場合は最初
に表示されている GH/D/GF セク
ションです。
ページの GH/D/GF の最後のイ
ンスタンス、またはそれらが非表示
の場合は最初のフッタセクションの
前です。
ページの GH/D/GF セクションの
最初のインスタンス、またはそれら
が非表示の場合は最初に表示さ
れるフッタセクション(RF または PF)
の上部です。ただし、その前に最
下位セクションがある場合は除き
ます。
最下位セクション、あるいはそのセ
クションが非表示の場合は表示さ
れている次のセクションの上部で
す。
2012-05-10
書式設定
関連するセクション
開始
終了
•
GH2 と GH3
GH2 セクションの各インスタンス
内、あるいはそのセクションが非表
示の場合は最終セクションの前の
GH/D/GF セクションのいずれか
の上部です。
GH3 セクションの最初のインスタ
ンス、あるいはそのセクションが非
表示の場合は表示されている次の
GH/D/GF セクションの上部です。
これらのセクションが非表示の場
合は、最初の RH/PH/RF/PF の
上部です。
GH2 と D
GH2 セクションの各インスタンス
内、あるいはそのセクションが非表
示の場合は最終セクションの前の
GH/D/GF セクションのいずれか
の上部です。
D セクションの最初のインスタン
ス、あるいはそのセクションが非表
示の場合は表示されている次の
GH/D/GF セクションの上部です。
これらのセクションが非表示の場
合は、最初の RH/PH/RF/PF の
上部です。
GH2 と GF3
GH2 セクションの各インスタンス
内、あるいはそのセクションが非表
示の場合は最終セクションの前の
GH/D/GF セクションのいずれか
の上部です。
GF3 セクションの最初のインスタン
ス、あるいはそのセクションが非表
示の場合は表示されている次の
GH/D/GF セクションの上部です。
これらのセクションが非表示の場
合は、最初の RH/PH/RF/PF の
上部です。
GH2 と GF2
GH2 セクションの各インスタンス
内、あるいはそのセクションが非表
示の場合は最終セクションの前の
GH/D/GF セクションのいずれか
の上部です。
GH2 セクションに対応する GF2
セクション、あるいはそのセクション
が非表示の場合は表示されてい
る次の GH/D/GF セクションの上
部です。これらのセクションが非表
示の場合は、最初の
RH/PH/RF/PF の上部です。
GH2 と GF1
グループ 1 の GH2 セクションの
最初のインスタンス内、あるいはそ
のセクションが非表示の場合は最
終セクションの前の GH/D/GF セ
クションのいずれかの上部です。
最終セクション、あるいはそのセク
ションが非表示の場合は表示され
ている次の GH/D/GF セクション
の上部です。これらのセクションが
非表示の場合は、最初の
RH/PH/RF/PF の上部です。
•
•
•
•
245
2012-05-10
書式設定
関連するセクション
開始
終了
•
D と GF2
グループ 2 の D セクションの最初
のインスタンス内、あるいはそのセ
クションが非表示の場合は最終セ
クションの前の GH/D/GF セクショ
ンのいずれかの上部です。
最終セクション、あるいはそのセク
ションが非表示の場合は表示され
ている次の GH/D/GF セクション
の上部です。これらのセクションが
非表示の場合は、最初の
RH/PH/RF/PF の上部です。
GF2 と GF1
グループ 1 の GH2 セクションの
最初のインスタンス内、あるいはそ
のセクションが非表示の場合は最
終セクションの前の GH/D/GF セ
クションのいずれかの上部です。
最終セクション、あるいはそのセク
ションが非表示の場合は表示され
ている次の GH/D/GF セクション
の上部です。これらのセクションが
非表示の場合は、最初の
RH/PH/RF/PF の上部です。
•
11.5.8 レポートへの図形の追加
Crystal Reports でレポート書式をデザインするとき、レポートの一部として円、楕円、角の丸いボックスなどのさ
まざまな図形を挿入できます。効果的にコミュニケーションを行うためにこれらの図形が不可欠な伝達手段でレ
ポートを書式設定する場合に、この機能は特に便利です。
11.5.8.1 レポートに図形を追加する
1 レポートにボックスを追加します。
243 ページの 「レポートのボックスへの追加と編集」 を参照してください。
2
3
4
5
ボックスを右クリックし、ショートカットメニューを表示します。
ショートカットメニューから[ボックスの書式]をクリックします。
書式エディタが表示されたら、[丸み付け]タブをクリックします。
[丸み付け]ボックスで 0 ~ 100 の範囲の数値を選択します。または、スライダを右方向に移動すると、ボッ
クスの角の曲率が増します。
スライダを右方向に移動する量に応じて、初めのボックスがしだいに楕円または円に変わります。
246
2012-05-10
書式設定
注
[影付き]オプションは、通常は書式エディタの[ボックス]タブで使用できますが、ボックスに丸み付けを指定
すると使用できなくなります。
6 目的の図形ができたら、[OK]をクリックして変更を保存します。
11.5.9 オブジェクトの拡大/縮小、トリミング、およびサイズ設定
Crystal レポートを作成または変更するときに、さまざまな OLE オブジェクトを挿入できます。OLE オブジェクト
の詳細およびレポートへの OLE オブジェクトの挿入方法については、299 ページの 「OLE」を参照してくださ
い。OLE オブジェクトがレポートに挿入されたら、オブジェクトの拡大/縮小、トリミング、およびサイズを設定で
きます。
11.5.9.1 オブジェクトの拡大/縮小、トリミング、およびサイズを設定する
1 ピクチャまたはその他の OLE オブジェクトをレポートに追加します。
301 ページの 「レポートへのOLE オブジェクトの挿入」 を参照してください。
注
この手順は、BLOB フィールドオブジェクトにも適用されます。
2 オブジェクトを右クリックし、ショートカットメニューから[グラフィックの書式]を選択します。
3 書式エディタで、[ピクチャ]タブをクリックします。
4 オブジェクトをトリミングするには、そのオブジェクトの上、下、左または右側から切り取る部分のサイズを指
定します。
注
トリミングは、オブジェクトの外縁で開始されます。正の数値を指定すると、オブジェクトが切り取られ、負の
数値を指定すると、その値に基づいて、オブジェクトの外縁とフレームとの間に余白が追加されます。
5 元の高さと幅の割合としてオブジェクトの倍率を設定するには、新しいスケール割合を入力します。
たとえば、オブジェクトが 1 インチ幅である場合、その幅には 100% の幅スケール値が自動で割り当てられ
ます。オブジェクトの幅を倍にするには、[拡大/縮小]の[幅]の値を 200%(元のサイズの 2 倍)に変更します。
同様に、オブジェクトの幅を半分に縮小するには、[拡大/縮小]の[幅]の値を 50% に変更します。
6 オブジェクトのサイズを変更するには、新しい幅と高さを入力します。
たとえば、オリジナルサイズが 1 インチの正方形の場合、[サイズ]の各値は最初 1 インチに設定されます。
このオブジェクトの長さと幅を 2 倍(2 インチの正方形)にするには、[サイズ]の値をそれぞれ 2 インチに設
定します。オブジェクトを縮小して 1/2 インチの正方形にするには、[サイズ]の値をそれぞれ 1/2 インチに
します。
247
2012-05-10
書式設定
11.5.10 従来の経理形式の使用
経理で使用される規約に従う方法として、Crystal Reports では、会計レポートの通貨記号、マイナス記号、お
よび 0 の値を表示する方法を決定できます。また、貸付および借入金額の記号を逆に設定することもできま
す。
11.5.10.1 レポートの会計の形式を使用する
1 書式設定する通貨フィールドまたは数値フィールドを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示され、[数値]タブが開かれます。
3 [スタイル]領域では、システムの数値形式を正の数または負の数のどちらで表示するかを選択します。
4 [通貨記号(システムデフォルト)]領域では、レポートで表示される値の通貨記号を指定します。
5 [OK]をクリックして変更を保存します。
11.5.10.2 レポートの会計の形式をカスタマイズする
1 書式設定する通貨フィールドまたは数値フィールドを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示され、[数値]タブが開かれます。
3 [ユーザ設定]ボタンをクリックします。
[カスタムスタイル]ダイアログボックスが表示され、[数値]タブが開かれます。
4 [会計の形式を使用する]チェックボックスをオンにします。
このオプションを選択すると、次の条件が適用されます。
248
•
[負数の表示形式]リストでは、Windows の地域設定によって、レポートで表示される負の値が決定され
ます。負の値は、マイナス記号またはかっこのどちらかで表示されます。
•
[0 の値を表す記号]リストでは、レポートで 0 の値を表示するために、ダッシュ記号(-)が自動的に選択
されます。
•
[カスタムスタイル]ダイアログボックスの[通貨記号]タブでは、通貨および数値の値の左側に通貨記号が
配置されます。
2012-05-10
書式設定
注
Windows の地域設定に対する変更は、Crystal Reports を終了して再起動した後で適用されます。
5 [符号を逆にして表示する]チェックボックスをオンにして、会計レポートの貸付および借入金額の記号を逆
にします。
6 [OK]をクリックして変更を保存します。
7 もう一度[OK]をクリックしてレポートに戻ります。
11.5.11 横方向のページへのレポートオブジェクトの繰り返し出力
クロスタブや OLAP グリッドなどの一部のレポートオブジェクトは、複数のページにわたって横方向に拡張でき
ます。Crystal Reports では、テキストオブジェクト、フィールドオブジェクト、OLE オブジェクト、チャート、マッ
プ、線、ボックスなど、横方向には拡張しないその他のレポートオブジェクトを、クロスタブや OLAP グリッドが作
成する横方向のページ上で繰り返し出力されるように指定できます。たとえば、レポートのページフッタにイメー
ジ、テキストオブジェクト、ページ番号が含まれている場合、書式エディタを使用して、横方向のページ上で、
Crystal Reports がこれらのオブジェクトを繰り返して出力できます。
11.5.11.1 横方向のページでレポートオブジェクトを繰り返して出力する
1 繰り返して出力するレポートオブジェクトを右クリックします。
2 ショートカットメニューから[フィールドの書式]をクリックするか、適切な書式オプションをクリックします。
注
選択するオブジェクトが BusinessObjects Enterprise リポジトリに接続している場合、書式設定オプションは
使用できません。リポジトリ内のオブジェクトの変更については、103 ページの 「リポジトリのオブジェクトの変
更」を参照してください。
3 書式エディタの[共通]タブで、[横方向のページに繰り返し出力]チェックボックスをオンにします。
線またはボックスの場合、[横方向のページに繰り返し出力]オプションは[線]タブまたは[ボックス]タブに表
示されます。
4 [OK]をクリックして変更を保存します。
これで、クロスタブや OLAP グリッドでレポートが横方向に拡張されている場合、それぞれの横方向のページ
上で、書式設定したオブジェクトが繰り返して出力されます。
249
•
繰り返して出力されているレポートオブジェクトは移動できません。オブジェクトを移動するには、最初のオ
ブジェクトを移動する必要があります。
•
繰り返して出力されているレポートオブジェクトのいずれでも書式を設定できますが、その設定は、その他
すべての繰り返しオブジェクトに適用されます。
2012-05-10
書式設定
•
セクション内のレポートオブジェクトに対して[セクションエキスパート]で[相対位置]が設定されている場合、
そのレポートオブジェクトは繰り返して出力できません。
11.5.11.2 横方向のページの番号付け
[横方向のページ番号]と言う特殊フィールドを使用すると、横方向のページに番号を付けることができます。
11.5.11.2.1 横方向のページに番号を付ける
1 フィールドエクスプローラで、[特殊フィールド]が表示されるまで下にスクロール、そのノードをクリックして展
開します。
2 リストから[横方向のページ番号]を選択し、レポートに挿入します。
注
このように[横方向のページ番号]フィールドを挿入すると、[横方向のページに繰り返し出力]オプションが自動
的にオンになります。[横方向のページ番号]フィールドを切り取りおよび貼り付けしたり、このフィールドを別の
フィールドまたはテキストオブジェクトに挿入したりした場合、[横方向のページに繰り返し出力]オプションは、
自動的にはオンになりません。
11.5.12 行間のスペースの使用
レポートの行間に表示されるスペースの広さは、セクション内のオブジェクトに対するセクションの高さによって
決まります。
自由形式の[デザイン]タブでは、次の 2 とおりの方法でスペースを追加および削除できます。
•
サイズ変更ポインタを使用し、[デザイン]タブで領域サイズ変更する。
•
セクションエキスパートでオプションを変更する。
注
セクションの左の影付きの領域を右クリックし、ショートカットメニューから[セクションのサイズに合わせる]を選択
する方法もあります。下の境界線がセクションの一番下のオブジェクトのベースラインに揃うように、自動的にセ
クションがサイズ変更されます。
11.5.12.1 サイズ変更によるスペースの追加
250
2012-05-10
書式設定
レポートの行間にスペースを追加するには、マウスポインタをセクションの下の境界線に移動します。ポインタ
がサイズ変更ポインタに変わります。サイズ変更ポインタが表示されたら、セクションの境界線を下にドラッグし、
スペースを追加します。
注
セクションの左の影付き領域を右クリックし、ショートカットメニューから[行の挿入]を選択して、スペースを追加
することもできます。プログラムによってセクションが自動的にサイズ変更され、通常のデータベースフィールド
の 1 行を保持するのに必要なスペース数が追加されます。
11.5.12.2 セクションのサイズ変更によるスペースの削除
セクション内の不要なスペースを削除するには、マウスポインタをセクションの下の境界線に移動します。ポイ
ンタがサイズ変更ポインタに変わります。サイズ変更ポインタが表示されたら、セクションの境界線を上にドラッ
グし、余分なスペースを削除します。
251
2012-05-10
書式設定
11.5.12.3 セクションの非表示によるスペースの削除
セクション全体が空の場合は、セクションエキスパートでこのセクションを非表示にすると、ページフッタの占め
る不要なスペースを削除できます。
レポートのページフッタセクションに何も配置していない場合は、セクションエキスパートで[クランプページフッ
タ]を選択し、レポートページの下部にある空白を削除できます。
11.5.12.3.1 セクションを非表示にしてスペースを削除する
1 [レポート]メニューで、[セクションエキスパート]を選択します。
セクションエキスパートが表示されます。
ヒント
[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをクリックする方法もあります。
2 [セクション]領域で、非表示にするセクションをクリックします。
3 [共通]タブで[非表示 - ドリルダウン不可]チェックボックスをオンにします。
4 [OK]をクリックしてレポートに戻ります。
これで、ページフッタセクションは出力されません。
11.5.12.3.2 ページフッタをクランプして空白を削除する
1 [レポート]メニューで、[セクションエキスパート]を選択します。
セクションエキスパートが表示されます。
ヒント
[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをクリックする方法もあります。
2 [セクション]領域で[ページフッタ]をクリックします。
3 [ページフッタをクランプ]をクリックします。
4 [OK]をクリックしてレポートに戻ります。
最後に表示されるセクションのすぐ下にページフッタを配置すると、レポートで空白が削除されます。
252
2012-05-10
書式設定
11.6 条件付き書式設定
条件付き書式設定は、特定の条件を満たす場合にだけ適用される書式設定です。たとえば、次のような特定
の条件に応じて表示や出力を行えます。
•
支払い期限を過ぎた顧客の未収金を赤色で出力する。
•
カナダの顧客の場合は、日付を"日/月/年"形式で表示する。
•
1 行おきに背景色を表示する。
Crystal Reports では、これらほかにも多くの場面で、条件付きの書式を簡単に適用できます。
無条件の書式設定では、"選択して適用"という手順を使用します。条件付き書式設定では、基本の手順は同
じですが、書式設定を適用するかどうかを決める条件を設定する手順が加わります。条件を指定するには、単
純な式を使用します。
Crystal 構文または Basic 構文を使用した式の作成方法については、オンラインヘルプを参照してください。
条件付き書式設定式を設定すると、その式は、書式エディタで設定した無条件の設定より優先されます。たと
えば、"非表示"プロパティをオンにし、"非表示"プロパティに条件式を設定すると、そのプロパティは、式の条
件を満たす場合にだけ適用されます。
Crystal Reports ではオン/オフプロパティと属性プロパティを、どちらも条件付きで設定できます。ただし、それ
ぞれ異なる種類の式が必要になります。
11.6.1 条件に基づいてオン/オフを切り替えるプロパティ
条件付きオン/オフプロパティでは、条件を満たしているかどうかが評価されます。指定した条件に当てはまる
とプロパティはオンになり、当てはまらないとオフになります。その中間はありません。このような書式設定には、
論理値を返す式を使用します。
Crystal 構文の例
condition
Basic 構文の例
formula = condition
プログラムは、それぞれの値が条件を満たしているかどうかを評価し、Yes または No で答えを返します。次に、
Yes を返すすべての値にプロパティが適用されます。
253
2012-05-10
書式設定
11.6.2 条件付き属性プロパティ
条件付き属性プロパティでは、複数の条件のうちのどの条件を満たしているかが評価されます。次に、プログラ
ムは、その条件に合った書式設定を適用します。たとえば、一定値以下の値を赤で出力し、その他の値は黒
で出力することにします。プログラムは、まず、値が一定値以下かどうかを評価します。値が一定値以下の場合
は、"赤"の属性が適用されます。一定値以下でない場合は、"黒"の属性が適用されます。
このような条件付き書式設定には、If-Then-Else 式を使用します。
Crystal 構文の例
If Condition A Then
crRed
Else
crBlack
Basic 構文の例
If Condition A Then
formula = crRed
Else
formula = crBlack
End If
Crystal Reports では、条件付き属性プロパティを設定すると、式ワークショップの関数リストに選択した属性が
読み込まれます。これらの属性をダブルクリックすると、式にその属性を挿入できます。たとえば、横位置を条
件付きで設定する場合は、関数リストに[デフォルト]、[左揃え]、[両端揃え]などの属性が表示されます。境界
線を条件付きで設定する場合は、関数リストに、[なし]、[シングル]、[点]などの属性が表示されます。
注
Else キーワードは必ず条件式に含めてください。含まれていないと、If 条件に合致しない値が元の書式に残る
場合があります。If 条件に合致しない値を元の書式に残す場合は、Default Attribute 関数を使用します。
Crystal 構文の例
If Condition A Then
crRed
Else
DefaultAttribute
Basic 構文の例
If Condition A Then
formula = crRed
Else
formula = DefaultAttribute
End If
このようなプロパティには、より詳細な指定を行うこともできます。いくつかの条件を指定し、それぞれにプロパ
ティを設定できます。条件は 2 つに制限されません。たとえば、レポートに、世界各国の売上高を含む数値型
フィールドがある場合は、国ごとに数値属性を指定できます。この場合、条件が A 国の場合は、A 国の属性が
適用されます。条件が B 国の場合は B 国の属性、C 国の場合は C 国の属性が適用されます。
複数の選択肢がある場合は、次のような式を使用します。
Crystal 構文の例
If Condition A Then
crRed
Else If Condition B Then
254
2012-05-10
書式設定
crBlack
Else If Condition C Then
crGreen
Else
crBlue
Basic 構文の例
If Condition A Then
formula = crRed
ElseIf Condition B Then
formula = crBlack
ElseIf Condition C Then
formula = crGreen
Else
formula = crBlue
End If
このような条件付き書式設定には、複数条件の If-Then-Else 式を使用します。
11.6.2.1 フォントを条件に応じて変更する
1 書式設定するフィールドを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[フィールドの書式]をクリックします。
書式エディタが表示されます。
3
4
5
6
[フォント]タブをクリックします。
フォントオプションを変更するには、ダイアログボックスの右側にある目的の [式] ボタンをクリックします。
式ワークショップでは、特定の条件に合致する場合にだけ条件付きのフォントを変更するよう指定できます。
[保存して閉じる]をクリックします。
注
•
•
式にエラーがある場合は、保存するかどうかを確認するメッセージが表示されます。[いいえ]をクリックす
ると、エラーの詳細を示す別のメッセージボックスが表示されます。
式にエラーがない場合は、書式エディタに戻ります。[条件式]ボタンが変化していることに注目してくだ
さい。これは、そのプロパティに式が入力されていることを示します。
7 [OK]をクリックしてレポートに戻ります。
11.6.3 条件に応じた余白の変更
ページ余白は、式を使用して制御できます。
ページ番号に基づいた余白
次の式は、ページ番号が偶数か奇数かをチェックし、その結果に応じて余白を設定します。ページ番号が偶
数の場合、余白は 1 インチに設定されます。ページ番号が奇数の場合、余白は 2 インチに設定されます。
If Remainder(pagenumber,2) = 0 then 1440 else 2880
255
2012-05-10
書式設定
ページの向きに基づいた余白
次の式は、ページの向きをチェックし、その結果に応じて余白を設定します。ページの向きが縦の場合、余白
は 1 インチに設定されます。ページの向きが横の場合、余白は 2 インチに設定されます。
If CurrentPageOrientation = crPortrait then 1440 else 2880
注
余白の単位は twip です。1 インチは 1440 twip になります。
11.6.3.1 余白を条件に応じて変更する
1 [ファイル]メニューの[ページ設定]を選択します。
[ページ設定]ダイアログボックスが表示されます。
2
変更する余白の隣の [条件式] ボタンをクリックします。
3 式ワークショップに、余白の条件式テキストを入力します。
4 [保存して閉じる]をクリックして、レポートに戻ります。
5 [OK]をクリックして新しい設定を適用します。
11.6.4 X 位置の条件に応じた変更
条件に応じてオブジェクトの X 位置(左余白からの水平位置)を変更できます。オブジェクトの値がある条件に
一致したときに、オブジェクトを異なる列に表示する場合、この操作を行います。たとえば、予定通りに出荷され
た注文は最初の列に、遅れて出荷された注文は 2 番目の列に表示する場合などがあります。
注
線オブジェクトまたはボックスオブジェクトの X 位置は条件付きで変更できません。
11.6.4.1 オブジェクトの X 位置を条件に応じて変更する
1 条件に応じて移動させるフィールドを右クリックし、[サイズと位置]を選択します。
2
X 位置の値のフィールドの隣の条件式ボタンをクリックします。
3 式ワークショップに、X 位置の条件式テキストを入力します。
たとえば、遅れて出荷された注文を 2 番目の列に移動させるには、次のような式テキストを入力します。
If (Orders.Ship Date) < CDateTime (2004, 01, 01, 02, 10, 11) then 4320
256
2012-05-10
書式設定
注
数値 4320 は、2 番目の列として定義する新しい位置を示します。位置の単位は twip です。1 インチは
1440 twip になります。
4 [保存して閉じる]をクリックして、レポートに戻ります。
5 [OK]をクリックして位置の設定を保存します。
Crystal Reports は、条件に一致したオブジェクトを新しい位置に移動しますが、条件に一致しないオブジェク
トは元の位置に残します。
11.6.5 最初のページを除くすべてのページに表示するフッタの作成
最初のページを除くすべてのページにページフッタを出力するように指定できます。それには、オン/オフプロ
パティを使用して、ページフッタセクションを条件付きで書式設定します。
11.6.5.1 最初のページを除くすべてのページにフッタを作成する
1 レポートのページフッタセクションにページフッタとして表示するフィールドを配置します。
2 [レポート]メニューで、[セクションエキスパート]を選択します。
ヒント
[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをクリックする方法もあります。
セクションエキスパートが表示されます。
3 [セクション]領域で[ページフッタ]セクションをクリックします。
4 [非表示 (ドリルダウン不可)] チェックボックスの右にある [式] ボタンをクリックして、式ワークショップを開き
ます。
5 書式条件式エディタで、次の式を入力します。
Crystal 構文の例
PageNumber = 1
Basic 構文の例
formula = PageNumber = 1
この式は、最初のページのページフッタだけを非表示にし、それ以外のページのページフッタは表示する
ように指示します。
6 [保存して閉じる]をクリックします。
257
2012-05-10
書式設定
注
•
•
7
式にエラーがある場合は、保存するかどうかを確認するメッセージが表示されます。[いいえ]をクリックす
ると、エラーの詳細を示す別のメッセージボックスが表示されます。
式にエラーがない場合は、セクションエキスパートに戻ります。 [条件式] ボタンが変化していることに注
目してください。これは、そのプロパティに式が入力されていることを示します。
[標準]ツールバーの[プレビュー]ボタンをクリックして、レポートをプレビューします。ページフッタが最
初のページを除くすべてのページに表示されていることを確認します。
注
•
•
複数行のページフッタを、別々のページフッタセクションに行を配置して作成した場合は、上の式を使用し
て、それぞれのセクションを条件付きで非表示にする必要があります。
最初のページを除くすべてのページに表示するページヘッダを作成するには、まず、ページヘッダセクショ
ンにヘッダ情報を配置します。次に、ページフッタセクションを非表示にしたのと同じ式を使用して、そのセ
クションを条件付きで非表示にします。
11.6.6 強調表示エキスパートの使用
強調表示エキスパートを使用すると、すべての型のレポートフィールド(数値、通貨、文字列、論理値、日付、時
刻、および日付と時刻の各フィールド)に条件付き書式設定を適用できます。強調表示エキスパートを使って、
選択したフィールドの書式を設定するには、そのフィールドの値、または別のレポートフィールドの値に基づい
た条件を指定します。つまり、強調表示エキスパートでは、"フィールド X の値が条件 A を満たす場合に、レ
ポートで選択しているフィールドに指定した書式設定を適用する"という式を作成できます。
条件付き書式設定を使用した場合、強調表示エキスパートでは次の作業を行うことができます。
•
式を作成せずに、複数の属性を一度に変更する。
•
レポートで使用されているすべてのフィールドの型を強調表示する。
•
フォントスタイル、背景色、フォントの色、および境界線のスタイルを書式設定する。
•
フィールド書式設定をそのフィールドの値または別のフィールドの値に基づいて行う。
•
行見出しや列見出しの値を基に、クロスタブまたは OLAP のセルを強調表示する。
•
ロケールに固有な数値の表示形式(たとえば、1,224.23 など)を使って値を入力する。
•
日付を数値またはテキストとして入力する(「2001 年 1 月 12 日」または「2001/01/12」)。
•
強調表示をすばやく元に戻す。
レポートフィールドに条件付き書式設定を適用する必要がある場合は、式ワークショップよりも強調表示エキス
パートを使用する方が手早く簡単です。強調表示エキスパートは、通常、特定のフィールド値を強調表示して、
その他のフィールドと区別するために使用します。たとえば、重要な顧客を強調表示するため、売上が $50,000
を超える場合に{Customer.前年度取引高}フィールドを必ず赤の背景色で表示するようにします。または、未処
理の注文を目立たせるために、{Orders.出荷完了フラグ}の値が FALSE である場合に必ず{Product.商品名}
フィールドを太字にします。
258
2012-05-10
書式設定
ただし、強調表示エキスパートは式ワークショップほど柔軟ではありません。Crystal Reports の書式設定機能
を最大限に活用するには、独自の条件付き書式設定式を式ワークショップで作成します(式ワークショップへは
書式エディタからアクセスできます)。詳細については、411 ページの 「式の使用」を参照してください。
11.6.6.1 強調表示エキスパートを使用して、条件付きでフィールドを書式設定する
強調表示エキスパートは、式ワークショップの代わりに手早く使用でき、任意のレポートフィールドに条件付き
書式設定を適用できます。つまり、強調表示エキスパートでは、"フィールド X の値が条件 A を満たす場合に、
レポートで選択しているフィールドに指定した書式設定を適用する"という式を作成できます。
このダイアログボックスは、式を表示する [アイテムリスト] 領域と、式を指定できる [アイテムエディタ] 領域の 2
つに分かれています。[アイテムエディタ]領域には、適用される書式が表示される[サンプル]フィールドがあり
ます。
11.6.6.1.1 強調表示エキスパートを使用して、条件付きでフィールドを書式設定する
1 強調表示エキスパートを開くには、書式設定を適用するフィールドを右クリックし、ショートカットメニューの
[強調表示エキスパート]をクリックします。
ヒント
[エキスパートツール]ツールバーの[強調表示]ボタンをクリックする方法や、[書式]メニューの[強調表
示エキスパート]をクリックする方法もあります。
強調表示エキスパートは、開いたときに、レポートで現在選択されているフィールドに対して書式を適用す
るよう設定されています。
2 強調表示エキスパートで、[新規作成] をクリックして、新しい条件式をデフォルト設定で作成します。
3 [アイテムエディタ]領域で[値]リストをクリックし、条件の基になるフィールドを選択します。
ここで選択するフィールドは、条件の基となるフィールドであり、書式設定の対象となるフィールドとは異なっ
てもかまいません。書式設定の対象となるフィールド自体の値を基にして条件を作成する場合は、リストか
259
2012-05-10
書式設定
ら[このフィールド]を選択します。別のレポートフィールドを基にして条件を作成するには、使用可能なフィー
ルドのリストからそのフィールドを選択します。
注
[値]リストには、レポートに追加されているフィールドだけが表示されます。
4 2 番目のリストから比較方法(と等しい値、未満の値、など)を選択します。
この比較文は、強調表示エキスパートで作成される条件式の中で演算子として機能します。
5 希望の値をテキストボックスに入力して条件を完成します。
注
値リストで選択したフィールドが数値でない場合、このテキストボックスは使用可能な値のリストに変わるの
で、その中から値を選択します。
6 [スタイル]、[フォントの色]、[背景色]、および[境界線]の各リストで、条件が満たされた場合にフィールドに
適用する書式を指定します。
7 選択したフィールドに複数の強調表示条件を適用するには、手順 3 と 4 を繰り返します。
注
強調表示エキスパートの [削除] ボタンを使って、強調表示の条件式をリストから削除できます。
8 [優先順位]の矢印ボタンを使って、Crystal Reports で複数の条件式を適用する順序を指定できます。詳
細については、260 ページの 「強調表示の優先順位の設定」を参照してください。
9 [OK]をクリックしてレポートに戻ります。
11.6.6.2 強調表示の優先順位の設定
強調表示エキスパートの [アイテムリスト] 領域にある [優先順位] の矢印ボタンを使用すると、式の優先順位を
指定できます。これは、複数の式があり、ある状況で結果が競合してしまう場合に便利です。
たとえば、レポートの"単価"フィールドを強調表示することにします。このフィールドに、単価が $100 よりも高い
場合に背景色が黄色になるように、強調表示の式を割り当てます。また、同じレポートで、単価が $200 よりも高
い場合に背景色が赤色になるように、もう 1 つの強調表示の式を作成します。この場合は、"単価"フィールド
の背景色が赤色になるはずのところで、黄色になってしまうことがあります。たとえば、単価が $300 ドルの場合
は、式に割り当てられた優先順位にしたがって、赤色または黄色の背景色が適用されます。
11.6.6.2.1 強調表示の条件式に優先順位を設定する
1 [書式]メニューの[強調表示エキスパート]をクリックします。
2 作成した強調表示条件式の 1 つを、[アイテムリスト] 領域で選択します。
3 [優先順位] の矢印ボタンをクリックして、選択した式を他の式の上または下に移動します。
注
[アイテムリスト] 領域で上にある式は、下にある式より優先順位が高くなります。
4 [OK]をクリックします。
260
2012-05-10
書式設定
5 レポートを最新表示するか、[プレビュー]タブをクリックして、変更した強調表示を確認します。
11.6.7 元に戻す/やり直しの操作
Crystal Reports は、何段階も元に戻す機能を備えています。この機能を使用すると、条件に合ったレポートに
なるまで、複数の変更操作を 1 段階ずつ元に戻すことができます。
また、元に戻した操作を逆にやり直す機能もあります。たとえば、オブジェクトを移動し、その新しい位置に満足
できない場合は、[元に戻す]をクリックして、元の位置に戻すことができます。そこで再び考え直してみる場合
は、[やり直し]をクリックして、最後の変更時点まで戻ることができます。
[元に戻す]ボタンと[やり直し]ボタンには、複数の変更を一度に元に戻す/やり直しを行うことができるリストがあ
ります。
•
変更を元に戻すには、[標準]ツールバーの[元に戻す]をクリックします。
初めてこのボタンをクリックすると、レポートで直前に行った変更が元に戻されます。このボタンをクリックす
るたびに、行った変更が 1 つずつ前に戻されます。
一度に複数の操作を元に戻すには、矢印ボタンをクリックして操作のリストを表示します。元に戻す一連の
操作を選択します。
•
元に戻す機能を使用した後で、その変更をやり直すには、[標準]ツールバーの[やり直し]をクリックし
ます。
元に戻す、またはやり直す操作がない場合や、元に戻すことができない変更を行った場合は、[元に戻す]
ボタンと[元に戻す/やり直し]コマンドは無効になります。
一度に複数の操作をやり直すには、矢印ボタンをクリックして操作のリストを表示します。やり直す一連の操
作を選択します。
注
操作 A を元に戻し、次に別の操作をいくつか実行した場合は、操作 A をやり直すことはできなくなります。
11.7 書式ペインタの使用
書式ペインタは、無条件の書式設定プロパティまたは条件付き書式設定プロパティを、1 つのレポートオブジェ
クから 1 つ以上のターゲットオブジェクトにコピーするときに使用します。[書式ペインタ]ボタンは、レポート内で
ソースオブジェクトを選択したときに、[標準]ツールバー上で使用可能になります。ソースフィールドとは異なる
ターゲットフィールドに書式設定を適用すると、共通のプロパティだけが適用されます。たとえば、ソースフィー
ルドが論理型フィールドで、ターゲットフィールドが通貨フィールドの場合は、共通のフォントプロパティと境界
線プロパティだけが変更され、論理値プロパティや通貨プロパティは適用されません。
261
2012-05-10
書式設定
注
•
•
•
•
•
ハイバーリンク情報はターゲットオブジェクトまたはフィールドにコピーされません。
強調表示エキスパートで適用された書式設定はコピーされません。
テキストオブジェクトやテンプレートオブジェクトの書式設定は、データベースフィールドにコピーされませ
ん。
書式設定のソースとしてどのオブジェクト(リポジトリオブジェクト、読み取り専用のオブジェクト、読み取り専
用セクションに含まれているオブジェクトなど)も使用できますが、これらのオブジェクト自体に書式設定を適
用することはできません。
日付/時刻フィールドをソースとして使用すると、ターゲットフィールドの日付プロパティや時刻プロパティが
変更されます。また、日付フィールドまたは時刻フィールドをソースとして使用すると、日付/時刻フィールド
の日付と時刻のプロパティは変更されます。
書式ペインタで使用できるソースレポートオブジェクトとフィールド、およびターゲットレポートオブジェクトとフィー
ルドを以下に示します。
262
ソースオブジェクトまたはフィールド
ターゲットオブジェクトまたはフィールド
レポートフィールド(クロスタブを除く)
レポートフィールド(クロスタブを除く)
クロスタブ内のレポートフィールド
クロスタブ内のレポートフィールド
テンプレートフィールド
テンプレートフィールド
テキストオブジェクト(クロスタブを除く)
テキストオブジェクト(クロスタブを除く)
クロスタブ内のテキストオブジェクト
クロスタブ内のテキストオブジェクト
OLAP グリッドヘッダ内のオブジェクト
OLAP グリッドヘッダ内のオブジェクト
線オブジェクト
線オブジェクト
ボックスオブジェクト
ボックスオブジェクト
OLE または BLOB フィールド
OLE または BLOB フィールド
サブレポート
サブレポート
チャート、マップ、OLAP グリッド、またはクロスタブ
チャート、マップ、OLAP グリッド、またはクロスタブ
2012-05-10
書式設定
11.7.1 書式設定をコピーおよび適用する
1
レポート内のソースオブジェクトまたはフィールドを選択し、[書式ペインタ]をクリックします。
ヒント
ショートカットメニューから[書式ペインタ]を選択することもできます。
注
•
•
[書式ペインタ]ボタンは、オブジェクトまたはフィールドを選択すると使用可能になります。
[書式ペインタ]を終了するには、このボタンをもう一度クリックするか、Esc キーを押します。
2 書式を適用するターゲットオブジェクトまたはフィールドをクリックします。
レポート上でマウスを移動させるとき、ターゲットとして使用できないオブジェクトまたはフィールドの上では、
カーソルが中止ポインタに変わります。
注
•
•
読み取り専用のオブジェクトやフィールドには書式設定を適用できません。
[書式ペインタ]ボタンをダブルクリックするか、複数のオブジェクトまたはフィールドに書式設定を適用す
るには、Alt キーを押しながら選択します。
11.8 バーコードの使用
バーコードを使用すると、企業ではコンピュータを使って製品や売上をトラッキングできます。専用のスキャナ
で読み込まれたバーコードは、コンピュータによって判読可能な形式に変換されます。
Crystal Reports のインストールには、Code39 バーコードをサポートするために必要な書式やフォントが含まれ
ています。バーコードをレポートに追加して、在庫の管理やパッケージラベルの作成などのアクティビティに使
用することができます。
Code39 は、市場に出回っているほとんどのスキャナでサポートされる基本のバーコード形式です。その他の
バーコードタイプ(UPC など)のサポートについては、使用しているバーコードの製造元に問い合わせてくださ
い。
11.8.1 バーコードについて
既存のフィールドにバーコードを適用したり、レポートにバーコード用の新規フィールドを追加することができま
す。
263
2012-05-10
書式設定
バーコードを追加する前に次の情報について考慮する必要があります。
•
フィールドをバーコードに変換すると、デフォルトのサイズが変更され、24 pts で 16 文字含まれるようにな
ります。
これにより、フィールド間に十分なスペースがない場合は、新しいデータが既存のフィールドに重なる場合
があります。
•
バーコードは、数字フィールドと文字列フィールドにのみ適用できます。
バーコードは、通貨フィールド、日時フィールド、またはその他の型のフィールドには適用できません。
•
バーコードに変換したフィールドを元に戻すには、[バーコードに変更]を使用した直後に[元に戻す]コマン
ドを使用する必要があります。
フィールドをバーコードに変更した後に他の操作を実行した場合は、フィールド項目を削除するか、[フィー
ルドの書式]オプションを使用して外観の書式を変更する必要があります。
関連項目
• 264 ページの「バーコードの外観の変更」
• 265 ページの「バーコードの削除」
11.8.1.1 バーコードを追加する
1 レポートで、バーコードに使用するフィールドを右クリックします。
目的のフィールドがレポートにない場合は、フィールドエクスプローラを使用してレポートにフィールドを追
加します。
2 ショートカットメニューの[バーコードに変更]を選択します。
[バーコードの種類を選択]ダイアログボックスが表示されます。
3 リストからバーコードの種類を選択します。
4 [OK] をクリックします。
フィールドには、文字の代わりにバーコードが表示されます。
11.8.2 バーコードの外観の変更
[フィールドの書式]オプションを使用すると、バーコードの外観を変更できます。
バーコードの外観を変更するには、次のようなさまざまな理由があります。
•
•
264
スキャナで読み取れないほどバーコードが大きすぎたり小さすぎないようにサイズを変更する。
バーコードを別の色で表示する。
2012-05-10
書式設定
関連項目
• 263 ページの「バーコードについて」
• 265 ページの「バーコードの削除」
11.8.2.1 バーコードの外観を変更する
1 変更するバーコードフィールドを右クリックします。
2 ショートカットメニューの[フィールドの書式]を選択します。
書式エディタが表示されます。
3 境界線、フォントサイズ、色、その他のオプションを設定します。
4 [OK]をクリックします。
11.8.3 バーコードの削除
バーコードを誤ったフィールドに適用したり、バーコードを使用しない場合は、[フィールドの書式]を使用して
フィールドを通常のフォントに戻すことができます。
関連項目
• 263 ページの「バーコードについて」
• 264 ページの「バーコードの外観の変更」
11.8.3.1 バーコードを通常のフォントに変更する
1 変更するバーコードフィールドを右クリックします。
2 ショートカットメニューの[フィールドの書式]を選択します。
書式エディタが表示されます。
3 [共通]タブを選択します。
4 [表示文字列]領域で、赤い式エディタボタンをクリックします。
式エディタが表示されます。
5 式テキストウィンドウの文字列を削除し、[保存して閉じる]をクリックします。
6 [フォント]タブをクリックします。
7 フォントとサイズを目的のサイズに変更し、[OK]をクリックします。
265
2012-05-10
書式設定
8 レポートで、フィールドを適切な長さに変更します。
266
2012-05-10
チャート
チャート
12.1 チャートの基礎
Crystal Reportsを使用すると、洗練された色彩豊かなチャートをレポートに組み込むことができます。チャート
を使用することにより、レポートの質を向上させることができます。
12.1.1 チャートの概要
Crystal Reportsを使用すると、洗練された色彩豊かなチャートをレポートに組み込むことができます。チャート
を使用することにより、レポートの質を向上させることができます。
たとえば、地域別にグループ化された販売レポートに地域ごとの昨年の売上高の小計がある場合は、地域別
の売上を示すチャートをすばやく作成できます。
チャートにできるデータは、次のデータです。
267
•
集計フィールドおよび小計フィールド
•
詳細フィールド、式フィールド、および積算合計フィールド
•
クロスタブ
2012-05-10
チャート
•
OLAP データ
チャートは、通常、集計および小計情報を使ってグループレベルで作成します。作業に使用するデータのタイ
プによっては、詳細チャート、クロスタブチャート、および OLAP グリッドチャートも作成できます。
12.1.2 チャートのレイアウト
チャートエキスパートには、特定のデータタイプに対応するレイアウトが 4 つあります。
チャートは、次のレイアウトを使って作成できます。また、使用しているデータによっては、チャートのレイアウト
を別のレイアウトに変更できます。
詳細
詳細レイアウトは、複数の値をチャートにする場合や、レポートにグループまたは集計フィールドがない場合に
使用します。
詳細チャートレイアウトでは、1 つまたは 2 つの条件フィールドがサポートされており、この条件フィールドを使
用して平面チャート、立体チャート、または円チャートを作成することができます。詳細レイアウトには、ほかにも
次の機能があります。
•
値は、昇順、降順、または指定順序でグループ化できます。上位 N や並べ替えの合計を基準にすることも
できます。
•
各レコードごとに値をプロットできます。
•
全レコードの総計として値をプロットできます。
•
式フィールドおよび積算合計フィールドに基づいたチャートを作成できます。
グループ
グループレイアウトは、とても簡単です。地域などの地理的なフィールドの値ごとに集計を表示します。
注
グループレイアウトを使ったチャートを作成するには、レポートに最低 1 つのグループおよび集計フィールドが
必要です。
クロスタブ
クロスタブオブジェクトをチャートにするには、クロスタブレイアウトを使用します。クロスタブチャートでは、条件
フィールドと集計フィールド用に、クロスタブのフィールドを使用します。
OLAP
OLAP グリッド上にチャートを作成するには、OLAP レイアウトを使用します。OLAP チャートでは、条件フィー
ルドと集計フィールド用に、OLAP グリッドのフィールドを使用します。
注
OLAP チャートを作成する前に、レポートに OLAP グリッドが含まれている必要があります。
268
2012-05-10
チャート
12.1.3 チャートの種類
さまざまなデータの内容に応じて、それに合ったチャート タイプを選択できます。次に、主なチャート タイプの
概要およびその使用例を挙げます。
棒チャート
ほとんどの棒チャート(縦棒チャート)では、複数のデータ セットを表示または比較します。便利な 2 つの棒
チャートとして、横並び棒チャートと積上げ棒チャートがあります。
•
横並び棒チャート
横並び棒チャートでは、垂直な棒を並べてデータを表示します。このチャートは、一定期間のいくつかの
データを表示するのに最適です。たとえば、昨年のカリフォルニア州、アリゾナ州、オレゴン州、およびワシ
ントン州における売上を示す場合に使用します。
•
積上げ棒チャート
積み上げ棒チャートでは、垂直な棒を並べてデータを表示します。このチャートは、3 系列のデータを表示
するのに最適です。各系列は、色分けされた上、積み重ねて表示されます。たとえば、1997 年、1998 年、
および 1999 年の売上を示す場合に使用します。
折れ線チャート
折れ線チャートでは、点の系列を線で結んでデータを表示します。このチャートは、多数のグループのデータ
を表示するのに最適です。たとえば、過去数年間の総売上を示す場合に使用します。
面チャート
面チャートでは、色またはパターンで塗りつぶした領域を使ってデータを表示します。このチャートは、限られ
た数のグループのデータを表示するのに最適です。たとえば、総売上に対するカリフォルニア州、アリゾナ州、
オレゴン州、およびワシントン州の割合を示す場合に使用します。
円チャート
円チャートでは、円を色またはパターンで塗り分けてデータを表示します。円チャートは、通常、1 つのグルー
プ データに対して使用します。たとえば、総売上に対する各製品の割合を示す場合に使用します。しかし、複
合円チャートを選択し、複数のグループ データを扱うこともできます。
ドーナツ型チャート
ドーナツ型チャートは、円チャートに似ており、円またはドーナツを分けてデータを表示します。たとえば、地域
ごとの売上高をこのチャートにする場合、総売上の数値をドーナツ型チャートの中央に示し、地域ごとの売上
高は、ドーナツを色分けして示します。複数のグループ データを扱う場合は、円チャートと同様、複合ドーナツ
型チャートも選択できます。
立体ライザー チャート
立体ライザー チャートでは、立体オブジェクトを横に並べた形式で 3 次元的にデータを表示します。立体ライ
ザー チャートを使用すると、レポートにデータを効果的に表示できます。たとえば、このチャートを使用すれば、
顧客別と国別の売上高の違いを視覚的にダイナミックに表示できます。
269
2012-05-10
チャート
立体等高線チャート
立体等高線チャートを使用すると、複数のデータを立体的な地形状に表示できます。たとえば、国別さらに顧
客別に売上高を示すチャートが必要な場合、それを視覚的にダイナミックに、また関連がわかるように表示す
るなら、立体等高線チャートの利用をお勧めします。
XY 散布図
XY 散布図は、プロットされた点の集合です。それらの点は、大量の情報の中の個々のデータを表します。XY
散布図を使用すれば、比較的大きなデータの傾向を示すことができます。たとえば、売上高、製品、国、年、月
などの顧客情報を入力すれば、プロットされた点の集まり具合から顧客情報の傾向を把握できます。このデー
タを XY 分布図にして表示すると、特定の製品が他の製品より売れている理由や、特定の地域で他の地域よ
り売れている理由を子細に検討できます。
レーダー チャート
レーダー チャートでは、国または顧客などのグループのデータを放射状に配置します。また、放射線の中央
から周囲へと値の小さい順に数値を配置します。このチャートでは、特定のグループ データとグループ全体の
データとの関係をひとめで把握できます。
バブルチャート
バブル チャート(XY 散布図タイプの拡張)では、バブルを並べてデータを表示します。バブルは、データの大
きさに応じたサイズで表示されます。バブル チャートを使用すると、特定の地域で売れた製品の個数を効果的
に表示できます。バブルが大きくなるほど、その地域で多く売れたことを示すことができます。
株価チャート
株価チャートは、データの範囲を表示します。この特徴により、株価チャートは財務および販売活動の監視に
優れています。
注
Crystal Reports には、2 つの株価チャート形式が用意されています。1 つは高値 - 安値を表すチャートで、も
う 1 つは 高値 - 安値 - 始値 - 終値を表すチャートです。各タイプのチャートには、名前順に指定された一連
の値が必要です。
数値軸チャート
数値軸チャートは、数値フィールドまたは日付/時刻フィールドを[基準フィールド]として使用する棒チャート、
折れ線チャート、または面チャートです。数値軸チャートには、X 軸値の倍率を設定する方法が用意されてい
るため、実際の数値 X 軸や実際の日付/時刻 X 軸が作成されます。
メーター チャート
メーター チャートでは、値がメーター上の点として視覚的に表示されます。通常、メーター チャートは、円チャー
トと同様に、1 つのグループ データに対して使用します。たとえば、総売上に対する各製品の割合を示す場合
に使用します。
ガント チャート
ガント チャートは横の棒チャートです。通常、スケジュールの図解表示に使用します。横軸は時間を示し、縦
軸は一連のタスクやイベントを示します。ガントチャートの横棒は、縦軸上の各項目に対するイベントの順序と
期間を表します。ガントチャートの作成時には、日付フィールドだけを使用する必要があります。データ軸に対
して選択するフィールドを[各レコードごと]に設定し、チャートエキスパートの[データ]タブにある[表示する値]に
開始日フィールドと終了日フィールドを追加する必要があります。
270
2012-05-10
チャート
ファンネルチャート
ファンネル チャートは、一般的に、営業活動の段階を表す場合に使用します。たとえば、各段階における予想
売上金額を表す場合などです。このタイプのチャートは、組織の販売プロセスで問題の発生しそうな部分を突
き止める場合にも役立ちます。ファンネルチャートは、チャートに表示されるグループの全集計値を表す点で
積み上げ横棒チャートと似ています。
ヒストグラム
ヒストグラムは横棒チャートの一種で、測定値が平均値とどのくらい違うかを示すために使用されます。これに
より、プロセスでの問題の原因を、分布の形状と分布の偏差によって判別することができます。ヒストグラムで
は、度数は棒の高さではなく、棒の領域で表現されます。
12.1.4 チャートの配置
チャートを配置する位置によって、表示されるデータおよび出力される位置が決まります。たとえば、レポート
ヘッダセクションに配置されるチャートにはレポート全体のデータが含まれますが、グループヘッダまたはグルー
プフッタセクションに配置されるチャートはグループ固有のデータだけを表示します。
注
•
•
サブレポートを持つレポートの場合は、サブレポートにもチャートを配置できます。詳細については、485 ペー
ジの 「サブレポート」を参照してください。
デフォルトでは、チャートまたはチャートオブジェクトの枠を挿入すると、レポートヘッダに配置されます。
12.1.5 チャートのドリルダウン
チャートはデータを表示するだけではなく、分析ツールとしても使用できます。[プレビュー]タブでグループ
チャートのセクションの上にポインタを置くと、そのポインタがドリルダウンポインタに変わります。そこでダブルク
リックすると、そのセクションの基ととなる詳細情報が表示されます。
12.1.6 凡例を使ったドリルダウン
チャートが 1 つ以上のグループフィールドで構成されている場合、チャートの凡例を使用して、個々のグルー
プをドリルダウンできます。凡例のマーカーまたはテキスト上でドリルダウンポインタをダブルクリックすると、そ
のセクションの詳細が表示されます。
271
2012-05-10
チャート
12.2 チャートの作成
レポートにチャートを挿入する場合、以下のオプションのいずれかが表示されます。
•
レポートヘッダのチャートオブジェクトの枠。
チャートの枠を配置すると、[チャートエキスパート]ダイアログボックスが表示されます。レポート内でチャー
トを配置する場所の詳細については、271 ページの 「チャートの配置 」を参照してください。
•
レポートヘッダに自動的に挿入されるチャート。
レポート内に最低 1 つのグループと 1 つの集計フィールドがあるような状況では、チャートは自動的にレ
ポートヘッダに追加され、[チャートエキスパート]ダイアログボックスは表示されません。これは通常、クロス
タブ集計をチャートを表示する場合や、OLAP キューブをチャートに表示する場合に起こりますが、集計ま
たは小計フィールドをチャートに表示する場合に起こることもあります。
12.2.1 詳細フィールドまたは式フィールドを使ったチャートの作成 (詳細レイアウト)
詳細レイアウトでは、特定の値に基づいてチャートを作成できます。チャートは集計情報の表示に便利なので、
多くはレポートの集計フィールドを基に作成されます。また、詳細レイアウトでは、レポートの詳細セクションに
表示される値を使用して、集計フィールドを使用せずにチャートを作成できます。
詳細レイアウトに基づいてチャートを作成するには、次の 2 つの項目を指定する必要があります。
•
条件(2 つまで)
•
値(複数)
条件
条件は、いつ点をプロットするかを指定します。たとえば、顧客の前年度売上を表示するチャートでは、条件と
して Customer Name フィールドを使用します。条件(顧客名)が変わるごとに、点がプロットされます。
各レコードごとに点をプロットしたり、すべてのレコードに対して点を 1 つプロットすることもできます。
値
値は、どの情報を点としてチャートにプロットするかを指定します。たとえば、顧客別の昨年の売上を示すチャー
トを作成する場合、昨年の売上のフィールドが値となります。
12.2.2 集計および小計フィールドを使ったチャートの作成(グループレイアウト )
272
2012-05-10
チャート
作成されるチャートの多くは、レポート内の集計または小計が基になっています。そのようなチャートを作成す
るには、既に集計または小計がレポートのグループヘッダまたはグループフッタに挿入されている必要があり
ます。集計および小計の挿入の詳細については、165 ページの 「グループ値の集計」および170 ページの 「小
計」を参照してください。
12.2.2.1 集計または小計フィールドをチャートにする
1 [挿入]メニューの[チャート]をクリックします。
オブジェクトの枠がレポートヘッダ領域に表示されます。
ヒント
[挿入ツール]ツールバーの[チャートの挿入]ボタンをクリックする方法もあります。
2 枠を、レポートヘッダ、グループヘッダ、またはグループフッタの目的の位置にドラッグします。
[チャートエキスパート]ダイアログボックスが表示されます。
注
デフォルトのチャートは、[チャートエキスパート]ダイアログボックスではなく、[レポートヘッダ]セクションに表
示される場合があります。異なるチャートタイプを選択するには、デフォルトチャートを右クリックしてから
[チャートエキスパート]をクリックします。[チャートエキスパート]ダイアログボックスが表示されます。
3 [タイプ]タブの[チャートタイプ]リストで、チャートタイプを選択します。
選択したデータの表示に最適なチャートサブタイプをクリックします。詳細については、269 ページの 「チャー
トの種類」を参照してください。
4 [データ]タブをクリックします。
5 まだ選択されていない場合は、[レイアウト]領域の[グループ]をクリックします。
6 [データ]領域の[基準フィールド]リストで、チャートの基にするグループフィールドをクリックします。次に[表
示]リストで、チャートに表示する集計フィールドをクリックします。
7 [軸]タブと[オプション]タブが表示されている場合は、軸の倍率、凡例、データ要素など、チャートのいくつ
かのプロパティをカスタマイズできます。
8 [テキスト] タブをクリックします。
9 チャートにデフォルトのタイトル情報を適用するか、新しいタイトルを追加します。
10 [OK]をクリックします。
注
チャートを挿入すると、レポートのかなりの部分を占めることがあります。チャートを移動およびサイズ変更し、レ
ポート内にうまく収まるようしてください。
273
2012-05-10
チャート
12.2.3 クロスタブを使ったチャートの作成(クロスタブレイアウト)
Crystal Reports では、クロスタブレポートの集計値を基にしてチャートを作成できます。たとえば、米国の各地
域で売れたある製品の個数を示すクロスタブを基にし、総売上に対する地域ごとの割合を表示するチャートを
作成できます。
クロスタブチャートを作成するには、あらかじめレポートにクロスタブが含まれている必要があります。詳細につ
いては、313 ページの 「クロスタブオブジェクト」を参照してください。
12.2.3.1 クロスタブをチャートにする
1 チャートにするクロスタブを選択します。
2 [挿入]メニューの[チャート]をクリックします。
オブジェクトの枠がレポートヘッダ領域に表示されます。
ヒント
[挿入ツール]ツールバーの[チャートの挿入]ボタンをクリックする方法もあります。
3 枠をレポートヘッダの目的の位置にドラッグします。
[チャートエキスパート]ダイアログボックスが表示されます。
注
デフォルトのチャートは、[チャートエキスパート]ダイアログボックスではなく、[レポートヘッダ]セクションに表
示される場合があります。異なるチャートタイプを選択するには、デフォルトチャートを右クリックしてから
[チャートエキスパート]をクリックします。[チャートエキスパート]ダイアログボックスが表示されます。
4 [タイプ]タブの[チャートタイプ]リストで、チャートタイプを選択します。
選択したデータの表示に最適なチャートサブタイプをクリックします。詳細については、269 ページの 「チャー
トの種類」を参照してください。
5
6
7
8
9
10
[データ]タブをクリックします。
まだ選択されていない場合は、[レイアウト]領域の[クロスタブ]をクリックします。
[データ]領域の[基準フィールド]リストで、チャートの基になるグループフィールドをクリックします。
必要に応じて、[細分基準]リストで、チャートの基になる第 2 の行または列をクリックします。
[表示] リストで、チャートに表示する集計フィールドをクリックします。
[軸]タブと[オプション]タブが表示されている場合は、軸の倍率、凡例、データ要素など、チャートのいくつ
かのプロパティをカスタマイズできます。
11 [テキスト] タブをクリックします。
12 チャートにデフォルトのタイトル情報を適用するか、新しいタイトルを追加します。
274
2012-05-10
チャート
13 [OK]をクリックします。
注
チャートを挿入すると、レポートのかなりの部分を占めることがあります。チャートを移動およびサイズ変更し、レ
ポート内にうまく収まるようしてください。
12.2.4 OLAP キューブを使ったチャートの作成(OLAP レイアウト)
OLAP レイアウトを使用すると、OLAP グリッドをチャートにできます。OLAP チャートを作成するには、あらかじ
めレポートに OLAP グリッドが含まれている必要があります。詳細については、358 ページの 「OLAP レポート
の作成」を参照してください。
12.2.4.1 OLAP キューブをチャートにする
1 チャートにする OLAP グリッドを選択します。
2 [挿入]メニューの[チャート]をクリックします。
オブジェクトの枠がレポートヘッダ領域に表示されます。
ヒント
[挿入ツール]ツールバーの[チャートの挿入]ボタンをクリックする方法もあります。
3 枠をレポートヘッダの目的の位置にドラッグします。
[チャートエキスパート]ダイアログボックスが表示されます。
注
デフォルトのチャートは、[チャートエキスパート]ダイアログボックスではなく、[レポートヘッダ]セクションに表
示される場合があります。異なるチャートタイプを選択するには、デフォルトチャートを右クリックしてから
[チャートエキスパート]をクリックします。[チャートエキスパート]ダイアログボックスが表示されます。
4 [タイプ]タブの[チャートタイプ]リストで、チャートタイプを選択します。選択したデータの表示に最適なチャー
トサブタイプをクリックします。詳細については、269 ページの 「チャートの種類」を参照してください。
5 [データ]タブをクリックします。
6 まだ選択されていない場合は、[レイアウト]領域の[OLAP]をクリックします。
7 [データ]領域の[基準フィールド]リストで、チャートの基になるフィールドをクリックします。
8 必要に応じて、[細分基準]リストで、チャートの基になる第 2 の行または列をクリックします。
注
手順 3 で選択したチャートタイプが、第 2 のチャートフィールドをサポートしていることを確認します。
9 [軸]タブと[オプション]タブが表示されている場合は、軸の倍率、凡例、データ要素など、チャートのいくつ
かのプロパティをカスタマイズできます。
275
2012-05-10
チャート
10 [テキスト] タブをクリックします。
チャートにデフォルトのタイトル情報を適用するか、新しいタイトルを追加します。
11 [OK]をクリックします。
注
チャートを挿入すると、レポートのかなりの部分を占めることがあります。チャートを移動およびサイズ変更し、レ
ポート内にうまく収まるようしてください。
12.3 チャートの使い方
チャートの作成後、チャートのタイトル、見出し、および凡例を追加したり、フォントやチャートタイプも変更でき
ます。Crystal Reports には、既存のチャートで作業をするためのオプションが多数用意されています。
12.3.1 チャートエキスパートによるチャートの編集
チャートエキスパートを使ってチャートを編集すると、チャートをデザインしたエキスパートへ戻ることができま
す。表示するチャートタイプやチャートの基となるデータなど、選択していた元の設定の多くを変更できます。
12.3.1.1 チャートエキスパートを使ってチャートを編集する
1
2
3
4
チャートを右クリックしてショートカットメニューを表示します。
ショートカットメニューのチャートエキスパートを選択します。
[チャートエキスパート]ダイアログボックスで任意の変更を行います。
[OK]をクリックします。
12.3.2 [チャートオプション]メニュー項目によるチャートの編集
チャートエキスパートに用意されている編集オプションの一部は、[チャートオプション]メニューから直接選択す
ることもできます。チャートを右クリックすると表示される[チャートオプション]メニューには、詳細な書式設定オ
プションも数多く用意されています。
276
2012-05-10
チャート
各種のチャートオプションを使用する方法については、以下の手順に示します。これらの機能の使用方法の詳
細については、各種のダイアログボックスで[ヘルプ]をクリックして、チャートヘルプを参照してください。チャー
トヘルプ (Chart.chm) のデフォルトのインストール先は、\Program Files\SAP BusinessObjects\Crystal Reports
2011\ChartSupport\Help\language ディレクトリです。
12.3.2.1 チャートの書式設定を変更する
1 チャートを右クリックして、[チャートオプション]を選択します。
2 該当するタブをクリックして、外観、タイトル、およびデータラベルなどを変更します。
12.3.2.2 [数値軸のグリッド]オプションを変更する
1 チャートを右クリックして、[チャートオプション]を選択します。
2 該当するタブをクリックして、グリッドライン、軸などを変更します。
12.3.2.3 チャートのタイトルを変更する
1 チャートを右クリックして、[チャートオプション]を選択します。
2 [タイトル]タブをクリックして変更を行います。
12.3.3 他のメニュー項目を使用したチャートの編集
12.3.3.1 新しいテンプレートを適用する
1 チャートを右クリックし、メニューから[テンプレートをロード]を選択します。
2 [カスタム]タブが表示されます。
[カスタム] タブ上のオプションは、カスタムチャートファイルの保存先である \Program Files\SAP
BusinessObjects\Crystal Reports 14.0\Templates ディレクトリの下のディレクトリを表します。
277
2012-05-10
チャート
注
カスタムチャートを使用できるのは、Crystal Reports のインストール時に [カスタムチャート] を選択した場
合のみです。
12.3.3.2 選択したチャートオブジェクトの書式を設定する
1 チャート内にある線オブジェクト、面オブジェクト、またはテキストオブジェクトを選択します。
2 指定されたオブジェクトを右クリックし、[<オブジェクト>の書式]をクリックします。
たとえば、円のセグメントを選択すると[セグメントの書式]が表示され、面チャート、横棒チャートなどにある
項目を選択すると[系列マーカーの書式]が表示されます。
3 該当するタブをクリックし、書式の変更を行います。
12.3.3.3 系列オプションを変更する
1 ライザー項目(面、棒、線、マーカー、円のセグメントなど)または凡例マーカーを選択します。
2 指定の領域で右クリックし、[系列オプション]を選択します。
注
直前の手順で示したようにライザーまたはマーカーを選択しない場合や、一部のチャートタイプでは、[系
列]オプションは使用できません。
3 該当するタブをクリックして、外観、データラベルなどを変更します。
12.3.3.4 立体チャートの表示角度を選択する
•
チャートを右クリックし、メニューから[3D 表示角度]を選択します。
12.3.4 棒チャートおよび折れ線チャートでの拡大/縮小機能の使用
[プレビュー]タブには、レポート内の棒チャートおよび折れ線チャートを拡大/縮小するコマンドがあります。こ
れらのチャートタイプは、いつでも拡大または縮小でき、常にインスタンスに固有の操作として処理されます。
278
2012-05-10
チャート
拡大または縮小したチャートのインスタンスを保存する場合は、レポートと共にそのデータを保存する必要があ
ります。
12.3.4.1 折れ線チャートまたは棒チャートを拡大または縮小する
1 [プレビュー]タブで、折れ線チャートまたは棒チャートを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[拡大]をクリックします。
3 チャート内の該当部分を拡大ポインタでドラッグして、選択枠で囲みます。
選択した部分が拡大表示されます。
4 さらに拡大するには、上記の手順を繰り返します。
注
チャートの拡大表示部分に隣接する領域(たとえば、棒チャートの隣の棒)を表示するには、ショートカットメ
ニューの[パン]を使用します。パンポインタを左右の適切な方向に移動して、その方向を表示します。
5 チャートを縮小するには、チャートを右クリックし、ショートカットメニューを表示します。
6 ショートカットメニューの[縮小]をクリックします。
7 縮小ポインタでチャートをクリックします。
チャートの拡大率が 1 段階下がります。
8 もう一度チャートをクリックすると、さらに縮小します。
12.3.5 チャートの自動整列
[プレビュー]タブでチャートオブジェクトを移動またはサイズ変更する場合は、[チャートの自動整列]を選択す
ると、チャートの配置をリセットできます。
12.3.5.1 チャートを自動整列する
1 [プレビュー]タブでチャートを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューから[チャートの自動整列]をクリックします。
Crystal Reports は、チャートを元のサイズと位置にリセットします。
279
2012-05-10
チャート
12.3.6 チャートの書式設定
12.3.6.1 チャートの境界線の変更
1
2
3
4
5
[デザイン]タブまたは[プレビュー]タブでチャートを右クリックし、ショートカットメニューを表示します。
ショートカットメニューから[背景の書式]をクリックします。
[書式エディタ]ダイアログボックスで[境界線]タブをクリックして、オプションを表示します。
線のスタイル、色、または幅を変更します。
[OK]をクリックして変更を保存します。
Crystal Reports はレポートに戻り、指定した変更内容は直ちに適用されます。
12.3.6.2 チャートの条件付き書式設定
1 [デザイン]タブまたは[プレビュー]タブでチャートを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューで[チャートエキスパート]をクリックし、[色のハイライト]タブを選択します。
エキスパートについては、チャート色の書式設定エキスパートのオンラインヘルプを参照してください。
注
•
•
•
•
条件付き書式設定を適用するオプションの中には、一部のチャートタイプでは利用できないものもありま
す。
面チャートを表示するには、条件付き書式設定に[基準フィールド]が 2 つ必要です。
チャートタイプが折れ線チャートの場合は、条件付き書式設定が表示されるよう、そのチャートにデータ
マーカーを設定しておく必要があります。
条件付き書式設定を適用した後、書式設定を確認する前に、[チャートオプション]ダイアログボックスの
[外見]タブで[グループで色分け]を選択しておく必要があります。このオプションを設定するには、チャー
トを右クリックし、ショートカットメニューの[チャートオプション]をポイントし、サブメニューから[全般]を選
択します。これは、[基準フィールド]フィールドが 1 つある折れ線チャート、立体ライザーチャート、およ
び立体等高線チャートだけでなく、集計が 2 つある棒チャート、数値軸チャート、立体等高線チャート、
レーダーチャート、株価チャートなどのチャートにも適用されます。
3 [OK]をクリックします。
280
2012-05-10
チャート
12.3.6.3 チャートの凡例テキストを変更する
1 [プレビュー]タブで、チャートの凡例に表示されているテキストをクリックして選択します。
ヒント
凡例全体を選択するのではなく、テキストを選択します。
2 凡例テキストを右クリックし、ショートカットメニューで[軸ラベルの編集]を選択します。
3 [ラベルのエイリアス]ダイアログボックスで、[表示するラベル]フィールドに表示するテキストを追加します。
4 [OK]をクリックします。
12.3.7 チャートのアンダーレイ機能の使用
チャートは、レポート内の決まったセクションに出力されるので、レポート全体の体裁をきれいに整えるには、ア
ンダーレイ機能を使用します。たとえば、チャートをそのデータの上に表示するより、データの横に表示する方
がわかりやすいレポートになります。
チャートをレポートデータでアンダーレイしたときのレポートは、次のようになります。
281
2012-05-10
マップ
マップ
13.1 マップの基礎
13.1.1 マップの概要
Crystal Reports を使用すると、本格的なマップをレポートに組み込むことができます。マップは、より効率的な
レポートデータの分析や傾向の把握に役立ちます。たとえば、地域別の売上を示すマップを作成したとします。
そこで次のような操作を行うことができます。
•
5 種類のマップの 1 つを使ってデータを分析する。
•
マップの表示形式と構成を調整し、より適切に傾向を把握する。
•
マップ上の諸地域をドリルダウンして、下層のデータを表示する。
13.1.2 マップレイアウト
マップエキスパートには、特定のデータに対応するレイアウトが 4 つあります。
マップは、次のレイアウトを使って作成できます。また、使用しているデータによっては、マップのレイアウトを別
のレイアウトに変更できます。
詳細
詳細レイアウトは、複数の値をマップにする場合や、レポートにグループまたは集計がない場合に使用します。
グループ
グループレイアウトは、とても簡単です。地域などの地理的なフィールドの値ごとに集計を表示します。
注
グループレイアウトを使ってマップを作成するには、レポートに少なくとも 1 つのグループおよびそのグループ
に対する 1 つの集計フィールドが必要です。
283
2012-05-10
マップ
クロスタブ
クロスタブオブジェクトをマップにするには、クロスタブレイアウトを使用します。クロスタブマップに、グループま
たは集計フィールドは必要ありません。
OLAP
OLAP グリッド上にマップを作成するには、OLAP レイアウトを使用します。グループフィールドまたは集計フィー
ルドは必要ありません。
注
指定したデータに関連づけられたマップがない場合、マップを配置するセクションが空のときにそのセクション
を非表示にする書式設定をしていなければ、空の領域が表示されます。
13.1.3 マップタイプ
マップエキスパートには、基本的な 5 つのマップタイプがあり、それぞれデータを異なった方法で分析できま
す。レポートに最適なマップを決定するには、分析するデータのタイプを考慮する必要があります。たとえば、
地理的区分(都市、州、国など)ごとに 1 つのデータ項目を表示する場合は、範囲マップ、ドット密度マップ、ま
たは等級表示マップを使用します。また、異なる地理的区分ごとに複数の値を表示する場合は、円チャートマッ
プまたは棒チャートマップを使用します。次のような種類のマップがあります。
範囲マップ
範囲マップでは、データを範囲で区切り、各範囲ごとに特定の色を割り当てます。次に、各地理的領域が属す
る範囲をマップ上で色分けして示します。たとえば、前年度売上を地域別に表示するマップを作成するとしま
す。売上の範囲が 0 から 100,000 の範囲にある場合、範囲を 20,000 ごとの等間隔で 5 つに分けてマップに
できます。また、各地域ごとの売上高に応じて、暗い赤から明るい赤までの赤色系で色分けできます。そこで、
このマップを使って最高の売上のある地域を示すことができます。
しかし、等間隔の場合は、たとえば、カルフォルニアだけが 98,000 などの例外的に高い売上の範囲にあり、そ
の他の地域は 0 から 20,000 の範囲に入ってしまうこともあります。このようなマップでは、データを的確に表現
できません。範囲を 0 ~ 5000、5001 ~ 10000、10001 ~ 15000、15001 ~ 20000、および 20000 以上で区切
ると、より利用価値のあるマップになります。範囲の定義は、慎重に行うことが重要です。
注
各範囲の終了値は次の範囲の開始値として使用され、実際には開始する範囲に含まれます。つまり上記の例
における範囲は、実際には 0 ~ 4999、5000~9999 などとなります。
範囲には、次の 4 つのオプションがあります。
•
等カウント
同じ数またはできる限り同じ数の地域が各範囲ごとに表示されるように範囲を割り当てます。言い換えると、
マップ上の各色が同じ数の地域に割り当てられるように範囲を割り当てます。各範囲に含まれる値の概数
は、等しいことも、等しくないこともあります。これは、それぞれの地域とその概数値に依存します。
•
等範囲
各範囲に含まれる値の概数が等しくなるように範囲を割り当てます。各範囲に含まれる地域の数は、等しい
ことも、等しくないこともあります。これは、それぞれの地域とその概数値に依存します。
284
2012-05-10
マップ
•
自然分割
各範囲において、概数値とその平均との差が最小になるようなアルゴリズムを使って範囲を割り当てます。
•
標準偏差
中央の範囲がデータの平均値になり、中央の範囲の 1 つ上および 1 つ下の範囲が、それぞれ平均より標
準偏差 1 つ分上および下となるように範囲を割り当てます。標準偏差は、分散の平方根です。このオプショ
ンでは、集合内の値がその集合の平均からどの程度離れているかを表します。
ドット密度マップ
ドット密度マップには、指定した項目ごとにドットが表示されます。たとえば、米国のマップを作成し、国内にお
ける各造船会社をそれぞれ 1 つのドットで示すとします。すると、テネシー州などにはドットが表示されません。
サウスカロライナなどのいくつかの沿岸の州では、ドットがまばらに分布するので、マップ上でドットを数えること
ができます。
ドット密度マップの目的は、特定の項目が分布するようすが全体的にわかるよう表示することです。ドット密度
マップは、米国の夜の衛星写真で全都市の明かりを見るのに似ています。このようなマップは、特に多数の項
目がある場合は、正確な情報の伝達には向きませんが、分布のようすを効果的に表すことができます。
等級表示マップ
等級表示マップは、範囲マップによく似ていますが、特定の項目のデータごとに 1 つの記号で示します。デ
フォルトでは、この記号は円形ですが、他の記号も選択できます。どの記号も、それが示す項目の値に応じた
サイズになります。サイズは 3 段階に分かれます。
等級表示マップは、範囲マップと同じ情報を扱うことができますが、地理的境界線が明確な州などの"領域"の
場合は、通常、範囲マップを使用し、はっきりした領域ではない都市などの"地点"に結びついたデータを表示
する場合は、等級表示マップを使用します。
たとえば、地域別のマップに、大きさの違う円を使って各営業所の売上を表示できます。円のサイズは、それが
表す営業所の売上(または売上範囲)に応じて変化します。このマップでは、70,000 ドルの売上がある営業所
を大きい円形で、20,000 ドルの売上がある営業所を小さい円形で表示します。つまり、等級表示マップを使用
すると、範囲マップよりも効果的に都市などの地点データを表示でき、項目の値の違いを色ではなく記号のサ
イズで区別して表示します。
円チャート
円チャートマップには、地理的領域ごとに 1 つの円チャートが表示されます。円チャートで、全体を構成する
データ項目を表示します。各円要素は、個々のデータ項目に対応し、全体に対するその項目の割合を表しま
す。たとえば、円チャートマップを作成し、地域別に熱燃料の種類を表示するとします。各円チャートの要素と
なる熱燃料の種類は、電気、ガス、薪、および太陽熱の 4 つです。各地域ごとの円チャートで、地域内におけ
る熱燃料の内訳を表示します。ワシントン州では、水力発電を利用しているため、電気を使用する割合が高く、
円チャートのその要素も大きくなります。アイダホ州では、天然ガスを使用する割合が高く、その要素も大きくな
ります。
このマップを使用すると、特定地域内で複数の項目を比較できます。また、円チャートのサイズをデータ値に応
じて表示するように指定すると、等級表示マップの記号と同様に、基のデータ値に応じて円チャートをさまざま
なサイズで表示できます。これにより、各地域間で合計を比較できます。
棒チャート
棒チャートマップの機能は、円チャートマップと似ていますが、データセットによってはこちらの方が便利です。
通常、合計が 100% を表さないデータ(全体を形成しないデータ、または互いに関連しないデータ)には、棒
285
2012-05-10
マップ
チャートマップを使用します。たとえば、棒チャートマップを作成し、地域別に熱燃料の使用量を表示するとし
ます。電気、ガス、太陽熱の 3 種類の燃料の使用量を分析することを選択しました。マップ上の棒チャートに
は、種類ごとに個別の棒があります。この例では、電気、ガス、太陽熱のデータ項目は、全体を構成していませ
ん。薪など、同じ地域で使用している他の燃料もありますが、このマップでは、3 つの項目だけに注目していま
す。このマップの目的は、各地域における各燃料の使用量を他の地域と比較することです。円チャートマップ
では、3 種類の燃料を地域内の全使用量に対する割合で示して、それらを比較できますが、各地域の合計は
同じ 100% なので、各地域の実際の数値を比較することはできません。
13.1.4 マップの配置場所
マップ配置場所を選択すると、必然的にマップに表示されるデータの量が決定されます。たとえば、レポート
ヘッダセクションにマップを配置した場合、そのマップにはレポート全体のデータが含まれます。グループヘッ
ダまたはグループフッタのセクションにマップを配置した場合、そのマップはグループ固有のデータを表示しま
す。また、マップをレポート全体に一度だけ出力するか、それともグループのデータごとに何度も出力するかも、
マップの配置場所によって決定されます。
注
サブレポートを持つレポートの場合は、サブレポートにもマップを配置できます。
13.1.5 マップのドリルダウン
マップはデータを表示するだけではなく、分析ツールとしても使用できます。[プレビュー]タブでマップのセク
ションの上にポインタを置くと、そのポインタがドリルダウンポインタに変わります。そこでダブルクリックすると、
そのセクションの基ととなる詳細情報が表示されます。
注
関連付けられたデータがない地域をドリルダウンした場合は、"次の詳細レコードがありません: (地域名)"のメッ
セージが表示されます。
13.2 マップの作成
マップ作成の手順は、マップするデータによって異なります。次の節では、マップレイアウトごとにマップの作成
手順を説明します。
詳細フィールドを使ったマップの作成(詳細レイアウト)
詳細レイアウトでは、特定の値に基づいてマップを作成できます。また、詳細レイアウトでは、レポートの詳細セ
クションに表示される値を使用して、集計フィールドを使用せずにマップを作成できます。
286
2012-05-10
マップ
詳細レイアウトに基づいてマップを作成するには、次の 2 つの項目を指定する必要があります。
•
条件(2 つまで)
•
値(1 つのみ)
条件
条件は、データをプロットするマップ上の場所を指定します。条件は文字列フィールドである必要があります。
マップを作成するには、フィールドに地理情報を設定します。たとえば、国別の前年度売上を表示するマップ
では、国のフィールドを条件として使用します。条件(国)が変更されるたびに、マップ上の該当地域が強調表
示されます。
値
値は、詳細レイアウトで使用されます。マップ上で地域が強調表示されるときにマッピングする情報を指定しま
す。たとえば、顧客別の昨年の売上を示すマップを作成する場合、昨年の売上のフィールドが値となります。
13.2.1 グループフィールドを使ったマップの作成(グループレイアウト)
グループをマップにするには、グループレイアウトを使用し、"地域"などの地理的フィールドごとに、"前年度売
上"などの集計を表示します。グループレイアウトを使ってマップを作成するには、レポートに少なくとも 1 つの
グループおよびそのグループに対する 1 つの集計フィールドが必要です。
13.2.1.1 グループをマップにする
1 [挿入] メニューの [マップ] をクリックします。
ヒント
[挿入ツール] ツールバーの [マップの挿入] ボタンをクリックする方法もあります。
[マップエキスパート] ダイアログボックスが表示されます。
2 まだ選択されていない場合は、[レイアウト]領域の[データ]タブで[グループ]をクリックします。
3 [配置]領域の[マップの配置]リストで、レポートにマップを表示する頻度を指定し、次に、[ヘッダ]または[フッ
タ]をクリックして、マップを配置する位置を指定します。
4 [データ]領域の[基準フィールド]リストで、マップの基にするグループフィールドをクリックします。次に[表示]
リストで、マップに表示する集計フィールドをクリックします。
5 [タイプ]タブをクリックします。
6 選択したデータの表示に最適なマップタイプ([範囲]、[ドット密度]、[等級表示])を選択します。詳細につい
ては、284 ページの 「マップタイプ」を参照してください。
7 [オプション]領域で、マップに書式オプションを指定します。
8 [テキスト] タブをクリックします。
287
2012-05-10
マップ
9 [マップタイトル]フィールドに、マップのタイトルを入力します。
10 [凡例]領域では、次のオプションの 1 つを選択できます。
• [すべての凡例]は、マップに詳細な凡例を表示します。
•
[コンパクト凡例]は、マップに要約した凡例を表示します。
•
[凡例なし]は、マップに凡例を表示しません。
11 [すべての凡例]を選択した場合は、[マップごとに作成]チェックボックスをオンにしてマップに基づいて
Crystal Reports で自動的に凡例タイトルを作成するか、[指定]チェックボックスをオンにして独自の凡例タ
イトルおよびサブタイトルを入力
12 [OK]をクリックします。
手順 3 での選択にしたがって、レポートのヘッダまたはフッタセクションにマップが自動的に配置されます。
13.2.2 クロスタブを使ったマップの作成(クロスタブレイアウト)
クロスタブレイアウトを使用すると、クロスタブフィールドをマップにできます。たとえば、米国の各地域で売れた
ある商品の総数を示すクロスタブを基にし、その製品の総売上に対する地域ごとの割合を表示するマップを作
成できます。
クロスタブマップを作成するには、あらかじめレポートにクロスタブが必要です。詳細については、313 ページの
「クロスタブオブジェクト」を参照してください。
13.2.2.1 クロスタブをマップにする
1 [挿入] メニューの [マップ] をクリックします。
ヒント
[挿入ツール] ツールバーの [マップの挿入] ボタンをクリックする方法もあります。
[マップエキスパート] ダイアログボックスが表示されます。
2
3
4
5
まだ選択されていない場合は、[レイアウト]領域の[データ]タブで[クロスタブ]をクリックします。
[配置]領域で、[ヘッダ]または[フッタ]をクリックし、マップを配置する位置を指定します。
[データ]領域の[地理フィールド]リストで、マップの地理的領域を指定するフィールドをクリックします。
必要に応じて、[細分基準]リストで、マップにする別のフィールドをクリックします。
Crystal Reports は、このフィールドを使用して、マップに表示される円チャートや棒チャートを細分化しま
す。
6 [マップ]リストで、マップに数値データを提供する集計フィールドをクリックします。
7 [タイプ]タブをクリックします。
288
2012-05-10
マップ
8 選択したデータの表示に最適なマップタイプを選択します。284 ページの 「マップタイプ」 を参照してくださ
い。
• 1 つのフィールドだけをマップにする場合は、[細分基準]から[なし]を選択して、[範囲]、[ドット密度]、[等
級表示]の各マップのいずれかを選択します。
•
9
10
11
12
2 つのフィールドをマップにする場合は、[細分基準]から追加フィールドを選択して、[円チャート]または
[棒チャート]のマップを選択します。
[オプション]領域で、マップに書式オプションを指定します。
[テキスト] タブをクリックします。
[マップタイトル]フィールドに、マップのタイトルを入力します。
[凡例]領域では、次のオプションの 1 つを選択できます。
• [すべての凡例]は、マップに詳細な凡例を表示します。
•
[コンパクト凡例]は、マップに要約した凡例を表示します。
•
[凡例なし]は、マップに凡例を表示しません。
13 [すべての凡例]を選択した場合は、[マップごとに作成]チェックボックスをオンにしてマップに基づいて
Crystal Reports で自動的に凡例タイトルを作成するか、[指定]チェックボックスをオンにして独自の凡例タ
イトルおよびサブタイトルを入力
14 [OK]をクリックします。
手順 3 での選択にしたがって、レポートのヘッダまたはフッタセクションにマップが自動的に配置されます。
13.2.3 OLAP キューブを使ったマップの作成(OLAP レイアウト)
OLAP レイアウトを使用すると、OLAP グリッドをマップにできます。OLAP マップを作成するには、あらかじめレ
ポートに OLAP グリッドが必要です。OLAP グリッドの詳細については、358 ページの 「OLAP レポートの作成」
を参照してください。
13.2.3.1 OLAP キューブをマップにする
1 [挿入] メニューの [マップ] をクリックします。
ヒント
[挿入ツール] ツールバーの [マップの挿入] ボタンをクリックする方法もあります。
[マップエキスパート] ダイアログボックスが表示されます。
2 まだ選択されていない場合は、[レイアウト]領域の[データ]タブで[OLAP]をクリックします。
3 [配置]領域で、[ヘッダ]または[フッタ]をクリックし、マップを配置する位置を指定します。
289
2012-05-10
マップ
4 [データ]領域で[基準フィールド]リストをクリックし、マップの基になるフィールドを選択します。
注
このフィールドには、国などの地理情報が含まれます。
5 必要に応じて、[細分基準]リストをクリックし、マップに取り込む第 2 の行または列を選択します。
注
行または列の第 2 のマップフィールドで細分化するように選択すると、ステップ 8 で使用できるマップタイ
プに影響します。
6 [タイプ]タブをクリックします。
7 選択したデータの表示に最適なマップタイプを選択します。第 2 のマップフィールドがない場合は、[範囲]、
[ドット密度]、または[等級表示]を選択できます。第 2 のマップフィールドがある場合は、[円チャート]または
[棒チャート]を選択できます。詳細については、284 ページの 「マップタイプ」を参照してください。
8 [オプション]領域で、マップに書式オプションを指定します。
9 [テキスト] タブをクリックします。
10 [マップタイトル]フィールドに、マップのタイトルを入力します。
11 [凡例]領域では、次のオプションの 1 つを選択できます。
• [すべての凡例]は、マップに詳細な凡例を表示します。
•
[コンパクト凡例]は、マップに要約した凡例を表示します。
•
[凡例なし]は、マップに凡例を表示しません。
注
[すべての凡例]を選択した場合は、[マップごとに作成]チェックボックスをオンにして、マップに基づいて
Crystal Reports で自動的に凡例タイトルを作成するか、[指定]チェックボックスをオンにして独自の凡例タ
イトルおよびサブタイトルを入力します。
12 [OK]をクリックします。
手順 3 での選択にしたがって、レポートのヘッダまたはフッタセクションにマップが自動的に配置されます。
13.3 マップの操作
マップを作成した後、タイトル、見出し、および凡例を追加したり、フォントのほか、マップタイプも変更できます。
Crystal Reports には、既存のマップで作業をするためのオプションが多数用意されています。
13.3.1 マップエキスパートによるマップの編集
290
2012-05-10
マップ
マップエキスパートを使ってマップを編集すると、マップをデザインしたエキスパートへ戻ることができます。表
示するマップタイプやマップの基となるデータなど、選択していた設定の多くを変更できます。[デザイン]または
[プレビュー]のどちらかのタブでマップエキスパートを開くと、簡単に変更を行うことができます。
13.3.1.1 マップエキスパートを使ってマップを編集する
1
2
3
4
マップを右クリックし、ショートカットメニューを表示します。
ショートカットメニューから[マップエキスパート]を選択します。
マップエキスパートで任意の変更を行います。
[OK]をクリックします。
13.3.2 マップのタイトルの変更
1
2
3
4
[プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
ショートカットメニューの[タイトル]をクリックします。
[マップタイトルの変更]ダイアログボックスに新しいタイトルを入力します。
[OK]をクリックして変更を保存します。
Crystal Reports は[プレビュー]タブに戻り、指定した設定は直ちに適用されます。
13.3.3 マップタイプの変更
マップタイプの変更およびマップのプロパティの設定を、[プレビュー]タブでマップを右クリックして表示されるメ
ニューから直接行うことができます。たとえば、ドット密度スタイルで範囲マップのデータがどのように表示される
かを確かめる場合、マップエキスパートに戻って書式を再設定しなくても、マップを再編成できます。
13.3.3.1 マップタイプを変更する
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[タイプ]をクリックします。
[マップのユーザ設定]ダイアログボックスが表示されます。
291
2012-05-10
マップ
3 [マップタイプ]リストで、新しいマップタイプを選択します。
4 [オプション]領域で、新しいマップに書式オプションを指定します。
選択したマップタイプによって有効なプロパティが異なります。
5 [OK]をクリックして変更を保存します。
Crystal Reports は[プレビュー]タブに戻り、指定した設定は直ちに適用されます。
13.3.4 マップレイヤの変更
Crystal Reports では、マップはさまざまなレイヤで構成されます。これらのレイヤを重ねて、より詳しいマップを
作成できます。たとえば、すべての国の大都市の名前を参照する場合は、都市名を含むレイヤを追加すること
ができます。このレイヤは、基本の世界マップの上に置かれて、詳細情報を提供します。
提供されているマップレイヤの中で参照したいレイヤを特定したり、選択したレイヤの順番を変更することがで
きます。
13.3.4.1 マップのレイヤを変更する
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[レイヤ]をクリックします。
[レイヤ管理]ダイアログボックスが表示されます。
3 [上]および[下]ボタンを使用し、[レイヤ]リストボックスのマップレイヤの順序を並べ替えます。
一部のマップには不透明なセクションが入っていることもあるため、他のレイヤの詳細が隠れてしまう可能性
があることに注意してください。たとえば、オーシャン(Ocean)レイヤの大部分は不透明です。このレイヤをレ
292
2012-05-10
マップ
イヤリストの上の部分に挿入すると、他の多くのレイヤが妨げられます。この場合、他のレイヤは表示されて
いないようにみえますが、単にオーシャンレイヤで隠されているだけです。
4 [プロパティ]領域で、各レイヤごとにプロパティを設定します。レイヤを表示するかどうか、選択できるかどう
か、自動的にラベルを付けるかどうかをそれぞれ指定できます。
[表示]オプションでは、レイヤを表示するかどうかを指定します。[ラベルの自動描画]オプションでは、定義
済みのラベル(世界の大都市の名前を表すラベルなど)を表示するかどうかを指定します。
5 必要に応じて、[表示]をクリックして[表示の設定]ダイアログボックスを開きます。
このダイアログボックスで、選択したレイヤのデフォルトの表示モードおよびズーム範囲(最小および最大の
拡大率)を設定します。[OK]をクリックして[レイヤ管理]ダイアログボックスに戻ります。
6 [OK]をクリックして変更を保存します。
Crystal Reports は[プレビュー]タブに戻り、指定した設定は直ちに適用されます。
13.3.5 データの不一致の解消
作業中のマップで使用されている地理的名称が、データベースで使用されている名称と異なっている場合が
あります。たとえば、ヨーロッパのマップでは、「United Kingdom」が使用され、データベースでは、省略形の
「U.K.」が使用されている場合があります。データの不一致を解消しないと、マップには、選択された地域のす
べての情報を表示できません。
13.3.5.1 データの不一致を解消する
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[不一致の解決]をクリックします。
[マップの不一致の解決]ダイアログボックスが表示されます。
3 [不一致の解決]タブをクリックします。データベースとマップの間で対応していない地理的名前の一覧が表
示されます。
4 [割り当てるフィールド名]の一覧で、解決する名前をクリックします。
5 見出しを割り当てるには、[フィールド名割り当て先のマップ名]リストでキーワードをクリックします。
6 一致した場合は、[一致]をクリックします。
新しい割り当てが、[不一致の解決]タブの[一致した結果]に表示されます。
7 データの不一致を解消できたら、[OK]をクリックします。
これで、マップには選択された地域のデータが表示されます。
293
2012-05-10
マップ
13.3.6 地図の変更
別の地図でデータ値を表示する場合は、[マップの不一致の解決]ダイアログボックスの[マップの変更]タブで
変更します。
13.3.6.1 地図を変更する
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[不一致の解決]をクリックします。
[マップの不一致の解決]ダイアログボックスが表示され、[マップの変更]タブに、使用している現在のマップ
名と変更できるマップのリストが表示されます。
3 [利用可能なマップ]リストで、使用する新しいマップをクリックします。
4 [OK]をクリックして変更を保存します。
Crystal Reports は[プレビュー]タブに戻り、指定した設定は直ちに適用されます。
13.3.7 マップの拡大または縮小
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[拡大]をクリックします。
3 表示するマップセクションの周囲を選択ポインタでドラッグします。
マップの拡大率が 1 段階上がります。
4
5
6
7
さらに拡大するには、もう一度、選択ポインタでドラッグします。
マップを縮小するには、マップを右クリックし、ショートカットメニューを表示します。
ショートカットメニューの[縮小]をクリックします。
マップをクリックします。
マップの拡大率が 1 段階下がります。
8 もう一度マップをクリックすると、さらに縮小します。
注
•
294
グループデータごとにマップがある場合は、指定したパンおよびズームの設定は、そのグループ固有の設
定になります。つまり、あるグループヘッダにあるマップを拡大すると、それは、そのグループヘッダに対し
2012-05-10
マップ
•
てだけの設定になります。その他のヘッダに変更はありません。このように、各マップごとに異なる設定を行
うことができます。
[ファイル]メニューの[データをレポートとともに保存]オプションが選択されている場合は、パンおよびズーム
の設定もレポートに保存されます。オプションが選択されていない場合は、デフォルトのマップの設定だけ
が保存されます。
13.3.8 マップのパン
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[パン]をクリックします。
3 目的のマップセクションまでパンポインタをドラッグします。
13.3.9 マップの中央揃え
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューから[マップの中央揃え]をクリックします。
13.3.10 マップナビゲータの表示または非表示
マップナビゲータでは、現在表示されているマップを縮小したマップが示されるため、パンする領域を選択でき
ます。パン機能を使用すると、すばやくドラッグできるため、必要に応じてマップのフォーカスを変更できます。
そして[マップの中央揃え]によってマップをすばやく表示領域の中央に戻すことができます。
295
2012-05-10
マップ
マップナビゲータは、表示または非表示にできます。
13.3.10.1 マップナビゲータを非表示にする
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[マップナビゲータ]をクリックします。
[プレビュー]タブでマップナビゲータが非表示になります。
13.3.10.2 マップナビゲータを表示する
1 [プレビュー]タブでマップを右クリックし、ショートカットメニューを表示します。
2 ショートカットメニューの[マップナビゲータ]をクリックします。
[プレビュー]タブにマップナビゲータが表示されます。
13.3.11 マップの書式設定
296
2012-05-10
マップ
13.3.11.1 マップの境界線の変更
1
2
3
4
5
[デザイン]タブまたは[プレビュー]タブでマップを右クリックして、ショートカットメニューを表示します。
ショートカットメニューの[マップの書式]をクリックします。
[書式エディタ]ダイアログボックスで[境界線]タブをクリックして、オプションを表示します。
線のスタイル、色、および背景色を変更したり、マップの境界線の影を追加または削除します。
[OK]をクリックして変更を保存します。
Crystal Reports はレポートに戻り、指定した変更内容は直ちに適用されます。
13.3.12 マップをアンダーレイにする
1 マップを作成してレポートヘッダセクションに配置します。
詳細については、286 ページの 「マップの作成」を参照してください。
2 [レポート]メニューで、[セクションエキスパート]を選択します。
ヒント
[エキスパートツール]ツールバーの[セクションエキスパート]ボタンをクリックする方法もあります。
セクションエキスパートが表示されます。
3 [セクション]領域で、[レポートヘッダ]をクリックし、[続くセクションをアンダーレイ]チェックボックスをオンにし
ます。
4 [OK]をクリックします。
Crystal Reports はレポートに戻ります。マップがセクションのアンダーレイとして表示されます。
5 必要に応じて、マップを移動またはサイズ変更します。
297
2012-05-10
OLE
OLE
14.1 OLE の概要
OLE (Object Linking and Embedding) を使用すると、他のアプリケーション (OLE サーバアプリケーション) か
らレポートにオブジェクト (OLE オブジェクト) を挿入でき、また、必要な場合は、Crystal Reports の中からそれ
らのアプリケーションを使ってオブジェクトを編集できます。
OLE を使用しない場合は、Crystal Reports を終了し、元のアプリケーションを開き、オブジェクトを変更し、ま
た Crystal Reports に戻り、初めに挿入したオブジェクトを削除し、そして新たに変更したオブジェクトを挿入す
る必要があります。
注
SAP BusinessObjects Business Intelligence プラットフォームまたは Report Application Server (RAS) で Crystal
レポートを使用する場合は、ソースファイルを、処理サーバ (Job Server、Page Server、RAS) を実行するときに
使用するネットワークアカウントで利用できるネットワークフォルダにコピーしてください。レポート作成者のアカ
ウントにも、ネットワークフォルダへのアクセス権があるか確認してください。リンクされた OLE オブジェクトを
Crystal Reports に挿入するには、UNC パスを使用します。
14.1.1 OLE の用語
Crystal Reports で OLE オブジェクトを操作する前に、いくつかの用語を確認しておくと役立ちます。
•
OLE
OLE は Object Linking and Embedding の略です。複合ドキュメントを作成する機能です。複合ドキュメント
とは、他のアプリケーションの要素を含むドキュメントのうち、元のアプリケーションを使用して編集できるド
キュメントです。
•
OLE オブジェクト
OLE オブジェクトは、簡単に言うと、他のアプリケーションで作成されたデータを表示し、また作成元のアプ
リケーションとの関係を保持するものです。ペイントで作成されたビットマップ、Excel のスプレッドシート、ま
た MS Graph のチャートは、それらを受け取るドキュメントに OLE オブジェクトとして挿入すると、すべて
OLE オブジェクトになります。OLE オブジェクトとして挿入しない場合、それらのオブジェクトは、作成元の
アプリケーションとの関係を保持しません。
299
2012-05-10
OLE
•
OLE コンテナアプリケーション
OLE コンテナアプリケーションは、ペイントや Excel などの他のアプリケーションで作成された OLE オブ
ジェクトを保持して処理するアプリケーションです。Crystal Reports はコンテナアプリケーションです。
•
コンテナドキュメント
コンテナドキュメントは、コンテナアプリケーションを使って作成され、1 つ以上の OLE オブジェクトを含む
ドキュメントです。
•
OLE サーバアプリケーション
OLE サーバアプリケーションでは、ドキュメントを OLE オブジェクトとして OLE コンテナドキュメントに挿入
できます。Microsoft Word や Excel は、OLE サーバと OLE コンテナのどちらでもあるアプリケーションの
例です。つまり、どちらのアプリケーションも、新しく OLE オブジェクトを作成したり、ほかで作成された OLE
オブジェクトを保持できます。
•
サーバドキュメント
サーバドキュメントは、サーバアプリケーションで作成され、元の OLE オブジェクトを保存するファイルです。
14.1.2 OLE オブジェクトのタイプ
•
静的 OLE オブジェクト
静的 OLE オブジェクトは、オブジェクトのピクチャで、表示および印刷はできますが、その場で編集するこ
とはできません。サーバアプリケーションへの接続はありません。静的オブジェクトには、静的ビットマップと
静的メタファイルの 2 種類があります。
•
埋め込みオブジェクト
埋め込みオブジェクトは、オブジェクトの表示やその内容を定義する情報を保持しています。サーバドキュ
メントにある元のオブジェクトへのリンクはありません。元のオブジェクトに影響を与えないで、コンテナアプ
リケーションのオブジェクトを編集する必要がある場合は、通常、埋め込みオブジェクトを使用します。
•
リンクオブジェクト
リンクオブジェクトは、データの表示および作成元のファイルへのリンクを保持しています。サーバドキュメン
トのデータがよく変更され、レポートを開けたときにレポート内のオブジェクトも更新されるようにする場合は、
通常、リンクオブジェクトを使用します。
14.1.3 OLE に関する一般的な留意点
OLE 機能を利用するとき、注意しておく点がいくつかあります。
300
2012-05-10
OLE
•
Report Designer では、埋め込み OLE オブジェクトをダブルクリックすると、オブジェクトが編集用に開かれ、
そのサーバアプリケーションのメニューおよびツールバーがプログラム内に表示されます。OLE サーバアプ
リケーションがこの動作をサポートしていない場合、オブジェクトは個別のウィンドウに表示されます。編集を
終了し、オブジェクトの外側をクリックすると、Report Designer のツールバーが再び表示されます。
•
リンク OLE オブジェクトをダブルクリックすると、オブジェクトのサーバアプリケーションが開かれ、オブジェ
クトが編集可能な状態で表示されます。リンクオブジェクトは、元のオブジェクトを操作するので、Crystal
Reports の中では編集できません。オブジェクトは、複数のドキュメントにリンクされ、元のオブジェクトをサー
バアプリケーションに表示することにより、一度に 1 人だけが編集できるように制限しています。
14.2 レポートへのOLE オブジェクトの挿入
レポートに OLE オブジェクトを挿入する方法は、何通りかあります。
•
[挿入]メニューの[OLE オブジェクト]を使用すると、既存のオブジェクトをインポートしたり、新規のオブジェ
クトを作成したりできます。この方法を使用すると、埋め込みオブジェクトまたはリンクオブジェクトを配置で
きます。
•
[編集]メニューの[形式を選択して貼り付け]では、OLE サーバアプリケーションからオブジェクトのコピーま
たは切り取りを行い、レポートに貼り付けることができます。オブジェクトを複数の形式で貼り付けることがで
きる場合は、使用する形式を決定する必要があります。たとえば、Microsoft Word ドキュメントからテキスト
を挿入する場合は、Word で編集可能な Microsoft Word ドキュメントのテキストとして貼り付けたり、テキス
トをピクチャで表した編集不可能なメタファイルとして貼り付けることができます。[形式を選択して貼り付け]
では、埋め込みオブジェクトまたはリンクオブジェクトを配置できます。
注
サイズの大きなファイルの一部など、選択した情報を挿入するときには、[コピー]と[形式を選択して貼り付け]に
よる編集が最適です。ファイル全体を挿入するには、[挿入]メニューの[OLE オブジェクト]を使用します。
14.2.1 OLE オブジェクトのコピーと貼り付け
次の手順では、OLE サーバアプリケーションとして、Microsoft Excel またはその他のスプレッドシートプログラ
ムをコンピュータで使用できることを前提としています。
1 Crystal Reports と Microsoft Excel の両方を開きます。
2 Crystal Reports で既存のレポートを開きます。
3 Microsoft Excel で、A1 から A10 までのセルに 1 から 10 まで数値を入力し、スプレッドシートを作成しま
す。
4 A1 ~ A10 のセルを選択して右クリックし、Excel のショートカットメニューから[コピー]を選択します。
5 Crystal Reports に移動して、[編集]メニューから[貼り付け]を選択します。
6 選択したセルを、レポートの[詳細]セクションに配置します。
301
2012-05-10
OLE
7 レポートのスプレッドシートオブジェクトを右クリックします。ショートカットメニューが表示されたら、OLE オブ
ジェクトと識別されていること、および下から 3 番目のコマンドが[Worksheet オブジェクト]と表示されている
ことを確認します。
8 スプレッドシートオブジェクトをダブルクリックします。
メニューとツールバーが、OLE サーバアプリケーションと Crystal Reports のメニューとツールバーを組み
合わせたものに変更されます。これで、インプレイスのオブジェクトを編集することができます。これは埋め
込みオブジェクトなので、オブジェクトを変更しても、元のオブジェクトにはまったく影響はありません。
9 終了したら、オブジェクトの外部をクリックします。
Crystal Reports のメニューとツールバーに戻ります。編集中に行った変更は保存されます。
14.3 OLE オブジェクトのレポートでの表示
OLE オブジェクトは、挿入時の選択に応じて、いくつかの異なる形式でレポートに表示されます。
•
オブジェクトをアイコンとして表示するように選択した場合は、アイコンがレポートに表示されます。オブジェ
クトを編集する場合は、アイコンをダブルクリックします。
•
オブジェクトを既存のファイルから作成した場合は、そのファイルのデータまたはアイコンがレポートに表示
されます。このデータを編集するには、オブジェクトまたはそのアイコンをダブルクリックします。
•
新しくオブジェクトを作成した場合は、選択した種類のオブジェクトに対するアプリケーションが開き、オブ
ジェクトのデザインを始めることができます。デザインが終了したら、アプリケーションを閉じて終了します。
オブジェクトまたはそのアイコンがレポートに表示されます。
14.4 レポート内の OLE オブジェクトの編集
14.4.1 インプレイス編集
インプレイス編集は、Crystal Reports などの OLE コンテナアプリケーション内から OLE オブジェクトのプロパ
ティを変更する機能です。コンテナアプリケーションのメニュー項目が変更されてサーバアプリケーションの編
集ツールになるので、簡単に変更を行うことができます。
OLE オブジェクトをレポートに配置すると、そのオブジェクトはレポートの一部になります。オブジェクトを編集
するには、オブジェクトをダブルクリックし、オブジェクトの作成元のアプリケーションまたは同様にインプレイス
編集の可能なアプリケーションの編集ツールを使用して、オブジェクトを変更します。OLE オブジェクトを編集
できるのは、対応するサーバアプリケーションがコンピュータにインストールされている場合だけです。サーバア
302
2012-05-10
OLE
プリケーションがインストールされていない場合でも、OLE オブジェクトを含むレポートの表示と印刷はできま
す。
14.4.2 動的な OLE のメニューコマンド
OLE オブジェクトを選択すると、[編集]メニューにサブメニューが含まれ、オブジェクトに関するコマンドが提供
されます。このサブメニューの名前は、OLE オブジェクトのタイプを示しています。サブメニューのコマンドもオ
ブジェクトのタイプに応じて変わります。
オブジェクトは、[文書オブジェクト]、[ビットマップイメージオブジェクト]、[図オブジェクト]、[ワークシートオブジェ
クト]などのように表記されています。
•
オブジェクトが埋め込まれている場合は、その埋め込みオブジェクトに有効なコマンドが[編集]メニューに表
示されます。
•
オブジェクトがリンクされている場合は、そのリンクオブジェクトに有効なコマンドが[編集]メニューに表示さ
れます。
コンテキストメニューのコマンドも、同様に変化します。
動的なコマンドにより、OLE オブジェクトの操作は、より管理しやすくなります。
14.4.3 [OLE オブジェクト]コマンドと[ピクチャ]コマンド
[挿入]メニューの[OLE オブジェクト]コマンドを使ってレポートにピクチャを配置した場合、ピクチャは Microsoft
ペイントなどの画像編集アプリケーションに関連付けられた埋め込みオブジェクトまたはリンクオブジェクトに変
換されます。
[挿入]メニューの[ピクチャ]コマンドを使用してレポートにピクチャを配置した場合、Report Designerは、ピクチャ
を静的オブジェクトに変換します。
静的オブジェクトは編集できません。その場でオブジェクトを編集するには、[編集]メニューの[変換]コマンドを
使用して、編集可能な種類のオブジェクトに変換しておく必要があります。
14.4.3.1 [OLE オブジェクト]コマンドと[ピクチャ]コマンド
[挿入]メニューの[OLE オブジェクト]コマンドを使ってレポートにピクチャを配置した場合、ピクチャは Microsoft
ペイントなどの画像編集アプリケーションに関連付けられた埋め込みオブジェクトまたはリンクオブジェクトに変
換されます。
303
2012-05-10
OLE
[挿入]メニューの[ピクチャ]コマンドを使用してレポートにピクチャを配置した場合、Report Designerは、ピクチャ
を静的オブジェクトに変換します。
静的オブジェクトは編集できません。その場でオブジェクトを編集するには、[編集]メニューの[変換]コマンドを
使用して、編集可能な種類のオブジェクトに変換しておく必要があります。
14.5 静的 OLE オブジェクトの操作
レポートにはさまざまな種類の静的 OLE オブジェクトを挿入することができます。Crystal Reports は、次のピ
クセルベースのイメージ形式をサポートします。
•
Windows ビットマップ(BMP)
•
TIFF
•
JPEG
•
PNG
また、Crystal Reportsは次のベクトルベースのイメージ形式もサポートします。
•
Windows メタファイル(WMF および拡張された新しいメタファイル形式の両方)
注
横幅のある静的 OLE オブジェクトは、複数のページにわたって表示できます。この機能により、レポートに横
方向で 2 ページ以上にわたってオブジェクトを表示できます。このような表示を行わない場合には、静的 OLE
オブジェクトのサイズを変更する必要があります。また、複数のページにわたるすべての静的 OLE オブジェク
トに対し、[横方向のページに繰り返し出力]オプションを使用しないことをお勧めします。
14.5.1 静的 OLE オブジェクトの挿入
1 静的 OLE オブジェクトを挿入するレポートを開くか、または作成します。
2 [挿入]メニューの[ピクチャ]をクリックします。
ヒント
[挿入ツール]ツールバーの[ピクチャ]ボタンをクリックする方法もあります。
[ファイルを開く]ダイアログボックスが表示されます。
3
4
5
6
304
アクセス権のあるディレクトリから画像(.bmp、.tiff、.jpg、.png、または .wmf)を選択します。
[開く]をクリックします。
オブジェクトフレームが表示されたら、レポートにピクチャを配置します。
ピクチャを右クリックします。ショートカットメニューが表示されたら、ピクチャが OLE オブジェクトと識別され
ていることを確認してください。
2012-05-10
OLE
オブジェクトをダブルクリックしても、何も起こりません。静的 OLE オブジェクトは編集できません。
14.5.2 静的 OLE オブジェクトの動的化
動的な静的 OLE オブジェクトは、ファイルパスまたは URL を使用して Crystal Reports でアクセスする画像で
す。通常、このオプションは、データベースに文字列フィールドとして格納されている画像へのパスがある場合
に使用します。すなわち、データベースには実際のオブジェクトは格納されていません。また、ネットワーク共有
に格納されている画像があり、これらのオブジェクトが場合に応じて変更されることがわかっている場合にも、こ
のオプションを使用できます。
これらの動的な静的 OLE オブジェクト(動的グラフィック)は、参照によって静的 OLE オブジェクトにリンクでき
る条件付書式設定式によって、Crystal Reportsに作成されます。
注
•
•
•
この機能は、レポートデータを最新表示すると有効になります。このため、Crystal Reports.の[最新表示]ボ
タンをクリックするまで、静的 OLE オブジェクトが変更されていることに気が付かないことがあります。
SAP BusinessObjects Business Intelligence プラットフォームに動的な静的 OLE オブジェクトを含むレポー
トをスケジュールするとき、作成されたインスタンスには、スケジュールした時点で Crystal レポートに存在し
ていたバージョンの静的 OLE オブジェクトが含まれます。SAP BusinessObjects Business Intelligence プ
ラットフォームは、各インスタンスについてオブジェクトを動的に更新するわけではありません。
動的な静的 OLE オブジェクトに対して絶対パスまたは相対パスを使用するレポートは、このリリースの SAP
BusinessObjects Business Intelligence プラットフォーム環境ではサポートされていません。動的な静的 OLE
オブジェクトを含むレポートを SAP BusinessObjects Business Intelligence プラットフォームに公開すること
を予定している場合には、OLE オブジェクトに URL リンクを使用することをお勧めします。
14.5.2.1 静的 OLE オブジェクトの動的オブジェクトへの変換
1 挿入した静的 OLE オブジェクトを右クリックして、ショートカットメニューから[グラフィックの書式]を選択しま
す。
注
通常どおり、レポートにオブジェクトを挿入することで、静的 OLE オブジェクトを動的にする処理を開始しま
す。このオブジェクトはデフォルトのオブジェクトになります。Crystal Reportsがオブジェクトへの動的参照を
検出できない場合、代わりにデフォルトのオブジェクトを使用します。
2
書式エディタで [ピクチャ] タブをクリックし、[保存場所] ラベルの隣の [条件式] ボタンをクリックしま
す。
3 [式ワークショップ]で、静的 OLE オブジェクトへのパスを作成します。
たとえば、パスがデータベースフィールドに保存されている場合は、そのフィールドを式に追加します。
4 [保存して閉じる]をクリックして、書式エディタに戻ります。
305
2012-05-10
OLE
5 [OK]をクリックしてレポートに戻ります。
6
[最新表示]をクリックして静的 OLE オブジェクトへの参照リンクを更新します。
14.5.3 静的 OLE オブジェクトのビットマップイメージオブジェクトへの変換
1 挿入した静的 OLE オブジェクトを右クリックして、ショートカットメニューから[ピクチャオブジェクトの変換]を
選択します。
[変換]ダイアログボックスが表示されます。
2 [オブジェクトの種類]リストボックスから[ペイントブラシの絵]を選択し、[OK]をクリックします。
これで、静的 OLE オブジェクトが変更可能な OLE オブジェクトに変換されます。
注
元のファイルがメタファイルの場合は、このオプションは表示されません。
3 変換したオブジェクトを右クリックします。
ショートカットメニューのコマンドは、[ビットマップイメージオブジェクト]になっています。
4 オブジェクトをダブルクリックします。
コンピュータにインストールされている Microsoft ペイントなどのグラフィックアプリケーションが開きます。
14.6 埋め込みオブジェクトとリンクオブジェクトの操作の違い
リンクオブジェクトおよび埋め込みオブジェクトは、それぞれ異なる特性を持っているので、使用する OLE 形式
を決定するときには、それぞれの機能を考慮することが重要です。
14.6.1 埋め込みオブジェクト
埋め込みオブジェクトは、Crystal Reports 内から、または既存のファイルを使って作成できます。既存のファイ
ルを使用する場合、オブジェクトはレポートにコピーされます。
埋め込みオブジェクトに変更を加えても、その変更は元のファイルに影響しません。変更は、レポート内の埋め
込みオブジェクトに対してのみ有効です。
306
2012-05-10
OLE
14.6.1.1 埋め込み OLE オブジェクトを挿入する
1 [デザイン]タブをクリックします。
2 [挿入]メニューの[OLE オブジェクト]をクリックします。
[オブジェクトの挿入]ダイアログボックスが開きます。
3 [ファイルから作成]オプションを選択します。
ダイアログボックスが変化し、オブジェクト名を入力するか、参照できるようになります。
4 [参照]をクリックしてビットマップファイル(BMP)を選択します。
5 [開く]をクリックして[オブジェクトの挿入]ダイアログボックスに戻ります。
6 [OK]をクリックし、レポートに戻ります。
オブジェクトフレームが表示されます。
7 レポートにオブジェクトを配置します。
8 このピクチャを右クリックし、ショートカットメニューで OLE オブジェクトと識別されていることを確認してくださ
い。
ショートカットメニューの下から 3 番目のコマンドに[ビットマップイメージオブジェクト]と表示されます。これ
が、埋め込み OLE オブジェクトです。
9 オブジェクトをダブルクリックします。
Crystal Reports のまま、メニューとツールが Microsoft ペイントなどコンピュータにインストールされているグ
ラフィックパッケージのメニューとツールに変化します。それらのツールを使用して、ビットマップをその場で
編集できます。OLE サーバアプリケーションのツールを使って作業しているだけで、元のオブジェクトを操
作してはいないことに注意してください。操作しているのはコピーであり、元のオブジェクトにまったく影響は
ありません。
14.6.2 リンクされたオブジェクト
リンクオブジェクトをレポートに挿入した場合、Windows は、データ自体ではなく、データのスナップショットを既
存のファイルからコピーします。オブジェクトのイメージが、その作成に使用されたデータへの参照と共にレポー
トに追加されます。本当のデータは、元のファイルに残ったままです。
オブジェクトをレポートから開くと、その作成に使用されたアプリケーションに元のファイルが開かれます。変更
を行うと、すべて元のファイルに直接反映されます。
オブジェクトのデータを他のアプリケーションでも操作できるようにして、最新のデータの変更が常に反映され
るようにするには、オブジェクトをレポートにリンクします。自動リンクは、レポートがロードされるたびにソースファ
307
2012-05-10
OLE
イルから最新表示されますが、手動リンクは要求したときだけ最新表示されます。最新表示の強制実行、解除、
再定義は、[リンクの編集]ダイアログボックスで行うことができます。
リンクオブジェクトに対して、[リンク]ダイアログボックスを使ってリンクを解除した場合、サーバドキュメントの元の
データとの関連はすべて失われます。コンテナアプリケーションのリンクオブジェクトは、単にそのオブジェクト
をコピーしたもの、およびオブジェクトとサーバドキュメント間のリンクから成ります。リンクを解除すると、コピーだ
けが表示され、元のデータおよびサーバアプリケーションの編集機能とは無関係になります。この場合、Crystal
Reports は、オブジェクトを静的オブジェクトに変換します。静的オブジェクトは、スタンドアロンオブジェクトで
す。OLE 機能を使って編集することも、編集可能な OLE オブジェクトに変換することもできません。
14.6.2.1 リンクビットマップイメージオブジェクト
1 [挿入]メニューの[OLE オブジェクト]をクリックします。
[オブジェクトの挿入]ダイアログボックスが開きます。
2 [ファイルから作成]オプションを選択します。
ダイアログボックスが変化し、オブジェクトの名前を入力するか、参照できるようになります。
3
4
5
6
[参照]をクリックしてビットマップファイル(BMP)を選択します。
[開く]をクリックして[オブジェクトの挿入]ダイアログボックスに戻ります。
[リンク]チェックボックスをオンにします。
[OK]をクリックし、レポートに戻ります。
オブジェクトフレームが表示されます。
7 レポートにこのオブジェクトを配置します。
8 このオブジェクトを右クリックし、ショートカットメニューで OLE オブジェクトと識別されていることを確認してく
ださい。
ショートカットメニューの下から 3 番目のコマンドに[リンクされたビットマップイメージオブジェクト]と表示され
ます。
9 オブジェクトをダブルクリックします。
Microsoft ペイントまたは使用しているグラフィックアプリケーションが開き、元のファイルを表示します。元の
ファイルを変更すると、レポートに表示されるオブジェクトにも同じ変更が反映されます。
14.7 Shockwave フラッシュ(SWF)オブジェクトの統合
Flash テクノロジーは、アニメーションを Web ページにする際によく使用される方法です。Flash ファイルはスタ
ンドアロンの Flash Player で表示でき、Web ページや Crystal Reports に挿入できます。
308
2012-05-10
OLE
Flash ファイルの拡張子は .swf です。SWF を変更するには、元のソースファイルと Flash 作成ツールが必要に
なります。
SWF または SWF へのリンクを Crystal Reports レポートの任意のセクションに埋め込むことができます。
オブジェクトを埋め込む場合、オブジェクトをレポートにバインドすることはできますが、バインドできるのは単一
の変数のみです。クロスタブ内の複数の値にバインドできますが、値は自動的に抽出できません。
複数の値にバインドするには、Xcelsius 2008 で作成された SWF オブジェクトを使用する必要があります。
オブジェクトにリンクすると、データの静的表現が表示されます。リンク先の SWF オブジェクトが更新された場
合、変更を表示するには、レポートを閉じてから再度開く必要があります。
Xcelsius 2008 の Crystal Reports データ接続を使用して作成された SWF には制限があります。それらの SWF
は、次のセクションにのみ追加できます。
•
•
•
•
レポートヘッダ
グループヘッダ
グループフッタ
レポートフッタ
注
• Flash オブジェクトの機能をテストするには、マシンに Flash Player 9 をインストールしておく必要がありま
す。
• Flash オブジェクトを含むレポートを表示するには、.NET Webform や Java DHTML ビューアなどの Flash
表示をサポートするビューアが必要です。
• エクスポートまたは印刷されるレポートには、SWF オブジェクトではなく、設定したデフォルトのイメージが表
示されます。
エクスポートされたレポートで SWF オブジェクトを表示できる形式は、PDF だけです。ただし、オブジェクト
にレポートへのデータバインディングが含まれる場合は、SWF ではなくデフォルトのイメージが表示されま
す。
14.7.1 Shockwave Flash(SWF)オブジェクトの印刷
Crystal Reports 2008 では、レポートを PDF にエクスポートしなくてもレポートの SWF オブジェクトを印刷でき
ます。[印刷の設定]ダイアログボックスの[現在のページの Flash オブジェクトを印刷する]オプションを使用す
ると、現在表示されている SWF オブジェクトを印刷できます。SWF オブジェクトは、設定されている状態で印
刷されます。
印刷オプションを使用して、データバインドを含む SWF オブジェクトとデータバインドを含まない SWF オブジェ
クトを印刷できます。
注
Flash 印刷オプションでは、現在表示されているページの SWF オブジェクトのみ印刷されます。レポート全体
を印刷すると、現在表示されていないレポートページの SWF オブジェクトは SWF フォールバックイメージとし
て印刷されます。
309
2012-05-10
OLE
14.7.1.1 Shockwave Flash(SWF)オブジェクトを印刷する
1 印刷する SWF オブジェクトが含まれているページを選択します。
2 SWF の設定を必要に応じて調整します。
3 [ファイル]メニューの[印刷]を選択します。
[印刷の設定]ダイアログボックスが開きます。
4 [現在のページの Flash オブジェクトを印刷する]が選択されていることを確認します。
5 [印刷] をクリックします。
14.7.2 レポートへの Xcelsius SWF オブジェクトの追加
Crystal Reports では、Schockwave フラッシュ(SWF)ファイルを作成することはできませんが、表示することはで
きます。
[デザイン]タブには、SWF のプレースホルダイメージが表示され、[プレビュー]タブには実際の SWF ファイル
が表示されます。
注
[デザイン]ビューでは、埋め込まれた動画や音声を含む SWF の挿入を選択した場合、音声を聞くことはでき
ますが、動画は再生できません。これにより、[プレビュー]ビューに切り替えたときにエコーが発生する場合が
あります。
この問題の解決方法についてシステム管理者に連絡するか、詳細について Business Objects サポートサイト
を確認してください。
14.7.2.1 レポートに Xcelsius SWF オブジェクトを追加する
1 [挿入]メニューで[Flash]をクリックします。
[Flash オブジェクトの挿入]ダイアログボックスが表示されます。
注
次のいずれかのオプションを Flash オブジェクトの代替の挿入方法として使用します。
•
[挿入ツール]ツールバーの[Flash オブジェクトの挿入]ボタンをクリックします。
• レポートを右クリックし、コンテキストメニューの[Flash オブジェクトの挿入]を選択します。
310
2012-05-10
OLE
2 Flash オブジェクトのフルパスを入力します。正確なパスが不明な場合は、[参照]をクリックして目的のファイ
ルを検索します。
3 [埋め込み]または[リンク]を選択し、[OK]をクリックします。
Flash オブジェクトがレポートに追加されます。
4 オブジェクトフレームを、Flash オブジェクトを配置する位置にドラッグします。
14.7.3 データバインディングによるレポートへの Xcelsius SWF オブジェクトの追加
データをレポートから SWF に送ることはできますが、SWF からレポートにデータを送ることはできません。SWF
のパラメータが抽出されてパラメータの名前とデータの形式(セル、行、テーブルなど)が設定されます。
SWF オブジェクト内でデータを Flash 変数にバインドするには次の 3 つの方法があります。
•
SWF 内のクロスタブにバインドする。
クロスタブエキスパートなどのユーザインタフェースを使用して、行、列、および集計フィールドを Xcelsius
変数にマップできます。
•
外部のクロスタブにバインドする。
データをレポート内のクロスタブにバインドできます。
•
単一値にバインドする。
レポート内の 1 つの詳細項目にデータをバインドできます。テーブルからフィールドを選択し、Flash デー
タエキスパートで既存の変数にバインドします。
注
繰り返しフィールドを選択すると、最初のインスタンスだけが送信されます。
14.7.3.1 データをクロスタブにバインドする
1 SWF オブジェクトを右クリックし、[Flash データエキスパート]を選択します。
Flash データバインディングエキスパートが表示されます。
2 データフィールドを選択して、クロスタブの行または列にドラッグします。
3 データフィールドのクロスタブへの追加が完了したら、[OK]をクリックします。
14.7.3.2 データを既存のクロスタブにバインドする
311
2012-05-10
OLE
1 SWF オブジェクトを右クリックし、[Flash データエキスパート]を選択します。
Flash データバインディングエキスパートが表示されます。
2 [既存のクロスタブを使用] チェックボックスをオンにします。
3 ドロップダウンリストから、使用するクロスタブを選択します。
4 [OK]をクリックします。
14.7.3.3 データを単一値にバインドする
1 SWF オブジェクトを右クリックし、[Flash データエキスパート]を選択します。
Flash データバインディングエキスパートが表示されます。
2 リストされている各変数について、フィールドを選択するか、値を入力します。
3 完了したら、[OK]をクリックします。
312
2012-05-10
クロスタブオブジェクト
クロスタブオブジェクト
15.1 クロスタブオブジェクトについて
クロスタブは、データを簡潔な表形式で集計して表示するためのオブジェクトです。データが簡潔な行と列の
形式で表示されます。形式が簡潔なため、データの比較や傾向の把握が簡単です。クロスタブには、次の 3
つの要素があります。
•
行
•
列
•
集計フィールド
•
クロスタブの行は、水平方向(左から右)に表示されます。上の例では、"Gloves"が 1 つの行です。
•
クロスタブの列は、垂直方向(上から下)に表示されます。上の例では、"USA"が 1 つの列です。
•
集計フィールドは、行と列が交差するところです。各集計フィールドの値は、その集計フィールドの列と行に
属するレコードを集計したもの(合計、カウントなど)です。上の例の場合、"Gloves"と"USA"が交差する集計
フィールドの値は 4(USA で販売された手袋の数)です。
クロスタブにはさらにいくつかの合計があります。
313
2012-05-10
クロスタブオブジェクト
•
各行の右端はその行の合計です。上の例では、右端の合計は、ある商品のすべての国での販売合計を表
します。"Gloves"の行の合計は 8(すべての国で販売された手袋の合計数量)です。
注
合計の列は、各行の左端に表示することができます。
•
各列の下端はその列の合計です。上の例では、下端の合計は、ある国で販売されたすべての商品の合計
を表します。"USA"の列の合計は 4(USA で販売された手袋、ベルト、靴の合計数量)です。
注
合計の行は、各列の上端に表示することができます。
•
合計列(商品の合計)と合計行(国の合計)が交差するところが総計です。この例では、合計列と合計行の交
差したフィールドの値は 12(すべての国で販売されたすべての商品の合計数量)です。
15.2 クロスタブの例
この例では、クロスタブオブジェクトを使用して、複雑なデータをわかりやすく表示する方法を示します。例で
は、4 つの地域における 5 種類の自転車用ロックの売上を分析します(地域別ロック販売)。わかりやすくするた
めに、レポートには重要な情報だけを含めます。
•
注文がきた地域
•
ロックの名前
•
注文の数量
初めに最も基本的なレポートでデータを表示します。
15.2.1 注文データのレポート - 並べ替え/グループ化なし
314
2012-05-10
クロスタブオブジェクト
このレポートには明細だけが表示されています。各行が個別の注文を表します。各行が個別の注文を表しま
す。それぞれの地域からは、いろいろな種類のロックに対する多くの注文があります。しかし、集計情報がまっ
たくないために、このようなレポートから有益な情報を得ることはできません。
次のステップとして、データをなんらかの方法でグループ化することを考えます。グループ化には、地域別にす
る方法、商品別にする方法があります。次の節では、この両方のオプションについて説明します。
15.2.2 注文データのレポート - 地域別
このレポートでは最初のレポートと同じデータを使用しますが、今度はデータを地域でグループ化します。すべ
ての注文は地域別にグループ化されますが、各地域グループにはいろいろな種類のロックが混在しています。
したがって、"数量"フィールドを集計して地域ごとの合計販売数量がわかっても、種類ごとの合計はわかりませ
ん。
315
2012-05-10
クロスタブオブジェクト
各地域のグループには、いろいろな種類のロックの注文が混在しています。
15.2.3 注文データのレポート - 商品別
このレポートでは、データを商品でグループ化します。各グループには、各商品のすべての注文が表示されま
す。これは、一見、有益なように見えますが、よく見ると、各商品グループにはいろいろな地域からの注文が混
在していることがわかります。
この情報はそれなりに役立ち、目的に一歩近づくものですが、本当に必要なものとはまだかけ離れています。
316
2012-05-10
クロスタブオブジェクト
各商品グループには、いろいろな地域の注文が混在しています。
15.2.4 注文データのレポート - 地域/商品別
次に考えられるのがこのレポートです。"地域別"レポートでは各地域グループにいろいろな商品が混在し、"商
品別"レポートでは各商品グループにいろいろな地域が混在しているので、次のステップとしては、この 2 つを
結合することを考えます。このレポートでは、データをまず地域でグループ化し、次に商品でグループ化しま
す。
317
2012-05-10
クロスタブオブジェクト
各グループには、ある地域のある商品に対する注文が含まれています。しかし、データは依然としてまとまりが
なく、これを分析するのは困難です。この情報は有益なものであり、もう少し手を加えれば、このようなレポート
からでも比較に必要な情報を得ることができます。しかし、クロスタブを使用するとさらに簡単になります。
15.2.5 クロスタブオブジェクトにした注文データ
クロスタブでは、必要なすべての情報が簡潔な形式で表示されます。レポートには、販売された商品と数量が
地域別に示されます。たとえば、ガーディアン XL"U"Lock は東京都で一番売れているとか、神奈川県ではど
の種類のロックよりも売れているといったことが簡単にわかります。
318
2012-05-10
クロスタブオブジェクト
このクロスタブは、次のように見ます。
•
商品名が行見出しとなります。
•
地域名が列見出しとなります。
•
行と列が交わるところには、特定の地域の特定の商品に対する注文がすべて集計されます。たとえば、神
奈川県で販売されたガーディアン Mini Lock の合計を表します。
•
各行の右端の合計は、ある商品のすべての地域での販売合計です。たとえば、愛知県、神奈川県、大阪
府、東京都、および福岡県で販売されたガーディアン ATB Lock の合計数量を表します。
•
各列の下端の合計は、ある地域から注文があった全種類のロックの合計です。たとえば、福岡県で販売さ
れた全種類のロックの合計数量を表します。
•
右下端の合計は、4 つのすべての地域で販売された 5 種類すべての商品の合計数量を示す総計です。
このレポートは簡潔なので、顧客の購入動向をすばやく比較できます。このレポートは、このような状況では間
違いなく価値の高いものです。
15.3 クロスタブオブジェクトの作成
この節では、新しいレポートでクロスタブオブジェクトを作成する手順と、既存のレポートにクロスタブオブジェク
トを追加する方法について説明します。
クロスタブオブジェクトを使用する場合は、次の点を考慮してください。
319
•
レポートフィールドは、クロスタブオブジェクト内またはその外にドラッグできます。
•
複数の行、列、および集計フィールドを使用できます。
•
出力時刻式を行または列として使用できます。
•
積算合計フィールドを集計フィールドとして使用できます。
2012-05-10
クロスタブオブジェクト
•
クロスタブ内の行にはグループ並べ替え(上位または下位 N)を含めることができます。
注
グループ並べ替えは列には適用できません。
•
レポートに必要なだけクロスタブオブジェクトを挿入できます。
•
クロスタブは、レポートヘッダ/フッタまたはグループヘッダ/フッタのどちらかに挿入できます。
•
クロスタブオブジェクトは、サブレポートに配置できます。これは、他のレポートからの結果を参照する場合
に便利です。
15.3.1 クロスタブレポートを作成する
•
開始ページで、[クロスタブレポート作成ウィザード]をクリックします。
クロスタブレポート作成ウィザードが表示されます。
15.3.2 既存のレポートにクロスタブを追加する
1 レポートを開きます。
この例では、Feature Examples フォルダにある Group By Intervals.rpt を使用します。
2 [デザイン]タブをクリックします。
3 [挿入]メニューの[クロスタブ]をクリックします。
ヒント
[挿入ツール]ツールバーの[クロスタブの挿入]ボタンをクリックする方法もあります。
クロスタブオブジェクトをレポートにドラッグすると、矢印ポインタと一緒にオブジェクトフレームが表示されま
す。
4 [グループヘッダ #1]の空の領域にオブジェクトフレームを配置し、クリックしてそこにドロップします。
空のクロスタブオブジェクトがレポートに表示されます。レポートまたはフィールドエクスプローラからクロスタ
ブにフィールドをドラッグできます。この例では、Customer テーブルの"顧客名"、"国"、および"前年度取
引高"を使用します。
5 フィールドエクスプローラで、"顧客名"を選択してクロスタブにドラッグします。
このフィールドが列の値になります。
6 フィールドをクロスタブオブジェクトの右上隅にドラッグします。
矢印が表示され、フィールドをドロップした場合に表示される場所を示します。
320
2012-05-10
クロスタブオブジェクト
フィールドをクリックしてドロップすると、選択した列の右に表示されます。
7 フィールドエクスプローラで、"国"を選択してクロスタブにドラッグします。
このフィールドが行の値になります。
8 クロスタブオブジェクトの左下隅にフィールドをドラッグし、クリックしてドロップします。
9 最後に、"前年度売上高"をクロスタブの[集計の挿入]セルにドラッグし、クリックしてドロップします。
ヒント
このフィールドをセルの上にドラッグすると、すべてのセルの色が変更されることに注意してください。
10 [プレビュー]タブをクリックすると、クロスタブが表示されます。
15.3.3 データソースの指定
1 [データ]画面上で、使用するデータソースを見つけます。
この例では、Xtreme サンプルデータベースを使用します。
データソースの選択方法については、72 ページの 「データソースの選択」を参照してください。
2 レポートに入れるフィールドを含むテーブルを選択します。
ヒント
Ctrlキーを押しながらクリックすると、複数のフィールドを 1 つずつ選択できます。Shiftキーを押しながらク
リックすると、連続したフィールドを選択できます。
このサンプルでは、Customer、Orders、Orders_Detail および Product の各テーブルを使用します。
3 右矢印(>)をクリックして、選択されたテーブルを追加します。
321
2012-05-10
クロスタブオブジェクト
4 [次へ]をクリックします。
[リンク]画面が表示されます。
15.3.4 リンクの修正
1 この例では、Customer テーブルが Orders および Orders_Detail テーブルを介して Product テーブルにリ
ンクされているかどうかを確認します。
Crystal Reports が自動的に設定したリンクを使用しない場合は、[リンクのクリア]をクリックし、リンクするフィー
ルドどうしを選択してリンクを変更します。
2 [次へ]をクリックします。
[クロスタブ]画面が表示されます。
15.3.5 チャートの追加
1 レポートに表示するチャートの種類を選択します。
• 棒チャート
•
折れ線チャート
•
円チャート
注
チャートを追加しない場合は、[チャートなし]を選択したままで322 ページの 「レコードの選択」に進みます。
2 レポートに合わせてデフォルトのチャート情報を変更します。
グループチャートの作成方法の詳細については、272 ページの 「集計および小計フィールドを使ったチャー
トの作成(グループレイアウト )」を参照してください。
3 [次へ]をクリックします。
[レコードの選択]画面が表示されます。
15.3.6 レコードの選択
この画面を使用して選択条件を適用します。これにより、レポートに返される結果を目的のレコードに限定でき
ます。
322
2012-05-10
クロスタブオブジェクト
1 選択を適用するフィールドを選択します。
この例では、"地域"を選択します。
2 [>]ボタンをクリックします。
[フィルタフィールド]領域にこのフィールドが追加され、その下にフィルタの種類のリストが表示されます。
3 フィルタの種類のリストからフィルタ方法を選択します。
この例の場合は、フィルタ方法として[のいずれかの値]を選択します。
4 表示されたフィルタ値のリストで、フィルタ処理する値を 1 つ以上選択し、[追加]をクリックします。
この例の場合は、ドロップダウンリストから AZ、CA、および OR を選択します。
レポートに、アリゾナ、カリフォルニア、およびオレゴン州のアクセサリと自転車の売上に関する内訳と集計
が表示されます。
5 [次へ]をクリックします。
[グリッドのスタイル]画面が表示されます。
15.3.7 クロスタブの構造の定義
[利用可能なフィールド]のフィールドを[行]、[列]、および[集計フィールド]の各領域に追加します。
1 Customer テーブルから、"地域"を選択し、[行]領域の横の右矢印(>)をクリックします。
"地域"フィールドが[行]領域に追加されます。
ヒント
フィールドを選択して、[列]、[行]、または[集計フィールド]領域にドラッグすることにより、異なる[クロスタブ]
領域にフィールドを追加することもできます。
2 Product テーブルから、"商品分類"を選択し、[列]領域の横の右矢印(>)をクリックします。
"商品分類"フィールドが[列]領域に追加されます。
3 Orders テーブルから、"受注額"を選択し、[集計フィールド]領域の横の右矢印(>)をクリックします。
"受注額"フィールドが[集計フィールド]領域に追加されます。
4 "受注額"に実行する集計操作を、[集計フィールド]領域の下のリストから選択します。
5 [次へ]をクリックします。
[チャート]画面が表示されます。
323
2012-05-10
クロスタブオブジェクト
15.3.8 定義済みのスタイルを適用したレポートの作成
1 スタイルを選択します。
このサンプルでは、[オリジナル]を選択します。
2 [完了]をクリックします。
[プレビュー]タブにクロスタブレポートが表示されます。
3 [レポートヘッダ]にクロスタブを表示しない場合は、[デザイン]タブをクリックし、クロスタブを[レポートフッタ]
に移動します。
注
•
クロスタブは、グループヘッダまたはグループフッタにも配置できます。
•
レポートフッタにクロスタブを配置する場合は、レポートフッタの灰色領域を右クリックし、[解除(ドリルダ
ウン不可)]を選択して、フッタの非表示を解除します。
4 [プレビュー]タブをクリックしてレポートを表示します。
15.3.9 クロスタブエキスパートを使用した既存のレポートへのクロスタブの追加
15.3.9.1 クロスタブエキスパートを使用して既存のレポートにクロスタブを追加する
この例では、既存のレポートに北米の売上を他の国々と比較するクロスタブを追加します。ただし、フィールド
をドラッグすることでレポートを定義する代わりに、クロスタブエキスパートを使用します。
1 レポートを開きます。
この例では、Feature Examples フォルダにある Group By Intervals.rpt を使用します。
2 [デザイン]タブをクリックします。
3 [挿入]メニューの[クロスタブ]をクリックします。
ヒント
[挿入ツール]ツールバーの[クロスタブの挿入]ボタンをクリックする方法もあります。
クロスタブオブジェクトをレポートにドラッグすると、矢印ポインタと一緒にオブジェクトフレームが表示されま
す。
324
2012-05-10
クロスタブオブジェクト
4 [レポートヘッダ]の空の領域にオブジェクトフレームを配置し、クリックしてそこにドロップします。
空のクロスタブオブジェクトがレポートに表示されます。
5 クロスタブを右クリックして、ショートカットメニューから[クロスタブエキスパート]を選択します。
クロスタブエキスパートが表示されます。このダイアログボックスは、[クロスタブ]、[スタイル]、および[スタイ
ルのカスタマイズ]の 3 つのタブで構成されます。
15.3.9.2 クロスタブの構造の定義
[行]、[列]、および[集計フィールド]の各領域にフィールドを追加します。
1 [利用可能なフィールド]リストから、"国"を選択し、[行]領域の横の右矢印(>)をクリックします。
"国"フィールドが[行]領域に追加されます。
ヒント
異なる[クロスタブ]領域にフィールドを追加することもできます。それには、その領域を選択して、[列]、[行]、
または[集計フィールド]領域にドラッグします。
2 [利用可能なフィールド]リストから、"前年度取引高"を選択し、[集計フィールド]領域の横の右矢印(>)をク
リックします。
"前年度取引高"フィールドが[集計フィールド]領域に追加されます。
3 追加の要素を適用します。
• [行]領域で"国"をクリックします。
325
•
[グループオプション]をクリックします。
•
ドロップダウンリストから[指定順序]を選択します。
•
指定グループの名前として「北アメリカ」と入力します。
•
[新規作成]ボタンをクリックします。
•
ドロップダウンリストから[のいずれかの値]をクリックします。
•
ドロップダウンリストから Canada、Mexico、および USA を選択します。
2012-05-10
クロスタブオブジェクト
•
[OK]をクリックし、[指定グループの定義]ダイアログボックスを閉じます。
•
[OK]をクリックし、[クロスタブのグループオプション]ダイアログボックスを閉じます。
15.3.9.3 定義済みのスタイルの選択
1 [スタイル]タブをクリックします。
2 スタイルを選択します。
15.3.9.4 カスタムスタイルの適用
1 [スタイルのカスタマイズ]タブをクリックします。
2 必要に応じてスタイルをカスタマイズします。
15.3.9.5 クロスタブの完成
1 [OK]をクリックします。
2 [レポート]メニューの[レポートデータの最新表示]をクリックします。
更新されたレポートが表示されます。
15.4 クロスタブの使用
ここでは、レポートに追加したクロスタブを使用する方法について説明します。
15.4.1 百分率による値の表示
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
326
2012-05-10
クロスタブオブジェクト
クロスタブエキスパートが表示されます。
2 [クロスタブ]タブで、集計フィールドを選択し、[集計操作の変更]をクリックします。
3 [集計の編集]ダイアログボックスで、[パーセントで表示]オプションを選択し、パーセントの基準にする集計
フィールドを選択します。
4 パーセント値を水平(行)または垂直(列)のいずれの方向で計算するかに応じて、[行]または[列]を選択しま
す。
5 [OK]をクリックして[集計の編集]ダイアログボックスを閉じます。
6 [OK]をクリックしてクロスタブに戻ります。
集計フィールドの値がクロスタブに対するパーセントとして表示されます。
ヒント
クロスタブで集計フィールドを選択してショートカットメニューから[集計の編集]を選択することで、[集計の編集]
ダイアログボックスに直接アクセスできます。
15.4.2 大きい集計フィールドの短縮
クロスタブの集計フィールドの値は非常に大きい場合が多いので、Crystal Reports では、このような値を短縮
することができます。
注
この手順を完了するには、作業するレポートに cdFormatCurrencyUsingScaling というカスタム関数を含める必
要があります。この関数は、サンプルレポート Custom Functions.rpt に含まれています。
1 レポートにクロスタブオブジェクトが存在しない場合は、レポートヘッダにクロスタブオブジェクトを 1 つ挿入
します。
行では {Customer.国} を使用し、集計フィールドでは {Orders.受注額} を使用します。
2 短縮する集計フィールドを右クリックし、ショートカットメニューから[フィールドの書式]を選択します。
書式エディタが表示されます。
3 [共通]タブで、[文字列の表示]の横にある[条件付き書式設定]ボタンをクリックします。
4 書式設定式エディタの関数ツリーで、[カスタム関数]フォルダから cdFormatCurrencyUsingScaling を選択
します。
5 カスタム関数の引数を次のとおり入力します。
cdFormatCurrencyUsingScaling (CurrentFieldValue,1,"K","M")
327
•
1 番目の引数として、関数ツリーの[書式設定関数]フォルダから CurrentFieldValue を選択します。この
引数は、集計する実際の値を定義します。
•
2 番目の引数として、クロスタブに表示する小数点以下の桁数を入力します。
•
3 番目と 4 番目の引数として、千と百万の桁区切り記号として表示する文字列を(引用符で囲んで)入力
します。
2012-05-10
クロスタブオブジェクト
6
[確認]をクリックして、式にエラーがないか確認します。
7 式チェッカーによって構文エラーが検出された場合は、式を修正します。
8 式の構文が正しい場合は、式ワークショップツールバーの [保存して閉じる] をクリックします。
[書式エディタ]ダイアログボックスに戻ります。
9 [OK]をクリックしてクロスタブに戻ります。
集計フィールドの値が定義どおりに短縮して表示されます。
注
集計フィールドを短縮するには、独自にカスタム関数を作成するか、サンプルをコピーして変更します。一般
に、文字列の表示形式を設定するために、常にカスタム関数を使用する必要はありません。文字列の表示形
式を設定する式は、戻り値が文字列であるならば、任意に作成できます。
15.4.3 行/列ラベルのカスタマイズ
デフォルトでは、行と列のラベルは、クロスタブの基になっているデータから派生します。しかし、行と列のラベ
ルはカスタマイズできます。
1 ラベルをカスタマイズする行または列を右クリックし、ショートカットメニューから[フィールドの書式]を選択し
ます。
書式エディタが表示されます。
2 [共通]タブで、[文字列の表示]の横にある[条件付き書式設定]ボタンをクリックします。
3 書式設定式エディタで、使用するカスタム名を記述する式テキスト、およびこの名前を適用する条件を作成
します。
その方法については、253 ページの 「条件付き書式設定」を参照してください。
4
[確認]をクリックして、式にエラーがないか確認します。
5 式チェッカーによって構文エラーが検出された場合は、式を修正します。
6 式の構文が正しい場合は、式ワークショップツールバーの [保存して閉じる] をクリックします。
[書式エディタ]ダイアログボックスに戻ります。
7 [OK]をクリックしてクロスタブに戻ります。
設定した条件を満たす場合は、カスタマイズした行と列の名前が表示されます。
15.4.4 クロスタブでの積算合計の使用
328
2012-05-10
クロスタブオブジェクト
積算合計フィールドは、クロスタブオブジェクト内の集計フィールドとして役立ちます。319 ページの 「クロスタブ
オブジェクトの作成」で説明したようにクロスタブを作成し、積算合計フィールドを集計フィールドとして選択して
ください。
注
積算合計フィールドは、クロスタブの列または行としては使用できません。
クロスタブの列を下方向に合計する積算合計が必要な場合は、クロスタブ内のレコードを列で並べ替えてから
行で並べ替える必要があります。
15.4.4.1 列を下方向に合計する
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
2 クロスタブエキスパートの[クロスタブ]タブで、[集計フィールド]領域に積算合計フィールドが追加されたこと
を確認します。
3 [OK]をクリックして、レポート内のクロスタブに戻ります。
4
[レコード並べ替えエキスパート]をクリックし、クロスタブエキスパートで[列]として指定したフィールドで
クロスタブを並べ替えます。
5 クロスタブエキスパートで[行]として指定したフィールド上で 2 番目の並べ替えを作成します。
クロスタブの列を下方向に合計する積算合計が必要な場合は、クロスタブ内のレコードを列で並べ替えてから
行で並べ替える必要があります。
15.4.4.2 行を横方向に合計する
1 上で説明した手順のステップ 1 ~ 3 を繰り返します。
2
[レコード並べ替えエキスパート]をクリックし、クロスタブエキスパートで[行]として指定したフィールドで
クロスタブを並べ替えます。
3 クロスタブエキスパートで[列]として指定したフィールド上で 2 番目の並べ替えを作成します。
積算合計フィールドに基づいたグループ並べ替え(上位または下位 N の並べ替え)を追加する場合、クロスタ
ブの列または行の合計エリアに表示されたように積算合計値上で並べ替えが実行されます。集計フィールドの
合計に基づいて行われるのではありません。さらに、この場合は、積算合計の結果は、セルデータではなく合
計データでのみ正しく表示されます。
15.4.5 複数ページにわたるクロスタブの出力
329
2012-05-10
クロスタブオブジェクト
クロスタブの縦や横が指定のページサイズより大きい場合は、クロスタブ全体が自動的に複数ページにわたっ
て出力されます。[プレビュー]タブには、ページの区切りを示す線が表示されます。読みやすくするために、列
見出しが後続のページにも繰り返し表示されます。[列をまとめて表示]オプションを使用すると、行見出しも繰
り返し表示できます。
15.4.5.1 行ラベルを繰り返し表示する
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
クロスタブエキスパートが表示されます。
2 [スタイルのカスタマイズ]タブをクリックします。
3 必要に応じて、[行ラベルの繰り返し]チェックボックスをオンにします。
Crystal Reports では、テキストオブジェクト、フィールドオブジェクト、OLE オブジェクト、チャート、マップ、線、
ボックスなど、横方向に拡張できないレポートオブジェクトを、クロスタブが作成する追加の横方向のページで
繰り返すことができます。詳細については、249 ページの 「横方向のページへのレポートオブジェクトの繰り返
し出力」を参照してください。
15.5 クロスタブの書式設定
Crystal Reports の強力な書式設定機能を使用すると、クロスタブの書式を設定できます。次の節では、これら
の主要な手順について説明します。
背景色、境界線、フォントなどの書式設定機能を使用すると、重要なデータを強調し、見栄えがよく、わかりや
すいクロスタブを作成できます。詳細については、237 ページの 「書式設定のプロパティ」を参照してください。
強調表示エキスパートを使用して、条件付き書式設定をクロスタブセルに適用することもできます。強調表示エ
キスパートにアクセスするには、書式設定するセルを右クリックし、ショートカットメニューの[強調表示エキスパー
ト]をクリックします。詳細については、258 ページの 「強調表示エキスパートの使用」を参照してください。
15.5.1 クロスタブセルの幅、高さ、および配置の変更
1 クロスタブ内のセルをクリックして、サイズ変更ハンドルを表示します。
2 サイズ変更ハンドルの 1 つをクリックおよびドラッグして、セルの幅や高さを拡張します。
3 [書式設定]ツールバーの配置オプションの 1 つをクリックして、セル内のデータの配置を変更します。
左揃え、右揃え、中央揃え、および行末揃えから選択できます。
330
2012-05-10
クロスタブオブジェクト
注
1 つのセルを変更すると、同様のセルがすべて影響を受けます。たとえば、1 つの集計フィールドセルの幅を
変更すると、同時にその他すべての集計フィールドセルが変更されます。
15.5.2 行や列全体の背景色の書式設定
背景色を使用して、クロスタブ内の行または列を強調表示します。
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
クロスタブエキスパートが表示されます。
2 [スタイルのカスタマイズ]タブをクリックします。
3 背景色を指定する行または列をそれぞれ行領域や列領域でクリックし、[背景色]ドロップダウンリストから色
を選択します。
4 [OK]をクリックしてクロスタブに戻ります。
行と列が指定どおりに書式設定されます。
15.5.3 フィールドの個別での書式設定
1 書式設定するフィールドを右クリックし、ショートカットメニューから[フィールドの書式]を選択します。
書式エディタが表示されます。
2 書式エディタで、フォント、背景色、境界線、数値書式、通貨記号、および出力属性の選択を行います。
3 [OK]をクリックしてクロスタブに戻ります。
フィールドが指定どおりに書式設定されます。
15.5.4 複数のフィールドの一括書式設定
1 Shiftキーを押しながらクリックして必要なフィールドを選択します。
2 選択したいずれかのフィールドを右クリックし、ショートカットメニューのオブジェクトの書式設定を選択しま
す。
書式エディタが表示されます。
3 書式エディタで、フォント、背景色、境界線、数値書式、通貨記号、および出力属性の選択を行います。
331
2012-05-10
クロスタブオブジェクト
4 [OK]をクリックしてクロスタブに戻ります。
複数のフィールドが指定どおりに書式設定されます。
15.5.5 クロスタブデータの非表示
この節では、レポートのデータを非表示にする手順を説明します。次の要素を非表示にできます。
•
空の行および列
•
行および列の総計
•
小計およびそのラベル
15.5.5.1 空白行および空白列を非表示にする
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
クロスタブエキスパートが表示されます。
2 [スタイルのカスタマイズ]タブをクリックします。
3 [空行を非表示]または[空列を非表示]チェックボックスをオンにします。
4 [OK]をクリックします。
これで、レポートを出力したときに、空の行や列は表示されません。
15.5.5.2 行および列の総計を非表示にする
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
クロスタブエキスパートが表示されます。
2 [スタイルのカスタマイズ]タブをクリックします。
3 [行総計を非表示]または[列総計を非表示]チェックボックスをオンにします。
4 [OK]をクリックします。
332
2012-05-10
クロスタブオブジェクト
15.5.5.3 小計およびそのラベルを非表示にする
クロスタブに 3 つ以上のグループがある場合は、そのうちの 1 つの小計およびラベルを非表示にできます。
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
クロスタブエキスパートが表示されます。
2 [スタイルのカスタマイズ]タブをクリックします。
3 非表示にする小計のあるフィールドをクリックします。
[小計を非表示]および[ラベルを非表示]チェックボックスが有効になります。
4 [グループオプション]領域の[小計を非表示]チェックボックスをオンにします。
5 [ラベルを非表示]チェックボックスをクリックして、その小計に関連付けられているラベルを非表示にします。
6 [OK]をクリックします。
15.5.6 集計フィールドの水平方向表示
クロスタブに複数の集計フィールドがある場合、その値を(デフォルトの)垂直方向ではなく水平方向に表示す
ることができます。
1 クロスタブの左上隅にある空白の部分を右クリックし、ショートカットメニューから[クロスタブエキスパート]を
選択します。
クロスタブエキスパートが表示されます。
2 [スタイルのカスタマイズ]タブをクリックします。
3 [集計フィールド]領域で、[横]を選択します。
4 集計フィールドのラベルを表示する場合は、[ラベルを表示]チェックボックスをクリックします。
集計フィールドについて選択した方向でラベルが表示されます。
5 [OK]をクリックします。
15.6 高度なクロスタブ機能
クロスタブにさらに多くの情報を追加する方法がいくつかあります。ここでは、高度なクロスタブ機能をいくつか
紹介します。
333
2012-05-10
クロスタブオブジェクト
関連項目
• 334 ページの「 計算メンバー」
• 337 ページの「 埋め込まれた集計」
15.6.1 計算メンバー
計算メンバーを挿入して、クロスタブに行または列を追加できます。これらの行または列は、カスタム計算を含
めたり(2 つの地域の売上の差など)、書式設定の目的で使用する(3 行おきに空白行を挿入して読みやすくす
る場合など)ことができます。
独自の計算式を自由に作成することができます。また、それらの計算式をクロスタブに 1 回だけ表示するか、
繰り返し表示するか選択することができます。
関連項目
• 335 ページの「計算式」
• 336 ページの「ヘッダ式」
• 337 ページの「挿入式」
• 336 ページの「 値式」
15.6.1.1 クロスタブに計算メンバーを追加する
1 クロスタブで、計算メンバーの最初の値として使用する行ヘッダまたは列ヘッダを右クリックします。
たとえば、"売上"と"売上戻し高"の差を計算するための計算メンバーを作成する場合、必要な式は"売上"
- "売上戻し高"となります。この例では、"売上"ヘッダを右クリックします。
2 ショートカットメニューの[計算メンバー]にカーソルを合わせて、最初の値として選択した値を選択します。
この例では、"売上"を最初の値として選択します。
3 クロスタブで、計算メンバーの 2 つ目の値として使用する行ヘッダまたは列ヘッダを右クリックします。
この例では、"売上戻し高"を 2 つ目の値として選択します。
4 ショートカットメニューの[計算メンバー]にカーソルを合わせ、目的の計算を選択します。
この例では、""売上"と"売上戻し高"の差"を必要な計算として選択します。
選択した計算の結果を表示する行または列がクロスタブに表示されます。
334
2012-05-10
クロスタブオブジェクト
15.6.1.2 空の行または列をクロスタブに追加する
1 クロスタブで、空の行または列を挿入する場所の直前のヘッダを右クリックします。
2 ショートカットメニューの[計算メンバー]にカーソルを合わせ、行をクリックした場合は[行の挿入]、列をクリッ
クした場合は[列の挿入]をクリックします。
クロスタブに空の行または列が表示されます。
15.6.1.3 計算メンバーの処理順序を変更する
1 クロスタブの左上隅を右クリックします。
2 ショートカットメニューの[高度な計算]にカーソルを合わせ、[計算メンバー]をクリックします。
クロスタブ計算メンバーエキスパートが表示されます。
3 [計算メンバー]ボックスで、矢印を使用して計算メンバーの処理順序を変更します。
4 [OK]をクリックして変更を保存し、レポートに戻ります。
クロスタブでは、計算メンバーの値が再計算されます。
注
計算メンバーの処理順序を変更してもデータベースは最新表示されません。
15.6.1.4 計算式
計算式は、Crystal Reports で計算メンバーのセル値を決定するために使用する数式です。定義済みのいくつ
かの式の中から選択するか、式ワークショップで独自の式を作成することができます。
定義済みの式は次のとおりです。
• 合計
• 差
• 積
• 商
Crystal Reports には、ユーザー独自の式を作成する際に役立つさまざまな関数が用意されています。
15.6.1.4.1 計算式を編集する
1 編集する計算メンバーで、ヘッダ以外の任意のセルを右クリックします。
335
2012-05-10
クロスタブオブジェクト
2 ショートカットメニューで [計算メンバー] にカーソルを合わせ、[計算式の編集] をクリックします。
式ワークショップが表示されます。
3 式ワークショップに、目的の計算式を入力します。
4 [保存して閉じる]をクリックして、レポートに戻ります。
計算メンバーに、新しい計算式の結果が表示されます。
15.6.1.5 ヘッダ式
ヘッダ式によって、計算メンバーの表示可能な行ヘッダまたは列ヘッダを決定します。
15.6.1.5.1 ヘッダ式を編集する
1 編集する計算メンバーのヘッダを右クリックします。
2 ショートカットメニューで [計算メンバー] にカーソルを合わせ、[ヘッダ式の編集] をクリックします。
式ワークショップが表示されます。
3 式ワークショップで、目的のヘッダ名を引用符で囲んで入力します。
注
ヘッダは式で制御することもできます。ヘッダ式は文字列を返す必要があります。
4 [保存して閉じる]をクリックして、レポートに戻ります。
計算メンバーのヘッダに、ヘッダ式の結果が表示されます。
15.6.1.6 値式
式で計算メンバーを参照する場合は、計算メンバーに値を割り当てる必要があります。値式では、この目的で
計算メンバーに値を割り当てます。
15.6.1.6.1 グループ値式を編集する
1 編集する計算メンバーのヘッダを右クリックします。
2 ショートカットメニューで [計算メンバー] にカーソルを合わせ、行をクリックした場合は [行の値式の編集] 、
列をクリックした場合は [列の値式の編集] をクリックします。
式ワークショップが表示されます。
3 式ワークショップに、目的の値を入力します。
注
値は式で制御することもできます。 [値式] は、挿入先の行/列のグループフィールドと同じ種類であること
が必要です。
336
2012-05-10
クロスタブオブジェクト
4 [保存して閉じる]をクリックして、レポートに戻ります。
計算メンバーで、値式の結果が保持されます。
注
計算メンバーのヘッダ式を編集していない場合は、表示可能なヘッダに値式の結果が表示されます。ヘッダ
式を編集すると、表示可能なヘッダとして値式が上書きされます。
15.6.1.7 挿入式
挿入式によって、計算メンバーをクロスタブ内のどこに表示するかを決定します。多くの場合、計算メンバーは
1 回しか表示されません。ただし、計算メンバーを複数の場所に表示したり、繰り返し表示されるように設定で
きます。
15.6.1.7.1 挿入式を編集する
1 編集する計算メンバーのヘッダを右クリックします。
2 ショートカットメニューで [計算メンバー] にカーソルを合わせ、[挿入式の編集] をクリックします。
式ワークショップが表示されます。
3 式ワークショップに、目的の式を入力します。
たとえば、次の式では、Canada の国フィールドの後に計算メンバーが挿入されます。
GetColumnGroupIndexOf(CurrentRowIndex) = 1 and GridRowColumnValue("Customer.Country") = "Canada"
4 [保存して閉じる]をクリックして、レポートに戻ります。
計算メンバーが、挿入式で指定された場所に表示されます。
15.6.2 埋め込まれた集計
埋め込まれた集計を挿入して、クロスタブに計算を追加できます。
計算メンバーとは異なり、埋め込まれた集計では、クロスタブに行または列は追加されません。代わりに、クロス
タブの各セル内に追加の計算が表示されます。
たとえば、地域別の売上げを示すレポートで、国の総売上に対するパーセンテージを示す計算を地域ごとに
挿入できます。
15.6.2.1 クロスタブに埋め込まれた集計を追加する
337
2012-05-10
クロスタブオブジェクト
1 クロスタブで、ヘッダー以外の任意のセルを右クリックします。
2 ショートカット メニューの[埋め込まれた集計]にカーソルを合わせ、[埋め込まれた集計の挿入]をクリックし
ます。
空の[埋め込まれた集計]がクロスタブに表示されます。
3 [埋め込まれた集計]で、[この式を編集します]というテキストを右クリックします。
4 [埋め込まれた集計]にカーソルを合わせ、[計算式の編集]をクリックします。
式ワークショップが表示されます。
5 式ワークショップに、目的の計算式を入力します。
6 [保存して閉じる]をクリックして、レポートに戻ります。
[埋め込まれた集計]に、新しい計算式の結果が表示されます。
15.6.2.2 埋め込まれた集計の処理順序を変更する
クロスタブに複数の埋め込まれた集計が存在する場合は、それらの計算順序が結果に影響する場合がありま
す。[埋め込まれた集計]ダイアログボックスで埋め込まれた集計の処理順序を変更できます。
1 クロスタブの左上隅を右クリックします。
2 ショートカットメニューの[高度な計算]にカーソルを合わせ、[埋め込まれた集計]をクリックします。
[埋め込まれた集計]ダイアログボックスが表示されます。
3 [集計]ボックスで、矢印を使用して集計の処理順序を変更します。
4 [OK]をクリックして変更を保存し、レポートに戻ります。
クロスタブでは、埋め込まれた集計の値が新しい処理順序で再計算されます。
注
埋め込まれた集計の処理順序を変更しても、データベースから最新表示は行われません。
338
2012-05-10
クエリの構築
クエリの構築
16.1 ユニバースへの接続
Crystal Reports の Business Objects クエリパネルにアクセスするには、データベースエキスパートを使用しま
す。[接続の新規作成] ノードから [ユニバース] を選択すると、SAP BusinessObjects Business Intelligence プ
ラットフォームにログオンするように要求されます。ログオン後、ユニバースを選択してクエリを作成できます。
Crystal Reports では複数言語ユニバースに接続し、それらに基づいてレポートを作成することができますが、
複数言語属性を利用することはできません。Crystal Reports では、複数言語フィールド名およびその他のメタ
データコンテンツはユニバースの主言語でのみ表示されます。
新しいドキュメントとクエリは、カスタムのアクセス権、クエリの作成/編集権限のあるユニバースでのみ作成でき
ます。
注
Web Intelligence のユーザで Crystal Reports のクエリパネルを使用している場合、Web Intelligence が期待し
たとおりに動作しないことがあります。
16.1.1 ユニバースに接続する
1 Crystal Reports の[ファイル]メニューの[新規作成]をクリックし、次に[空のレポート]をクリックします。
2 データベースエキスパートで、[接続の新規作成]をダブルクリックします。
3 [ユニバース]をダブルクリックして、新しいレポートの基となる、ユーザがアクセス権限を持っているユニバー
スの一覧を表示します。
4 SAP BusinessObjects Business Intelligence プラットフォームにまだログオンしていない場合は、ログオンし
ます。
SAP BusinessObjects Business Intelligence プラットフォームにログオンする方法については、387 ページの
「Enterprise フォルダの使用」を参照してください。
5 クエリの基になるユニバースを選択し、[開く]をクリックします。
Business Objects クエリパネルが表示されます。
339
2012-05-10
クエリの構築
16.2 クエリ用のデータの選択を定義
クエリは、クエリパネルで Business Objects ユニバースのオブジェクトを使用して作成します。ユニバースのオ
ブジェクトは、データベース内の使用可能な情報を視覚的に表示します。ユニバースのオブジェクトは、データ
ベーステーブルの列と行にマップされています。
新しいドキュメントとクエリは、カスタムのアクセス権、クエリの作成/編集権限のあるユニバースでのみ作成でき
ます。
クエリパネルは、複数の枠に分かれています。
•
左側の枠には、ユニバースに含まれているオブジェクトがツリービュー形式で表示されます。クエリパネル
では、新しいオブジェクトの追加や既存オブジェクトの編集はできません。この枠に表示される可能性のあ
るオブジェクトのタイプについては、341 ページの 「オブジェクトのクイックリファレンス」を参照してください。
注
[すべてのオブジェクト]を選択すると、利用可能なすべてのオブジェクトをこの枠に表示できます。オブジェ
クトの依存関係を確認する場合は、[階層]を選択します。このオプションを選択すると、ユニバースでオブ
ジェクトが階層構造になっていれば、その構造が表示されます。
•
[結果オブジェクト]枠には、クエリに含めるオブジェクトを配置します。
•
[クエリフィルタ]枠には、ユニバースから返されたデータをフィルタするときに使用するオブジェクトを配置し
ます。この枠にオブジェクトを追加するときに、フィルタを定義できます。
16.2.1 単純なクエリを作成する
1 [クエリ名]フィールドに、クエリの名前を入力します。
注
Crystal Reports では、レポート用に作成する SQL コマンドの名前として、クエリ名が使用されます。クエリ
パネルでクエリを作成すると、データベースエキスパートの[利用可能なデータソース]と[選択したテーブル]
領域にこの名前が表示されます。
2 左側の枠でオブジェクトを選択してダブルクリックするか、またはオブジェクトを[結果オブジェクト]枠にドラッ
グします。
[結果オブジェクト]枠に表示されるオブジェクトが、Crystal レポート内のフィールドになります。
3 クエリに含めるオブジェクトごとに手順 1 を繰り返します。
4 左側の枠または[結果オブジェクト]枠でオブジェクトを選択し、[クエリフィルタ]枠にドラッグします。
選択したオブジェクトに基づいてクエリが返すデータを制限するには、[クエリフィルタ]枠にフィルタを追加
します。フィルタ処理によって、表示されるデータが制限され、クエリの実行時間が短縮されます。フィルタ
の追加についての詳細は、344 ページの 「クエリフィルタの作成」を参照してください。
340
2012-05-10
クエリの構築
5 [OK]をクリックします。
6 クエリにプロンプトが含まれている場合は、[パラメータ値の入力]ダイアログボックスでプロンプト値を選択し
ます。
[パラメータ値の入力]ダイアログボックスの使用方法については、Crystal Reports オンラインヘルプ内をダ
イアログボックスの名前で検索してください。
7 データソースがセキュリティで保護されている場合は、接続ダイアログボックスから、ユニバースで使用する
データベースにログオンします。
サポートされている接続ダイアログボックスの使用方法については、Crystal Reports オンラインヘルプで
「データソース接続用のダイアログボックス」を検索してください。
クエリパネルで複数のクエリを作成し、Crystal Reports が Union 結合を使用することでそれらを結合できます。
16.2.2 複合クエリを作成する
•
単純なクエリを作成して[複合クエリの追加]をクリックします。
ツリービューのクエリパネルに新しい枠が追加されます。この枠のノードをクリックすると、複数のクエリの定
義の間で切り替えられます。
注
最初のクエリの結果パネルのオブジェクトが、新しいクエリにコピーされます。このプログラムでは、既存のク
エリフィルタはコピーされません。
16.2.3 オブジェクトのクイックリファレンス
オブジェクトとは、データベース内のデータ、またはその派生データをマップした名前の付いたコンポーネント
です。たとえば、データベーステーブル内の列を表すこともあれば、列内の値の合計を表すこともあります。
レポートでは、クエリの構築およびデータ取得のためにオブジェクトを使います。たとえば、人事ユニバースの
オブジェクトには、名前、住所、給与などがあります。
オブジェクトはさまざまな種類の情報に対応しています。
注
•
•
341
オブジェクトのプロパティは BusinessObjects Designer で定義されますが、Crystal Reports のクエリパネル
には反映されません。
クエリパネルでオブジェクトを直接定義することはできません。ユニバースのオブジェクトを定義するには、
BusinessObjects Designer を使用します。
2012-05-10
クエリの構築
オブジェクト
例
説明
ディメンション
このオブジェクトは、レポートで行
う分析のベースとなるデータを取
得します。通常は、顧客名、リゾー
ト名、日付などの文字型データを
取得します。
詳細
このオブジェクトは、ディメンション
に関する詳細情報を提供します。
詳細は常にディメンションに従属
し、ディメンションに関連付けられ
た詳細情報を提供します。たとえ
ば、"年齢" は、顧客ディメンション
に関連付けられた詳細オブジェク
トです。"住所" は、顧客に関する
追加データです。
メジャー
このオブジェクトは、データベース
内のデータで行われた計算の結
果を示す数値データを取得しま
す。たとえば、"売上げ" は、販売
個数に単価を掛けた計算結果で
す。メジャーオブジェクトは通常 [メ
ジャー] クラスに属します。
16.3 既存のクエリの編集
クエリパネルに戻って既存のクエリを変更することができますが、カスタムのアクセス権"クエリの作成/編集"が
必要です。オブジェクトの追加や削除、フィルタの追加、編集、削除などが可能です。
16.3.1 既存のクエリを編集する
1 Crystal Reports で、データソースとしてユニバースを使用して作成したレポートを開き、 [データベース] メ
ニューの[クエリパネル] をクリックします。
342
2012-05-10
クエリの構築
2 SAP BusinessObjects Business Intelligence プラットフォームにまだログオンしていない場合は、ログオンし
ます。
SAP BusinessObjects Business Intelligence プラットフォームにログオンする方法については、387 ページの
「Enterprise フォルダの使用」を参照してください。
3 クエリパネルで、必要に応じてクエリを編集します。
4 クエリの編集が完了したら、[OK]をクリックします。
5 データベースエキスパートで[OK]をクリックしてレポートに戻ります。
クエリに加えた変更が Crystal Reports に反映されます。
注
Crystal レポートで使用したクエリからオブジェクトを削除する場合は、そのレポートからオブジェクトを削除
する必要があります。
16.4 クエリの SQL 文を表示
クエリを作成すると、Crystal Reports は、クエリに対応する SQL を自動的に生成し、その SQL を Crystal SQL
コマンドオブジェクトとして保存します。
SQL コマンドオブジェクトの詳細については、 『Crystal reports オンラインヘルプ 』の「SQL コマンドの定義」
を参照してください。
16.4.1 クエリを作成するときに SQL を表示する
•
クエリパネルで[SQL の表示]をクリックします。
[SQL]ダイアログボックスに、クエリを構成する SQL が表示されます。クエリを作成するときに SQL をチェッ
クするには、このオプションを使用します。
16.4.2 クエリを作成してから SQL を表示する
•
Crystal Reports で、データソースとしてユニバースを使用して作成したレポートを開き、[データベース]メ
ニューの[SQL クエリの表示]をクリックします。
[SQLクエリの表示] ダイアログボックスに SQL が表示されます。
または
343
2012-05-10
クエリの構築
Crystal Reports で、データソースとしてユニバースを使用して作成したレポートを開き、[データベース]メ
ニューの[データベースエキスパート]をクリックします。
データベースエキスパートで、[選択したテーブル] リストのクエリを右クリックし、[コマンドの表示] を選択し
ます。[コマンドの表示]ダイアログボックスに SQL が表示されます。
16.5 クエリフィルタとプロンプト
16.5.1 クエリフィルタの作成
クエリーでは、次の種類のフィルタを使用できます。
•
定義済みフィルタ
これらのフィルタは、管理者が作成します。
•
カスタム フィルタ
これらのフィルタは、クエリーの作成中に定義します。
•
プロンプト
プロンプトは動的なフィルタであり、質問や値の一覧を表示する場合に定義します。ユーザーは、レポート
を最新表示するたびに、異なるフィルタの値を選択できます。
16.5.1.1 クエリに定義済みフィルタを追加する
1 レポートで使用するオブジェクトをダブルクリックするか、または[結果オブジェクト]枠にドラッグします。
クエリ構築時のオブジェクトの選択手順は、340 ページの 「クエリ用のデータの選択を定義」を参照してくだ
さい。
2 定義済みフィルタを[クエリフィルタ]枠にドラッグします。
クエリを実行すると、選択したクエリフィルタに対応するデータはレポートに返されます。
注
定義済みフィルタは、管理者が作成、編集します。クエリパネルのユーザは、定義済みフィルタのコンポーネン
トを表示することも、編集することもできません。
344
2012-05-10
クエリの構築
16.5.1.2 フィルタエディタを使用してユーザ定義フィルタを作成する
1 フィルタを適用するオブジェクトを選択し、[クエリフィルタ]枠にドラッグします。
フィルタエディタが表示されます。選択したオブジェクトの名前が、[フィルタ適用オブジェクト]というテキスト
の下に表示されます。
2 一覧から演算子を選択します。
各演算子の詳しい説明と使用例は、347 ページの 「クエリフィルタ演算子のクイックリファレンス」を参照して
ください。
3 [定数] または[一覧からの値]を選択します。
4 選択した演算子に応じて、[値の入力]フィールドに単一の値または複数の値を入力します。
5 [OK]をクリックし、ユーザ定義フィルタのプロパティを確定します。
新しいフィルタが[クエリフィルター]枠に表示されます。
16.5.2 プロンプトの作成
プロンプトとは、レポートのデータを最新表示するたびに取得するデータを問い合わせる動的なフィルタです。
ユーザーは、データを最新表示する前にプロンプトに応答し、表示する値を入力または選択します。Crystal
Reports は、指定された値だけをデータベースから取得してレポートに返します。
ヒント
プロンプトを使用すると、複数のユーザーが単一のレポートを表示できるだけでなく、データベース情報の異な
るサブセットを指定できます。プロンプトには、データベースからのデータ取得に要する時間を短縮できるとい
う利点もあります。
16.5.2.1 プロンプトを作成する
1 プロンプトを適用するオブジェクトを選択し、[クエリフィルタ]枠にドラッグします。
たとえば、ユーザがレポートに地域を指定できるようにするには、[地域]フィールドを[クエリフィルタ]枠にド
ラッグします。
フィルタエディタが表示されます。デフォルトでは、フィルタ名はフィルタを適用するオブジェクト名になりま
す。
2 一覧から演算子を選択します。
345
2012-05-10
クエリの構築
347 ページの 「クエリフィルタ演算子のクイックリファレンス」 を参照してください。
注
[= NULL]、[≠ NULL]、[両方]、[以外]は、プロンプトの演算子として使用できません。
3 [オペランドの種類]の下で、[プロンプト]を選択します。
[プロンプト]テキストフィールドに、デフォルトメッセージが表示されます。
4 デフォルトメッセージを変更する場合は、質問を表すメッセージに編集します。
たとえば、「どの地域のデータを表示しますか」という質問を入力します。
5 プロンプトで値の一覧を表示してユーザーがそこから値を選択できるようにする場合は、[一覧からのみ選
択]をオンにします。
データベースに存在しない値が入力されないようにする場合に、このオプションを使用します。
6 [OK]をクリックしてプロンプトを確定します。
レポートを最新表示するたびに、プロンプトが表示されます。
16.5.3 クエリフィルタとプロンプトの組み合わせ
同じクエリに複数のフィルタとプロンプトを適用することができます。
16.5.3.1 フィルタとプロンプトを組み合わせる
1 各クエリフィルタとプロンプトを作成します。
フィルタとプロンプトを作成する手順については、344 ページの 「クエリフィルタの作成」または345 ページの
「プロンプトの作成」を参照してください。
クエリパネルでは、デフォルトでフィルタが And 演算子で結合されます。And 演算子をそのまま使用する
か、Or 演算子に変更します。347 ページの 「And または Or を使ったクエリフィルタの結合」 を参照してく
ださい。
2 必要な場合は、[And]演算子をダブルクリックして演算子を[Or]に変更します。
演算子の表示が Or に変わります。[OK]をクリックするか、またはレポートデータを最新表示すると、プロン
プトが表示されます。
346
2012-05-10
クエリの構築
16.5.4 And または Or を使ったクエリフィルタの結合
次の表に、And 演算子と Or 演算子の違いを説明します。
取得するデータ
例
選択
両方のフィルタに該当するデータ
第 1 四半期および第 2 四半期に
注文した顧客。取得されるデータ
には、第 1 四半期と第 2 四半期
の両方の期間に注文した顧客が
含まれる。
AND
どちらか一方のフィルタに該当す
るデータ
第 1 四半期または第 2 四半期に
注文した顧客。取得されるデータ
には、第 1 四半期にのみ注文し
た顧客、第 2 四半期にのみ注文
した顧客、および第 1 四半期と第
2 四半期の両方の期間に注文し
た顧客が含まれる。
OR
16.5.5 クエリフィルタ演算子のクイックリファレンス
クエリフィルタの定義に必要な演算子を選択する場合は、次の表を参照すると便利です。
347
取得する値
例
選択
作成されるフィルタ
指定した値と等しい値
US のデータのみ取得す
る。
等しい(=)
<国> 等しい (=) US
指定した値とは異なる値
第 4 四半期を除くすべ
ての四半期のデータを取
得する。
等しくない(≠)
<四半期> 等しくない (≠)
Q4
2012-05-10
クエリの構築
348
取得する値
例
選択
作成されるフィルタ
指定した値より大きい値
61 歳以上の顧客のデー
タを取得する。
より大きい (>)
<顧客の年令> より大きい
(>) 60
指定した値以上の値
売上げが 150 万ドル以
上のデータを取得する。
以上 (≧)
<売上げ> 以上 1500000
指定した値より小さい値
試験結果が 40 点より低
いデータを取得する。
より小さい (<)
<試験結果> より小さい
(<) 40
指定した値以下の値
30 歳以下の顧客を取得
する。
以下 (≦)
<年令> 以下 (≦) 30
指定した 2 つの値の範
囲内にある値(2 つの値
を含む)
第 25 週から第 36 週ま
での週(第 25 週と第 36
週を含む)を取得する。
範囲内
<週> 範囲内 25 から 36
指定した 2 つの値の範
囲外の値
1 年の中で、第 25 週か
ら第 36 週までを除くす
べての週を取得する。第
25 週と第 36 週は取得し
ない。
範囲外
<週> 範囲外 25 から 36
指定した複数の値に一
致する値
US、Japan、および UK
のデータのみ取得する。
リスト内
<国> リスト内
'US,Japan,UK'
指定した複数の値とは異
なる値
US、Japan、および UK
のデータは取得しない。
リスト外
<国> リスト外
'US,Japan,UK'
データベースに入力値の
ない値
子供のいない顧客、つま
りデータベースの子供の
列にデータが入力されて
いない顧客を取得する。
=NULL
<子供> = NULL
データベースに入力値の
ある値
子供のいる顧客、つまり
データベースの子供の列
にデータが入力されてい
る顧客を取得する。
≠NULL
<子供> ≠ NULL
2012-05-10
クエリの構築
取得する値
例
選択
作成されるフィルタ
指定した文字列を含む値
1972 年生まれの顧客を
取得する。
パターンと一致
<DOB> パターンと一致
'72'
指定した文字列を含まな
い値
1972 年生まれではない
顧客を取得する。
パターンと異なる
<DOB> パターンと異なる
'72'
指定した 2 つの値に該
当する値
固定電話と携帯電話の
両方を持つ顧客を取得
する。
両方
<アカウント種別> 両方
"固定" and "携帯"
指定した一方の値に該
当し、もう一方の値に該
当しない値
固定電話を持つが、携帯
電話を持たない顧客を取
得する。
以外
<アカウント種別> "固定"
以外 "携帯"
16.5.6 クエリフィルタの編集と削除
クエリフィルタは、編集したり削除したりできます。
16.5.6.1 クエリフィルタを編集する
1 編集するフィルタをダブルクリックします。
フィルタエディタが表示されます。
2 フィルタエディタで、フィルタの定義を変更します。
フィルタの定義方法については、344 ページの 「クエリフィルタの作成」を参照してください。
3 [OK]をクリックして変更を確定します。
変更したフィルタが[クエリフィルタ]枠に表示されます。
349
2012-05-10
クエリの構築
16.5.6.2 クエリフィルタを削除する
•
削除するフィルタをドラッグして左側の枠にドロップします。
フィルタがクエリの定義から削除され、[クエリフィルタ]枠にも表示されなくなります。
16.6 サブクエリおよびデータベースのランクを使用したデータのフィルタ処理
ここでは、より詳細なクエリフィルタの使用方法について説明します。次のような詳細クエリフィルタについて説
明します。
•
サブクエリ
•
データベースのランク
サブクエリとデータベースのランクを使用すると、標準のクエリフィルタよりも強力なフィルタを作成することがで
きます。
16.6.1 サブクエリについて
サブクエリは、通常のクエリフィルタよりも柔軟性に富んだクエリフィルタであり、より高度な方法で値を制限でき
ます。
サブクエリが通常のクエリフィルタよりも強力な理由は次のとおりです。
•
クエリの制限に使用する値を持つオブジェクトの値と、他のオブジェクトの値とを比較できます。
•
WHERE 句を使用してサブクエリから返される値を制限できます。
サブクエリを使用すると、単純なクエリフィルタでは式にするのが難しい、または不可能な複雑な質問を提示で
きます。たとえば、顧客、およびその顧客が 2003 年の第 1 四半期(Q1)に(いずれかの顧客によって)既に予約
されていたサービスを購入した際の売上げの一覧を得ることができます。
16.6.2 サブクエリの作成
クエリパネルの[クエリフィルタ]枠でサブクエリを作成します。
350
2012-05-10
クエリの構築
注
[クエリフィルタ]枠では、サブクエリと他の種類のクエリフィルタを混在させることができます。
16.6.2.1 サブクエリを作成する
1 クエリに表示するオブジェクトを[結果オブジェクト]枠に追加します。
2
サブクエリでフィルタ処理するオブジェクトを選択し、[サブクエリの追加]をクリックします。
サブクエリの概要が、[クエリフィルタ]枠に表示されます。デフォルトでは、選択したオブジェクトがフィルタ
オブジェクトおよび適用フィルタ オブジェクトとして表示されます。フィルタオブジェクトと適用フィルタオブ
ジェクトの詳細については、351 ページの 「サブクエリパラメータ」を参照してください。
3 サブクエリに WHERE 条件を追加するには、クエリオブジェクトをサブクエリアウトラインの空白の領域にド
ラッグします。
注
既存のサブクエリまたは標準的なクエリフィルタを、サブクエリ内の WHERE 条件として使用できます。その
場合は、既存のフィルタやサブクエリをサブクエリアウトラインの空白の領域にドラッグアンドドロップします。
4 WHERE 条件内でオブジェクトをフィルタするために使用する演算子と値を選択します。
注
クエリフィルタの演算子および値の詳細については、344 ページの 「クエリフィルタとプロンプト」を参照して
ください。
5 [サブクエリの追加]をクリックして、クエリフィルタに追加のサブクエリを追加します。
デフォルトでは、2 つのサブクエリは AND 関係でリンクされます。AND と OR を切り替えるには、[AND] 演
算子をクリックします。
AND または OR の関係の他にも、サブクエリのリンクでは、サブクエリアウトラインの空白の領域に既存の
サブクエリをドラッグして、ネスト(サブクエリ内に他のサブクエリを作成する)することができます。この場合、
内側のサブクエリは外側のサブクエリの WHERE 条件の一部になります。
16.6.2.2 サブクエリパラメータ
サブクエリまたはサブクエリのセットには、次のパラメータがあります。
351
2012-05-10
クエリの構築
パラメータ
説明
結果オブジェクトをフィルタするためにその値が使用
されるオブジェクト。
フィルタオブジェクト
複数のフィルタオブジェクトを指定できます。その場
合、Crystal Reports は指定したすべてのオブジェク
トの値を連結します。
どのフィルタオブジェクトの値をサブクエリが返すか
を決定するオブジェクトです。
適用フィルタオブジェクト
複数の適用フィルタオブジェクトを持つことができま
す。その場合、Crystal Reports は指定したすべての
オブジェクトの値を連結します。
フィルタオブジェクトと適用フィルタオブジェクトの関
係を指定する演算子です。
演算子
データベースによる制限のため、演算子と適用フィ
ルタオブジェクトの特定の組み合わせは使用できま
せん。たとえば、[等しい(=)] 演算子と複数の値を返
す適用フィルタオブジェクトを使用すると、この種類
のサブクエリでは 1 つの値のみを返す適用フィルタ
オブジェクトが必要であるため、データベースはこの
SQL を拒否します。
生成された SQL がデータベースで拒否された場合
は、データベースから返されたエラーの説明を示す
エラーメッセージが表示されます。
WHERE 条件(オプション)
適用フィルタオブジェクトの値の一覧を制限する追加
の条件。WHERE 条件では、通常のレポートオブジェ
クト、定義済みの条件または既存のクエリフィルタ(サ
ブクエリを含む)を使用できます。
複数のサブクエリがある場合は、サブクエリ間の関係
を決定します。
関係演算子
AND - すべてのサブクエリの条件を満たす必要があ
ります。
OR - いずれか 1 つのサブクエリの条件を満たす必
要があります。
352
2012-05-10
クエリの構築
16.6.3 データベースのランクとは
データベースのランクを使用すると、Crystal Reports にランクの範囲外のデータを返すことなく、クエリレベル
で「各年の収益に基づいた上位 3 名の顧客」などの質問の回答を得られます。そして、ランクを使用してこの
データをフィルタ処理できます。
データをランク処理するとき、ランク基準に従ってデータを並べ替えてフィルタ処理します。この処理は、Crystal
Reports でのグループの並べ替えの際、上位 N または下位 N の値を選択することに似ています。詳細につい
ては、167 ページの 「上位または下位の N グループまたはパーセントの選択」を参照してください。
データベースのランクによって、クエリレベルとデータベースレベルでランクを指定できるようになり、クエリから
Crystal Reports にランク処理済みのデータが返されるようになります。次の利点があります。
•
データのランク付けによって、処理を集約できます。データベースレベルでランク付けすると、一般的にクラ
イアントコンピュータよりはるかに強力なサーバで、ランク付け処理を実行できます。
•
事前にデータをランク付けすることで、ネットワークをまたいで取得されて Crystal Reports に格納されるデー
タの量を削減します。
注
•
•
•
使用しているデータベースがランク付けをサポートしている場合にのみ、ランク付けを実行できます。サポー
トされていない場合、クエリパネルのツールバーの[上位/下位の追加] ボタンが無効になります。ランク付け
をサポートしているデータベースは、Oracle、DB2、Teradata、および Redbrick です。
Crystal Reports は、ランク付けの SQL で SQL-99 Rank 関数を使用します。
SQL はすべてのリレーショナルデータベース(RDBMS)でサポートされるクエリ言語ですが、データベースご
とに独自の構文があります。
16.6.4 データベースのランクの作成
クエリパネルの[クエリフィルタ]枠でデータベースのランクを作成します。
注
[クエリフィルタ]枠では、データベースのランクと他の種類のクエリフィルタを混在させることができます。
16.6.4.1 データベースのランクを作成する
1 クエリに表示するオブジェクトをクエリパネルの[結果オブジェクト]枠に追加します。
2 ランク付けするオブジェクトを選択します。
353
2012-05-10
クエリの構築
3
ツールバーの[データベースのランクの追加]をクリックします。
ランク付けのアウトラインが[クエリフィルタ]枠に表示されます。[基準元]リストに、選択したオブジェクトがラン
ク付けのディメンションとして表示され、クエリの最初のメジャーがランク付けメジャーとして表示されます。
注
使用しているデータベースにランク機能がない場合、[データベースのランクの追加]ボタンは利用できませ
ん。
4 ランク付けの方向(上位または下位)を選択します。
5 [上位]または[下位]の横のボックスに、ランク付けするレコードの数を入力します。
注
数字の横の矢印をクリックすると、定数の代わりにプロンプトを指定できます。プロンプトを選択すると、その
クエリを実行するときにユーザがランク付けする数を入力する必要があります。プロンプトの詳細について
は、345 ページの 「プロンプトの作成」を参照してください。
6 [For each]ボックスに、メジャーの計算コンテキストを提供するオブジェクトをドラッグします。
このディメンションは省略できます。
注
[For Each]ボックスを表示するには、"基準元"メジャーの右側の矢印をクリックします。
7 ランク付けのアウトラインの空白の領域に、WHERE 制限に含まれるすべてのオブジェクトをドラッグします。
WHERE 制限の詳細については、350 ページの 「サブクエリについて」の説明を参照してください。
16.6.4.2 パラメータの順位付け
次の表に、ランク付けのパラメータの説明を左から右に順に示します。
パラメータ
説明
ランク機能の順序です。
上位/下位
上位: 大から小へランク付けします。
下位: 小から大へランク付けします。
354
レコード数
ランク付けして返すレコードの数です。たとえば、上
位 10 位と指定します。
順位付けするオブジェクト
ランク付けに使用するオブジェクトです。たとえば、オ
ブジェクトが"地域"でランク付けが"上位 10"の場合、
ランク付けによって上位 10 の地域が返されます。
2012-05-10
クエリの構築
355
パラメータ
説明
基準元
ランク付けのオブジェクトをランク付けするためのメ
ジャーです。たとえば、メジャーが"収益"でオブジェ
クトが"地域"の場合、Crystal Reports はその収益に
よって地域をランク付けします。
For Each(オプション)
ランク付けに追加の計算コンテキストを指定するオブ
ジェクトです。たとえば、ランク付けのオブジェクト
が"地域"、メジャーが"収益"、For Each ディメンショ
ンが"国"の場合、Crystal Reports は各国内の売上
げによって地域をランク付けします。
WHERE 条件(オプション)
他のパラメータの下に表示される、ランクで返される
値への追加の制限。たとえば、地域のランク付けに
対して"国"を「USA」に限定する条件を加えると、アメ
リカ合衆国内の地域のみをランク付けします。
2012-05-10
OLAP データを使ったレポートの作成
OLAP データを使ったレポートの作成
17.1 Crystal Reports による OLAP レポートの作成
SQL サーバや PC データベースなどのリレーショナルデータベースは、最も一般的なデータソースですが、今
日では、OLAP(Online Analytical Processing)や多次元データがデータストレージとデータ分析の形式として急
速に普及しています。Crystal Reports は、OLAP データソースではリレーショナルデータの場合と同じアクセス
機能およびレポート作成機能を持っています。
注
ここで使用する用語"OLAP"は、OLAP のすべての標準形式、多次元データストレージ、およびアクセスシステ
ムを意味しています。
Crystal Reports は、直接接続および Open OLAP ゲートウェイを介した OLAP データへのアクセスをサポート
しています。直接接続では、OLAP クライアントのインストールが必要で、使用するローカルコンピュータ内の
DLL が使われます。Open OLAP ゲートウェイでは、クライアントも DLL も不要です。Open OLAP 接続では、
Crystal Reports および OLAP データソースと通信するネームサーバホストを介してデータにアクセスできます。
[接続のプロパティ]ダイアログボックスの[詳細設定]タブで Open OLAP 接続をセットアップします。
直接接続では、Crystal Reports は OLAP サーバの多数のタイプをサポートしています。サポートされるタイプ
は、[接続のプロパティ]ダイアログボックスの[サーバタイプ]リストに表示されます。このリストは動的に変更され、
現在インストールしてあるクライアントに対応する OLAP サーバタイプが表示されます。
注
Crystal Reports では、前バージョンで作成された OLAP レポートを開くことができます。Crystal Reports 9 で
は、保存データを持つバージョン 10 の OLAP レポートを開くことはできますが、そのレポートを最新表示する
ことはできません。
17.1.1 OLAP グリッドオブジェクト
Crystal Reports では、OLAP データを使ってレポートをデザインした場合、1 つ以上の OLAP グリッドオブジェ
クトを含むプライマリレポートが作成されます。OLAP グリッドオブジェクトの外見とその動作はクロスタブオブ
ジェクトに似ていますが、これは OLAP データ用に特別に設計されています。
357
2012-05-10
OLAP データを使ったレポートの作成
OLAP グリッドオブジェクトは、真の多次元レポート作成機能を提供します。任意の軸にディメンションを追加し
て、1 つの OLAP グリッドで、3 つ、4 つ、またはそれ以上のディメンションを分析できます。また、1 つの OLAP
グリッドに複数のディメンションを表示する代わりに、同じレポート内に複数の OLAP グリッドを作成できます。
注
OLAP グリッドの幅が広い(横方向に複数ページにまたがる)場合ではなく、長い(縦方向に複数ページにまた
がる)場合、Crystal Reports はグリッドを高速に表示できます。グリッドが長い場合は、グリッドはページごとに処
理されます。グリッドの幅が広い場合は、ページを表示する前にすべてのデータを収集する必要があります。
そのため、処理時間が大幅に長くなる可能性があります。
17.2 OLAP レポートの作成
OLAP レポートは、OLAP レポート作成ウィザードまたは OLAP エキスパートを使って作成します。レポートを
作成する前に次の項目を確認してください。
•
OLAP タイプ
•
サーバ名およびデータベース名
•
ユーザ ID
•
パスワード
•
パラメータ(OLE DB for OLAP のみ)
ヒント
[レポート]メニューの[OLAP デザインウィザード]オプションを選択して OLAP レポート作成ウィザードに戻るこ
とができます。ページディメンションを変更する場合や、パラメータ値を変更する場合に使用してください。
17.2.1 OLAP レポートを作成する
•
開始ページで、[OLAP キューブレポートウィザード]をクリックします。
OLAP レポート作成ウィザードが表示され、[OLAP データ]画面がアクティブになります。
17.2.2 データソースの指定
OLAP データソースを定義するには、[OLAP データ]画面を使用します。
1 [キューブの選択]をクリックします。
358
2012-05-10
OLAP データを使ったレポートの作成
OLAP 接続ブラウザが表示されます。
2 接続するキューブの OLAP サーバを参照します。
目的のサーバがリストに表示されない場合は、[追加]をクリックします。[接続のプロパティ]ダイアログボック
スでサーバに関する情報を入力し、[OK]をクリックします。
3 目的のキューブを選択して、[開く]をクリックします。
指定したデータソース情報が入力された状態で、[OLAP データ]画面が再び表示されます。
4 [次へ]をクリックします。
注
[OLAP データ]画面で[CAR ファイルの選択]をクリックすることもできます。このオプションを選択すると、[開く]
ダイアログボックスが表示されます。OLAP Intelligence Professional で作成したファイルを検索します。
17.2.3 グリッドの構造の定義
グリッド内でデータを構造化する方法を定義するには、[行/列]画面を使用します。[列]または[行]領域のどち
らかにディメンションを配置できます。
ヒント
ディメンションをドラッグして、[列]または[行]領域のどちらかにドロップすることもできます。
1 レポートに表示するディメンションを選択します。
2 ディメンションを配置する位置に応じて、[行]または[列]領域の横にある[>]をクリックします。
3 [列]または[行]領域にディメンションの追加を続けます。
359
2012-05-10
OLAP データを使ったレポートの作成
4 [行]および[列]領域にあるそれぞれの上矢印ボタンおよび下矢印ボタンをクリックして、ディメンションの順
序を変更します。
注
[行]または[列]領域に誤ってディメンションを追加した場合は、[<]をクリックして、[ディメンション]リストに戻し
てください。
5 [行]または[列]領域でディメンションを選択し、[行メンバーの選択]または[列メンバーの選択]をクリックして
レポートに入れるメンバーを指定します。
[メンバーセレクタ]ダイアログボックスが表示されます。
6 レポートに入れるメンバーを選択します。
7 [OK]をクリックします。
8 [行]または[列]領域でディメンションを選択し、[パラメータの作成/編集]をクリックしてそのディメンションで
使用するパラメータを作成します。
[パラメータフィールドの作成]ダイアログボックスが表示されます。
9 デフォルト値、プロンプトテキスト、およびその他のオプションを選択し、[OK]をクリックします。
注
•
•
パラメータを作成すると、そのディメンションでは、パラメータが削除されるまで[メンバーセレクタ]ダイア
ログボックスを使用できません。
行/列パラメータを作成する場合は、[キューブの表示]コマンドおよび[キューブビュー]コマンドを使用で
きません。
10 パラメータを削除する場合は、該当のディメンションを選択し、[削除]をクリックします。
360
2012-05-10
OLAP データを使ったレポートの作成
[パラメータフィールドとのリンク削除]ダイアログボックスで[OK]をクリックすると、そのディメンションからパラ
メータの説明が削除されます。
11 [次へ]をクリックします。
[スライス/ページ]画面が表示されます。
17.2.4 スライスディメンションとグリッド数の設定
この画面を使用して、スライスディメンションの設定と、必要となるグリッド数の指定を行うことができます。
[スライス]領域では、レポートに配置される範囲を決定します。たとえば、会計の四半期メンバーで構成されて
いる時刻のディメンションがある場合、レポートが特定の四半期の結果を返すように指定できます。
注
[行/列]タブですべてのメンバーが使用されている場合は、ここには何も表示されません。
ページ領域では、グリッドの数と各グリッドの表示項目を決定できます。たとえば、製品のディメンションがある
場合、そのディメンションをページ領域に配置し、異なる 2 つの製品を指定します。その結果、同じ行、列、お
よび書式設定を持ち、それぞれ異なる製品に基づく 2 つのグリッドが生成されます。
17.2.4.1 スライスを指定する
1 スライスとして使用されるメンバーを決定するには、[スライス]リストでディメンションを選択し、[スライスの選
択]をクリックするか、[スライス]リストでディメンションをダブルクリックします。
[メンバーセレクタ]ダイアログボックスが表示されます。
2 必要に応じて階層構造を展開し、適切なメンバーを選択します。
3 [OK]をクリックします。
4 ページを追加しない場合は、[次]をクリックします。[スタイル]画面が表示されます。
17.2.4.2 ページを追加する
1 [>]ボタンを使用してディメンションを[ページ]リストに追加します。
[メンバーセレクタ]ダイアログボックスが表示されます。
2 ディメンションの階層構造を展開し、適切なメンバーを選択します。
3 [OK]をクリックします。
361
2012-05-10
OLAP データを使ったレポートの作成
17.2.4.3 パラメータを追加する
パラメータフィールドを作成して、任意のディメンションにリンクすることができます。パラメータを OLAP グリッド
のディメンションに追加すると、レポートデータを最新表示する際に値を選択する必要があります。
1 [作成/編集]ボタンをクリックします。
2 デフォルト値、プロンプトテキスト、およびその他のオプションを選択し、[OK]をクリックします。
3 [次へ]をクリックします。
[スタイル]画面が表示されます。
注
パラメータを作成すると、そのディメンションでは、パラメータが削除されるまで[メンバーセレクタ]ダイアログボッ
クスを使用できません。
17.2.5 定義済みのスタイルの適用
1 リストから定義済みのグリッドのスタイルを選択します。
ヒント
定義済みのスタイルを使用しない場合は、[次]をクリックします。
右側に、選択した配色のプレビューが表示されます。
362
2012-05-10
OLAP データを使ったレポートの作成
注
ディスプレイの解像度が 256 色に設定されていると、選択したスタイルの色が正しく表示されない場合があ
ります。正しく表示するには、色の解像度を上げてください。
2 [次へ]をクリックします。
[チャート]画面が表示されます。
17.2.6 チャートの挿入
1 [チャート]画面に表示されるオプションから、レポートに追加するチャートの種類を選択します。
ヒント
チャートを挿入しない場合は、そのまま[完了]をクリックします。
2 チャートのタイトルを追加します。
3 [基準フィールド]リストで、チャートの基になるディメンションを選択します。
4 必要に応じて、[細分基準]リストで、チャートの基になる第 2 の行または列をクリックします。
注
手順 1 で選択したチャートタイプが、第 2 のチャートフィールドをサポートしていることを確認します。
5 [その他のディメンション]をクリックして、OLAP グリッドに含まれるがチャートでは使用されていないディメン
ションのフィールド値を定義します。
363
2012-05-10
OLAP データを使ったレポートの作成
詳細については、275 ページの 「OLAP キューブを使ったチャートの作成(OLAP レイアウト)」および272 ペー
ジの 「チャートの作成」を参照してください。
6 レポートの作成を完了するには、[完了]をクリックします。
17.3 OLAP レポートの更新
レポートからアクセスする OLAP データの保存場所が変わる場合があります。次のような場合が考えられます。
•
情報システムリソースの再構築により、OLAP サーバまたはデータベースの保存場所が変更された場合。
•
別のキューブインスタンスが正しく処理されて、最新情報に反映された場合。
•
本来の OLAP データベースのサブセットまたは製品バージョンなどの小規模のデータベースを使って新し
いレポートが作成され、それを実際に稼働中のデータベースに適用し、実際のデータを使ってレポートを
作成する場合。
レポートを更新する前に、レポートがデータと互換性があるかどうかを確認することが重要です。次のような作
業が必要です。
•
レポートに含まれているが、キューブにはないディメンションを削除します。
•
レポートのデザイン内で明示的に参照されている式などのフィールドを削除します。
注
レポートにサブレポートやグリッドが含まれており、それらに使用しているデータベースの名前または保存場所
が変更されている場合は、各サブレポートまたはグリッドを更新する必要があります。
17.3.1 OLAP グリッドオブジェクトのキューブの保存場所を更新する
1 境界線をクリックしてグリッドを選択します。
2 [データベース]メニューの[OLAP キューブの保存場所の設定]をクリックします。
ヒント
または、グリッドを右クリックし、[OLAP キューブの保存場所の設定]を選択することもできます。
[コマンドの確認]ダイアログボックスが表示されます。
3 [はい]をクリックします。
[OLAP キューブの保存場所の設定]ダイアログボックスが表示されます。
4 [選択]をクリックします。
OLAP 接続ブラウザが表示されます。
5 接続するキューブの OLAP サーバを参照します。
364
2012-05-10
OLAP データを使ったレポートの作成
目的のサーバがリストに表示されない場合は、[追加]をクリックします。[接続のプロパティ]ダイアログボック
スでサーバに関する情報を入力し、[OK]をクリックします。
6 目的のキューブを選択して、[開く]をクリックします。
[OLAP キューブの保存場所の設定]ダイアログボックスが再び表示されます。
7 [OK]をクリックします。
レポートに同じキューブに基づく複数の OLAP グリッドが含まれる場合は、残りのグリッドを新しい保存場所
に更新するように求められます。
最後に、レポートのリレーショナルデータベースの保存場所がキューブの保存場所と同じ場合は、キューブの
新しい保存場所と一致するようにリレーショナルデータベースの保存場所を変更するよう求められます。リレー
ショナルデータベースと OLAP データベースの保存場所が一致すると、データの同期が維持されます。保存
場所は、プログラムで自動的に変更することも、[データソースの保存場所の設定]ダイアログボックスで手動で
変更することもできます。
17.3.2 データベースの場所を更新する
1 [データソースの保存場所の設定]ダイアログボックスで、[置換先]領域の[接続の新規作成]フォルダを展開
します。
2 [OLAP]フォルダを展開して、キューブの新しい保存場所を探します。
ヒント
[新しい接続先の作成]オプションをダブルクリックして、OLAP 接続ブラウザでキューブを検索することもで
きます。
3 データソース名または個別のテーブルを選択し、[更新]をクリックします。
[現在のデータソース]領域のデータソースの名前が変更されます。
4 [閉じる]をクリックします。
17.4 OLAP グリッドのデータの書式設定
OLAP グリッドの行や列に書式設定を追加する方法はいくつかあります。
•
強調表示エキスパートを使用して、すべての型(数値、通貨、文字列、論理値、日付、時刻、日時)のレポー
トフィールドに条件付き書式設定を適用する。
強調表示エキスパートを使用するには、書式を設定するフィールドを右クリックして、ショートカットメニュー
の[強調表示エキスパート]をクリックします。詳細については、258 ページの 「強調表示エキスパートの使用」
を参照してください。
365
2012-05-10
OLAP データを使ったレポートの作成
•
書式エディタを使用して、グリッド内のフィールドに無条件の書式設定を適用する。無条件の書式設定は、
フィールドのデータ値に関係なく無条件に適用されます。
書式エディタを使用するには、書式を設定するフィールドを右クリックして、ショートカットメニューの[フィー
ルドの書式設定]をクリックします。詳細については、237 ページの 「無条件の書式設定」を参照してくださ
い。
•
式ワークショップ を使用して、条件付きの書式設定式を Crystal 構文または Basic 構文で独自に記述しま
す。式ワークショップ を使用すると、OLAP グリッドの書式設定を最大限に制御できます。
式ワークショップ にアクセスするには、書式エディタを開いて適切な [式] ボタンをクリックします。詳細につ
いては、253 ページの 「条件付き書式設定」を参照してください。
•
OLAP エキスパートを使用して、OLAP グリッド全体の書式を再設定します。このエキスパートでは、OLAP
レポート作成ウィザードで利用可能なすべての書式設定オプションを使用できます。
OLAP エキスパートにアクセスするには、グリッドオブジェクトの境界線をクリックしてグリッドオブジェクト全体
を選択します。次に、選択したグリッドを右クリックして、ショートカットメニューの[OLAP グリッドエキスパート]
をクリックします。
OLAP エキスパートには、OLAP レポート作成ウィザードにはない 2 つのタブがあります。[スタイルのカスタ
マイズ]タブと[ラベル]タブを使用して、OLAP グリッドを書式設定します。
OLAP グリッドの行や列の書式設定と同じように Crystal Reports では、テキストオブジェクト、フィールドオブ
ジェクト、OLE オブジェクト、チャート、マップ、線、ボックスなど、横方向に拡張できないレポートオブジェクトを、
OLAP グリッドが横方向に作成するページに繰り返して出力できます。詳細については、249 ページの 「横方
向のページへのレポートオブジェクトの繰り返し出力」を参照してください。
17.4.1 ディメンションの背景色の変更
1 OLAP エキスパートの[スタイルのカスタマイズ]タブで、ディメンションを選択します。
366
2012-05-10
OLAP データを使ったレポートの作成
2 [グループオプション]領域の[背景色]リストから色を選択します。
3 グリッドのカスタマイズが終了したら、[OK]をクリックします。
17.4.2 ディメンションのエイリアスの作成
エイリアスを作成すると、長いディメンション名を短くできます。これは、GridRowColumnValue 関数を使用した
条件付き書式設定式でディメンションを参照する場合に便利です。
1 OLAP エキスパートの[スタイルのカスタマイズ]タブで、ディメンションを選択します。
2 [グループオプション] 領域の [式のエイリアス] フィールドにエイリアス名を入力します。
3 グリッドのカスタマイズが終了したら、[OK]をクリックします。
17.4.3 グリッドラインの書式設定
[グリッドラインの書式設定]ダイアログボックスで、ラインの表示または非表示、色、スタイル、および幅を定義で
きます。
1 OLAP エキスパートの[スタイルのカスタマイズ]タブで、[グリッドラインの書式]をクリックします。
[グリッドラインの書式設定]ダイアログボックスが表示されます。
2 リストから、ラインを表示する領域の説明を選択するか、[グリッドラインの書式設定]ダイアグラムで適切な領
域をクリックします。
367
2012-05-10
OLAP データを使ったレポートの作成
3
4
5
6
[描画]チェックボックスをオンにし、レポートにラインを表示します。
色、スタイル、および幅を選択します。
[OK]をクリックします。
グリッドのカスタマイズが終了したら、[OK]をクリックします。
17.4.4 ディメンションのラベル付け
[ラベル]タブでは、ラベルを付けるディメンション、およびラベルをグリッドに表示する方法を定義できます。利
用できるディメンションは、ページまたはスライスに指定されているディメンションです。
1 矢印ボタンを使用して、[ラベルなしのディメンション]および[ラベル付きのディメンション]領域に必要なディ
メンションを移動します。
2 ラベルの外見を変更するには、[ラベルの位置]および[ラベルの間隔]領域にあるオプションを使用します。
3 グリッドのカスタマイズが終了したら、[OK]をクリックします。
17.5 OLAP データのビューの変更
レポートで OLAP データを分析する場合、グリッド内でのデータの表示を変更するには、いくつかの基本的な
方法があります。
注
ここで説明する方法では、Crystal Reports の[プレビュー]タブから直接 OLAP グリッドを操作することができま
す。また、[キューブビュー]タブでは、同等の機能に加え、より高度な機能も実行することができます。
[キューブビュー]タブで利用可能な機能については、オンラインヘルプで「OLAP ワークシートの使用」を検索
してください。
17.5.1 ディメンションメンバーの表示/非表示を切り替えるには
1 表示/非表示を切り替えるメンバーが含まれるディメンションを右クリックします。
2 ショートカットメニューの[メンバーの展開]または[メンバーの折りたたみ]をクリックします。
ディメンションが展開されてメンバーが表示されるか、または折りたたまれてメンバーが非表示になります。
ヒント
親ディメンションを順にダブルクリックして、OLAP グリッドに表示された階層データをドリルダウンすることも
できます。
368
2012-05-10
OLAP データを使ったレポートの作成
17.5.2 OLAP グリッドで非対称を作成する
非対称を使用すると、任意の数の外部ディメンションに対して、異なる内部ディメンションのメンバーを表示でき
ます。
注
非対称は、積み上げディメンションにしか作成できません。
1 削除するメンバーを右クリックします。
2 ショートカットメニューで、[非表示]または[表示]をポイントし、必要なオプションを選択します。
これらのオプションの使用法については、オンラインヘルプで「非対称ビューの作成」および「対称ビューに
戻す」を検索してください。
17.5.3 OLAP グリッドに合計を追加する
1 合計を表示するディメンションを右クリックします。
2 ショートカットメニューの[自動合計]をクリックします。
追加できる合計の種類を選択するためのオプションと共に、サブメニューが表示されます。
3 必要なオプションを選択します。
"合計"の行または列、あるいは両方が OLAP グリッドに追加されます。合計を削除するには、[合計なし]を選
択します。
17.5.4 メンバー名の表示形式を変更する
1 ディメンション名を右クリックします。
2 ショートカットメニューの[メンバーの表示モード]をポイントし、次の表示オプションのいずれかをクリックしま
す。
• キャプション
•
名前
•
キャプション : 名前
•
一意の名前
名前とキャプションについては、オンラインヘルプで「メンバーのキャプションの変更」を検索してください。
369
2012-05-10
OLAP データを使ったレポートの作成
17.5.5 OLAP グリッドに表示されたデータを変更する
1 ドラッグアンドドロップで行および列を移動し、OLAP グリッド内のデータの配置を調整します。
2 ディメンションをドラッグして[OLAP ラベル]領域にドロップするとデータをグリッドに追加できます。ディメン
ションを[OLAP ラベル]領域から外へドラッグするとデータを削除できます。
[プレビュー]タブでは、[OLAP ラベル]領域は、OLAP グリッドの左上隅にあります。
17.5.6 OLAP グリッド内のフィールド順序を定義する
1 並べ替えるフィールドが含まれる行または列ディメンションを展開します。
2 ディメンションを右クリックし、ショートカットメニューの[表示メンバーの順序の変更]をクリックします。
注
行または列のパラメータを作成したディメンションのメンバーの順序は変更できません。
3 [表示メンバーの順序の変更]ダイアログボックスで、フィールドを選択して上矢印または下矢印ボタンをク
リックし、グリッドに表示されているメンバーの順序を変更します。
4 [OK] をクリックすると、変更が適用され OLAP グリッドに戻ります。
17.6 OLAP グリッドデータの並べ替えとフィルタ処理
OLAP グリッドの並べ替え機能を使用すると、行や列の値に基づいてデータを並べ替えることができます。1 つ
または複数のフィルタをグリッドに追加し、データを特定のフィールド値に基づいたもののみに制限することが
できます。また、フィルタを使用すると、(実績値または百分率に基づいた)上位 N または 下位 N の分析を実
行することもできます。
17.6.1 OLAP グリッドのデータの並べ替え
OLAP グリッドの並べ替え機能を使用すると、グリッド データを使いやすいようにすばやく配置することができ
ます。並べ替えを追加、編集、または削除するには、目的の行または列メンバーを右クリックし、ショートカット
メニューから選択します。データは昇順または降順で並べ替えることができ、またグリッドの階層を維持するか
どうかも指定できます。
370
2012-05-10
OLAP データを使ったレポートの作成
たとえば、次のグリッドでは、"予算"列に昇順の並べ替えが追加されています。
この場合、OLAP グリッドではグリッド メンバー間の親子関係が維持されており、データ値は親子関係を維持し
たまま並べ替えられます("冷凍食品"は"パン"の上にありますが、"ペストリー"は"冷凍食品"の下にあります)。
次の例では、"予算"列は先の例と同じく昇順に並べ替えられていますが、今度は[階層を無視]オプションが選
択されています。
この場合、Report Designer によってグリッド メンバー間の親子関係が無視され、データ値のみに基づいて並
べ替えられます("冷凍食品"はやはり"パン"の上にありますが、"ペストリー"は今度は一番上にあります)。
グリッドの行および列には、それぞれ最高 3 つの並べ替えを追加することができます。複数の並べ替えを追加
した場合、まず最初の並べ替えが適用され、続けて補助的な並べ替えがグリッド データをさらに区別します。
3 つの並べ替えが適用された状態で、さらに 4 番目の並べ替えを追加すると、先に適用されていた 3 つはグ
リッドから削除され、新たに追加した並べ替えのみが単一の主要な並べ替えとなります。
ヒント
どの行または列に並べ替えが適用されているかを確認するには、OLAP グリッドの上にマウスのポインタを移動
します。並べ替えの適用されたメンバーの上に来ると、ポインタが二重の矢印に変化します。
371
2012-05-10
OLAP データを使ったレポートの作成
17.6.1.1 OLAP グリッドのデータを並べ替えるには
1 並べ替えの基準とする行または列メンバーを右クリックします。
2 ショートカットメニューで、[最初の並べ替えを追加]をポイントします。
3 サブメニューに次のような並べ替えのオプションが表示されるので、1 つ選択します。
• 昇順
•
降順
•
昇順(階層を無視)
•
降順(階層を無視)
注
グリッドの行に昇順の並べ替えを適用すると、データ値は左から順に、最小のものから並べられます。列に昇
順の並べ替えを適用すると、データ値は上から順に、最小のものから並べられます。
並べ替えの詳細については、オンラインヘルプで「OLAP ワークシートの使用」セクションの「データの並べ替
え」を検索してください。
17.6.2 OLAP グリッドのデータのフィルタ処理
フィルタを使用すると、重要でないグリッドデータを除外したり、必要なデータだけを表示したりできます。グリッ
ドデータは、実績値に基づきフィルタ処理することも、上位または下位 N 個あるいは上位または下位 N% の
データのみを除外/表示することもできます。
17.6.2.1 フィルタを追加する
1 フィルタを適用する値を含むフィールドを右クリックします。
2 ショートカットメニューの[フィルタの追加]をクリックします。
3 [フィルタの定義]ダイアログボックスで、[フィルタタイプ]リストを使用してデータのフィルタ処理方法を指定し
ます。
データのフィルタ処理方法として、[実績値]、[上位/下位の n 個]、または[上位/下位の n %]を選択できま
す。
4 除外または表示する行または列を指定するには、[フィルタの定義]オプションを使用します。
5 [OK]をクリックし、フィルタを追加して OLAP グリッドに戻ります。
372
2012-05-10
OLAP データを使ったレポートの作成
ヒント
•
•
どの行または列にフィルタが適用されているかを確認するには、OLAP グリッドの上にマウスのポインタを移
動します。フィルタの適用されたメンバーの上に来ると、ポインタが×印に変化します。
OLAP グリッドのすべてのセルにフィルタを適用するには、空のグリッドを右クリックし、ショートカットメニュー
の[すべてのフィルタの削除]をクリックします。
フィルタの詳細については、オンラインヘルプで「OLAP ワークシートの使用」セクションの「フィルタリング(デー
タ)」を検索してください。
17.7 OLAP グリッドへの計算の追加
計算メンバーを使用すると、OLAP データに対して計算を実行し、その結果を OLAP グリッドに追加された行
または列に表示することができます。"売上"から"予算"を差し引いて計算された"差異"メンバーなど、簡単な
計算を作成できます。または、関数を使用して複雑な統計分析や時系列計算を実行することもできます。
計算されたメンバーについては、オンライン ヘルプで「OLAP ワークシートの使用」セクションの「計算メンバー
の追加」を検索してください。
373
2012-05-10
レポートの印刷、エクスポート、および表示
レポートの印刷、エクスポート、および表示
18.1 レポートの配布
Crystal Reports では、さまざまな方法でレポートを配布できます。
18.1.1 レポートの印刷
1 [ファイル]メニューで[印刷]を選択します。
ヒント
[標準]ツールバーの[印刷]ボタンをクリックする方法もあります。
[印刷]ダイアログボックスが表示されます。
2 適切な設定を選択して、[OK]をクリックします。
[レポートの印刷]ダイアログボックスが表示され、印刷ジョブの進捗状況が示されます。
プリンタおよびプリンタドライバについては、次のトピックを参照してください。
関連項目
• 235 ページの「プリンタドライバ」
18.1.2 レポートのファックス送信
Microsoft Fax や Delrina WinFax などのファックスアプリケーションでは、プリンタドライバをセットアップし、モ
デムを使用してドキュメントをファックス送信することができます。ファックスアプリケーションを使用すると、Crystal
Reports からレポートをファックス送信することができます。
375
2012-05-10
レポートの印刷、エクスポート、および表示
18.1.2.1 レポートをファックス送信する
1 [ファイル]メニューの[印刷]を選択します。
[印刷]ダイアログボックスが表示されます。
2 [印刷]ダイアログボックスで[プリンタの検索]をクリックします。
[プリンタの検索]ダイアログボックスが表示されます。このダイアログボックスを使用して、ファックスドライバ
を選択します。
3 [OK]をクリックします。
[印刷]ダイアログボックスに戻ります。
4 適切な設定を選択して、[OK]をクリックします。
ファックスアプリケーションが表示され、カバーページを選択し、ファックス情報を入力するためのプロンプト
が表示されます。
18.1.3 レポートのエクスポート
完成したレポートは、スプレッドシート形式、ワードプロセッサ形式、HTML 形式、ODBC 形式、および標準的
なデータ交換形式など、一般に使用されている各種の形式にエクスポートできます。これによって情報の配布
が容易になります。たとえば、レポートのデータを利用して、スプレッドシートソフトウェアで傾向を分析したり、
デスクトップパブリッシングソフトウェアでレポートの体裁を整えることができます。
注
Crystal Reports を使うと、レポートページの任意の場所にオブジェクトを挿入できます。ただし、Microsoft Word、
Microsoft Excel、および HTML などの形式にエクスポートすると、行間に配置されているオブジェクトは最も近
い行に移動されて出力されます。この動作に起因する書式の問題を軽減するために、レポートをデザインする
ときはガイドラインを使用することをお勧めします。詳細については、224 ページの 「ガイドラインによるデザイン
」を参照してください。
エクスポートの手順では、形式および出力先を指定する必要があります。形式はファイル形式を指定し、出力
先はファイルの配置場所を指定します。
18.1.3.1 エクスポート形式の種類
376
2012-05-10
レポートの印刷、エクスポート、および表示
Crystal Reports がサポートするエクスポート形式は、ページベース形式とレコードベース形式の 2 つの形式に
大別できます。
一般に、ページベース形式の方が、出力の精度が高くなります。この形式では、レイアウトの表示と書式設定
に重点が置かれます。書式設定とは、フォントスタイル、テキストカラー、テキストの配置、背景色などの属性を
指します。レイアウトとは、オブジェクト位置、オブジェクトサイズ、およびこれらの属性と他のオブジェクトとの関
係を指します。選択する形式によっては、すべてのレイアウトと書式設定を完全には維持できない場合もありま
すが、通常、ページベース形式では、これらのプロパティが可能な限り正確に維持されます。
レコードベース形式の場合は、レイアウトや書式設定よりもデータに重点が置かれます。ただし、Microsoft Excel
- データのみ(XLS)などの形式では、一部の書式設定がエクスポートされます。また、データ交換だけを行うレ
コードベース形式もあります。
Crystal Reports(RPT)
Crystal Reports 形式へのエクスポートは、[データをレポートとともに保存]オプションを選択し、[名前を付けて
保存]機能を使用する操作に非常によく似ています。この形式は、元のレポートを変更することなく、現在のデー
タを含むレポートをエクスポート(保存)します。
Crystal Reports 読み取り専用(RPTR)
[Crystal Reports 読み取り専用(RPTR)]レポートは、レポートビューアアプリケーションを使用して表示できる
Crystal レポートですが、Crystal Reports デザイナでは開くことができません。これにより、ユーザがレポートを
変更したり、レポート定義に保存されている専用のビジネスロジックに関する情報を取得したりできなくなるた
め、会社の知的資産を保護できます。
HTML 3.2 と HTML 4.0
HTML エクスポート形式は、ページベースの形式です。HTML 4.0 形式は、DHTML を使用してレポートのレ
イアウトと書式設定を保持します。しかし、HTML 3.2 形式には、正確に維持できないレイアウトがあります。
HTML 3.2 形式は、HTML 4.0 をサポートしない旧バージョンのブラウザとの下位互換性を保つために作られ
たものです。レポートに含まれるすべての画像は外部に保存され、ハイパーリンクはエクスポートされた HTML
出力に挿入されます。したがってこのエクスポート形式では、出力時に複数のファイルが生成されます。
Microsoft Excel(97-2003)
Microsoft Excel 形式は、ページベースの形式です。この形式は、レポートコンテンツを 1 ページ単位で Excel
のセルに変換します。複数ページにわたるコンテンツは、1 つの Excel ワークシートにエクスポートされます。
エクスポートがワークシートの最大量に達しても、なおデータが残っている場合、エクスポートプログラムは複数
のワークシートを作成してデータを格納します。レポートオブジェクトが複数のセルにわたる場合は、エクスポー
トプログラムはセルをマージしてレポートオブジェクトを表します。Microsoft Excel のワークシートの最大列数は
256 列のため、セルへの追加が 256 列を超えるレポートオブジェクト(またはその一部)はエクスポートされませ
ん。このエクスポート形式でほとんどの書式設定が維持されますが、レポートの線オブジェクトとボックスオブジェ
クトはエクスポートされません。
Microsoft Excel(97-2003)データのみ
Microsoft Excel(97-2003)データのみは、データに特化したレコードベースの形式です。ただし、この形式は大
部分の形式を同様にエクスポートします。Microsoft Excel 形式とは異なり、この形式はセルを結合せず、各オ
ブジェクトは 1 つのセルのみに追加されます。データのみの形式は、Crystal Reports に含まれる特定の種類
の集計を Excel 関数としてエクスポートすることもできます。サポートされている集計は、SUM、AVERAGE、
COUNT、MIN、および MAX です。
377
2012-05-10
レポートの印刷、エクスポート、および表示
Excel エクスポート形式で最適な出力結果を得るには、Excel に適した方法でレポートを作成する必要がありま
す。詳細については、SAP Business Objects サポートサイトにある技術情報、『Exporting to Microsoft Excel』
(英語) を参照してください。
Microsoft Excel Workbook データのみ
Microsoft Excel Workbook データのみ(xlsx)は、データに特化したレコードベースの形式ですただし、この形
式は大部分の形式を同様にエクスポートします。データのみ形式はセルを結合せず、各オブジェクトは 1 つの
セルのみに追加されます。データのみの形式は、Crystal Reports に含まれる特定の種類の集計を Excel 関
数としてエクスポートすることもできます。サポートされている集計は、SUM、AVERAGE、COUNT、MIN、および
MAX です。
Microsoft Word(97-2003)
Microsoft Word はページベースの正確な形式で、RTF(リッチテキスト形式)ファイルを作成します。エクスポー
トされたファイルには、レポートオブジェクトを表すテキストオブジェクトと描画オブジェクトが含まれます。個々
のオブジェクトは、テキストフレームに配置されます。この形式は、入力フォームなどを出力に含める場合に適
しています。入力フォームには、テキスト入力のためのスペースが空のテキストオブジェクトとして確保されます。
このエクスポート形式では、書式設定の大部分が保持されます。ただし、テキストオブジェクトをページ左端の
外側に配置することはできません。そのため、印刷可能領域の左端の外側に配置されたテキストオブジェクト
がレポートに含まれる場合、このオブジェクトはページの右側に移されます。これは、横幅のあるページで作成
されたレポートの場合に、最も顕著に現れます。
Microsoft Word(97-2003) - 編集可能
Microsoft Word - 編集可能形式は、Microsoft Word 形式とは異なり、ページベースの形式ですが、出力時に
保持されないレイアウトや書式設定があります。この形式は、すべてのレポートオブジェクトコンテンツをテキス
ト行に変換します。Microsoft Word 形式とは異なり、テキストフレームは使用しません。テキストの書式設定は
保持されますが、背景色や塗りつぶしパターンなどの属性は保持されない場合があります。レポートに含まれ
るすべての画像はテキストコンテンツに従って配置されますが、Microsoft Word でのドキュメントの編集時に、
画像は自動的にテキストに変換されます。この形式では、レポートに含まれる線オブジェクトやボックスオブジェ
クトはエクスポートされません。また、特殊フィールドの[ページ番号]および[ページ数 (N/M)]は、この形式でエ
クスポートされると機能しません。
Microsoft Word - 編集可能形式は、各レポートページの最後に改ページを挿入するオプションを備えていま
す。このオプションは、Microsoft Word が作成する改ページとは異なる場合があり、主にレポートページコンテ
ンツの区切りに使用されます。
ODBC
ODBC はレコードベースのデータ交換形式です。この形式を使用すると、ODBC に準拠するあらゆるデータ
ベースにレポートデータをエクスポートできます。
PDF
PDF 形式は、ページベース形式です。この形式でのドキュメントのエクスポートは、印刷と再配分を目的としま
す。PDF 形式では、[プレビュー]タブで表示されるレポートの外観を忠実に再現するために、レイアウトと書式
設定の両方がエクスポートされます。PDF 形式では、ドキュメントに表示される TrueType フォントが埋め込ま
れます。TrueType 以外のフォントはサポートされません。このエクスポート形式は、中国語(香港)文字セットな
ど、一部の拡張文字セットのサポートに使用される Microsoft 社の Font Link 機能をサポートしていません。そ
のため、レポートで使用するフォントには、必要なグリフがすべて含まれている必要があります。"http:"、"https:"、
および"mailto:"のハイパーリンクについては、URI タイプがサポートされます。
378
2012-05-10
レポートの印刷、エクスポート、および表示
レコードスタイル - スペース付き列とレコードスタイル - スペースなし列
レコードスタイル形式は、レポートデータをテキストとしてエクスポートします。この形式では、グループ領域と詳
細領域のデータのみエクスポートされます。データは、そのレポートのデータベースに 1 レコードあたり 1 行を
使用して出力されます。レコードスタイル形式は、主にデータ交換に使用されます。
レポート定義
レポート定義形式は、レポートのデザインビューの概要を含むテキストファイルにレポートをエクスポートします。
この形式は、Crystal Reports 5.0 との互換性の維持を目的としてのみ提供されています。
リッチテキスト形式(RTF)
リッチテキスト形式(RTF)は、Microsoft Word(97-2003)形式に類似した形式です。
カンマ区切り値(CSV)
カンマ区切り値形式は、レコードベースのデータ交換形式です。この形式は、区切り文字で区切った値とユー
ザが指定した区切り文字のセットとして、レポートオブジェクトコンテンツをエクスポートします。特に、カンマ(,)
を使用してフィールドを区切る形式はカンマ区切り値(CSV)と呼ばれ、Microsoft Excel のユーザが一般的に使
用するエクスポート形式です。
レコードスタイル形式と同様に、このカンマ区切り値形式も、レポートに含まれる各レコードに対して 1 行の値
を作成します。レコードには、デザインビューに表示されるレポートの各セクションの全フィールドが含まれます。
つまり、最初にレポートヘッダセクションがエクスポートされ、これに続いてページヘッダセクション、グループ
ヘッダセクション、詳細セクション、グループフッタセクション、レポートフッタセクション、そして最後にページフッ
タセクションの順でエクスポートされます。
カンマ区切り値形式は、クロスタブや OLAP グリッドを含むレポートのエクスポートには使用できません。また、
ページヘッダやページフッタのセクションにサブレポートのあるレポートのエクスポートにも使用できません。
注
カンマ区切り値形式の標準モードでは、レポートコンテンツ以外の条件付非表示が考慮されます。データは非
表示になりますが、行とフィールド区切り文字はレポートに出力されます。たとえば、フィールド区切り文字がカ
ンマでレポートに 4 つの列がある場合は、4 つのカンマを含む空白行が 1 行表示されます。
タブ区切りテキスト(TTX)
タブ区切りテキスト形式は、テキスト形式に似ています。この形式もレポートのレイアウトを保持しますが、多少
の違いがあります。テキスト形式では、複数行テキストオブジェクトは複数の行にエクスポートされます。しかしこ
の形式の場合には、複数行テキストオブジェクトは 1 行にエクスポートされ、すべての文字列値が二重引用符
("")で囲まれて、値そのものはタブ文字で区切られます。TTX ファイルは Microsoft Excel で開くことができま
す。
テキスト
テキスト形式はレコードベースの形式です。単純なテキスト形式で出力されるため、書式設定は保持されませ
ん。ただし、この形式ではレポートのレイアウトの一部を維持することができます。テキスト形式は、エクスポート
されるファイル全体で一定の大きさのフォントが使用されることを前提としています。[インチあたりの文字数]オ
プションを使用して、横方向の領域について 1 インチの長さに挿入する文字数を指定すると、フォントの大きさ
が決まります。
また、この形式ではページ区切りのオプションを使用できます。このオプションを選択すると、指定した行数ごと
に出力ファイルに改ページが挿入されます。この形式の改ページは、元のレポートのページ区切りには対応し
ません。
379
2012-05-10
レポートの印刷、エクスポート、および表示
XML レガシー
XML は主にデータ交換に使用されます。これは、Crystal XML スキーマを使用するレコードベースの形式で
す。
18.1.3.2 出力先
出力先は、レポートをエクスポートする場所を決定します。Crystal Reports では、6 つの出力先から 1 つを選
択できます。次のオプションがあります。
•
アプリケーション
•
ディスクファイル
•
Exchange フォルダ
•
Lotus Domino
•
Lotus Domino Mail
•
MAPI
18.1.3.3 アプリケーションへのエクスポート
アプリケーションにエクスポートする場合、プログラムはレポートを指定された形式で一時ファイルにエクスポー
トしてから、適切なアプリケーションでそのファイルを開きます。
注
•
•
•
•
アプリケーションへのエクスポートでは、出力はそのファイルの拡張子に関連付けられているプログラムに
よって開かれます。この関連付けは、オペレーティングシステムのフォルダオプションの[ファイルの種類]タ
ブで行います。
ODBC 形式でエクスポートする場合、[アプリケーション]と[ディスクファイル]は同じになります。
HTML 形式でエクスポートする場合は、ファイルパスを指定する必要があります。
レポートのファイル名と一時ファイルのファイル名を同じにすることはできません。
次の節では、レポートを Microsoft Excel(XLS)形式にエクスポートする方法について、出力先の種類ごとに説
明します。
18.1.3.3.1 アプリケーションにエクスポートする
1 エクスポートするレポートを開きます。
2 [ファイル]メニューで[エクスポート]をポイントし、[レポートのエクスポート]をクリックします。
ヒント
[標準]ツールバーの[エクスポート]をクリックする方法もあります。
380
2012-05-10
レポートの印刷、エクスポート、および表示
[エクスポート]ダイアログボックスが表示されます。
3 [形式]ドロップダウンリストからエクスポート形式を選択します。
ここでは、Microsoft Excel(XLS)を選択します。
4 [出力先]ドロップダウンリストから[アプリケーション]を選択します。
5 [OK]をクリックします。
[Excel 形式オプション]ダイアログボックスが表示されます。
注
•
•
[列幅]領域のオプションを使うと、出力の Excel セルの幅を定義できます。この幅は、ポイント数による
固定幅か、Crystal レポートのさまざまなセクションにあるオブジェクトに依存する幅になります。
[レポート全体]を選択しても、Crystal レポートのレイアウトどおりになるとは限りません。Excel セルの幅
は、レポートのセクションにあるオブジェクトに基づいて決まります。同様に、たとえば[詳細]を選択する
と、レポートの詳細セクションだけにあるオブジェクトに基づいてセル幅が決定されます。
6 必要に応じて書式オプションを変更します。
7 [OK]をクリックします。
[レコードのエクスポート]ダイアログボックスが表示されます。
ヒント
エクスポート処理をキャンセルする場合は、[エクスポートのキャンセル]をクリックします。
レポートがエクスポートされ、適切なアプリケーションでレポートが開かれます。この例では、エクスポートしたレ
ポートが Microsoft Excel で開かれます。
18.1.3.4 ディスクファイルへのエクスポート
ディスクファイルにエクスポートする場合は、指定したハードディスクまたはフロッピーディスクにレポートが保存
されます。
18.1.3.4.1 ディスクファイルにエクスポートする
1 エクスポートするレポートを開きます。
2 [ファイル]メニューで[エクスポート]をポイントし、[レポートのエクスポート]をクリックします。
ヒント
[標準]ツールバーの[エクスポート]をクリックする方法もあります。
[エクスポート]ダイアログボックスが表示されます。
3 [形式]ドロップダウンリストからエクスポート形式を選択します。
ここでは、Microsoft Excel(XLS)を選択します。
4 [出力先]ドロップダウンリストから[ディスクファイル]を選択します。
381
2012-05-10
レポートの印刷、エクスポート、および表示
5 [OK]をクリックします。
[Excel 形式オプション]ダイアログボックスが表示されます。
このダイアログボックスの詳細については、380 ページの 「アプリケーションへのエクスポート」の手順 5 を参
照してください。
6 必要に応じて書式オプションを変更します。
7 [OK]をクリックします。
[エスポートファイル形式の選択]ダイアログボックスが表示されます。
8 適切なディレクトリを選択します。
9 ファイル名を入力します。
10 [保存]をクリックします。
ヒント
エクスポート処理をキャンセルする場合は、[エクスポートのキャンセル]をクリックします。
レポートがエクスポートされ、指定したディレクトリにレポートが保存されます。
18.1.3.5 Microsoft Exchange フォルダへのエクスポート
Crystal Reportsでは、レポートファイルをMicrosoft Exchange フォルダにエクスポートできます。フォルダを選択
すると、指定した形式でそのフォルダに格納されます。Microsoft Exchange フォルダには、標準のメモ(メール)、
ファイル、Microsoft Exchange 形式のインスタンスを格納できます。
18.1.3.5.1 Microsoft Exchange フォルダにエクスポートする
1 エクスポートするレポートを開きます。
2 [ファイル]メニューで[エクスポート]をポイントし、[レポートのエクスポート]をクリックします。
ヒント
[標準]ツールバーの[エクスポート]をクリックする方法もあります。
[エクスポート]ダイアログボックスが表示されます。
3 [形式]ドロップダウンリストからエクスポート形式を選択します。
ここでは、Microsoft Excel(XLS)を選択します。
4 [出力先]ボックスのリストから[Exchange フォルダ]を選択します。
5 [OK]をクリックします。
[Excel 形式オプション]ダイアログボックスが表示されます。
このダイアログボックスの詳細については、380 ページの 「アプリケーションへのエクスポート」の手順 5 を参
照してください。
382
2012-05-10
レポートの印刷、エクスポート、および表示
6 必要に応じて書式オプションを変更します。
7 [OK]をクリックします。
[プロファイルの選択]ダイアログボックスが表示されます。
注
マシンに Microsoft Exchange、Microsoft Mail、またはインターネット電子メールがセットアップされていない
場合は、Microsoft Outlook のセットアップが表示されます。
8 [プロファイル名]ドロップダウンリストから目的のプロファイルを選択します。
プロファイルがリストされていない場合は、[作成]をクリックし、プロファイルを作成します。
9 終了したら、[OK]をクリックします。
10 [フォルダの選択]ダイアログボックスが表示されたら、レポートを表示するプロファイルのフォルダを強調表
示し、[OK]をクリックします。
選択した Microsoft Exchange フォルダにレポートがエクスポートされます。エクスポートされたレポートには、
Microsoft Exchange クライアントからアクセスできます。
18.1.3.6 MAPI(Microsoft Mail)へのエクスポート
注
このオプションは、メールクライアント(Microsoft Outlook、Microsoft Mail、または Exchange)がインストールされ
ている場合にのみ機能します。エクスポートされたレポートは電子メールメッセージに添付されるため、電子メー
ルアカウントも正しく設定しておく必要があります。
1 エクスポートするレポートを開きます。
2 [ファイル]メニューで[エクスポート]をポイントし、[レポートのエクスポート]をクリックします。
ヒント
[標準]ツールバーの[エクスポート]をクリックする方法もあります。
[エクスポート]ダイアログボックスが表示されます。
3 [形式]ドロップダウンリストからエクスポート形式を選択します。
ここでは、Microsoft Excel(XLS)を選択します。
4 [出力先]ドロップダウンリストから[MAPI]を選択します。
5 [OK]をクリックします。
[Excel 形式オプション]ダイアログボックスが表示されます。
このダイアログボックスの詳細については、380 ページの 「アプリケーションへのエクスポート」の手順 5 を参
照してください。
6 必要に応じて書式オプションを変更します。
7 [OK]をクリックします。
383
2012-05-10
レポートの印刷、エクスポート、および表示
[メールの送信]ダイアログボックスが表示されます。
8 アドレスを入力し、[送信]をクリックします。
[レコードのエクスポート]ダイアログボックスが表示されます。
ヒント
エクスポート処理をキャンセルする場合は、[エクスポートのキャンセル]をクリックします。
18.1.3.7 HTML へのエクスポート
Crystal Reports では、HTML 形式でレポートをエクスポートすることで、重要な企業データを都合のよい方法
で迅速に配布できます。いったんエクスポートすると、Netscape や Microsoft Internet Explorer などの一般的
な Web ブラウザでレポートにアクセスできます。
18.1.3.7.1 HTML にエクスポートする
1 エクスポートするレポートを開き、[ファイル]メニューの[エクスポート]をポイントして[レポートのエクスポート]
をクリックします。
ヒント
[標準]ツールバーの[エクスポート]をクリックする方法もあります。
[エクスポート]ダイアログボックスが表示されます。
2 [形式]ドロップダウンリストから HTML 3.2 または HTML 4.0 形式を選択します。
3 [出力先]ボックスのリストから出力先を選択します。
ここでは、[ディスクファイル]を選択し、Web サーバのディレクトリに HTML ドキュメントを格納するとします。
4 [OK]をクリックします。
[エスポートファイル形式の選択]ダイアログボックスが表示されます。HTML 形式にエクスポートすると、レ
ポートは HTML ページとして個別に保存されます。必要な場合にはチェックボックスをオフにして、レポー
ト全体を 1 つのファイルに保存します。デフォルトでレポートは HTML ページとして個別に保存されるた
め、プログラムはユーザにエクスポート先のディレクトリ名の入力を求め、HTML ファイルにはデフォルトの
名前を使用します。HTML の最初のページは、ベースファイル名.html として保存されます。Web ブラウザ
でレポートを表示する場合には、このファイルを開きます。
注
単一のファイルにエクスポートする場合、つまり[HTML ページを分割する]チェックボックスをオフにしてい
る場合には、ヘッダとフッタおよびページ余白の上部と下部にあるすべてのスペースが含まれます。HTML
ファイルにスペースを含めない場合は、空のヘッダとフッタのセクションを非表示にし、ページ余白の上部と
下部に対しては、[ページ設定]ダイアログボックスで 0 を設定します。
5 既存のディレクトリを選択するか、レポート用に新しくディレクトリを作成します。
6 個々の HTML ファイルを移動するには、[ページナビゲータ]オプションをクリックします。
7 [OK]をクリックします。
384
2012-05-10
レポートの印刷、エクスポート、および表示
レポートが HTML 形式にエクスポートされます。
18.1.3.8 ODBC データソースへのエクスポート
Crystal Reports では、あらゆる ODBC データソースにレポートをエクスポートできます。データベースやデー
タ形式用に設定された ODBC データソースがある場合は、ODBC を介してそのデータ形式にレポートをエク
スポートできます。
たとえば、Microsoft SQL Server で設計されたデータベーステーブルへのアクセスに、通常 ODBC Administrator
を使用しており、その ODBC Administrator を使ってセットアップされた ODBC データがあるとします。そこで、
[エクスポート]ダイアログボックスを使用すると、SQL サーバデータソースを選択し、新しい SQL サーバデータ
ベーステーブルとしてレポートをエクスポートできます。
注
特定の ODBC データベース形式でエクスポートするには、ODBC Administrator を使って ODBC データソー
スがセットアップされている必要があります。「ODBC データソースをセットアップする」を参照してください。
ODBC データソースにエクスポートすると、次の作業を行うことができます。
•
中央のデータベース形式からローカルの DBMS アプリケーションと互換性のある形式にデータを変換しま
す。
•
ローカルのデータベース形式から中央データベースと互換性のある形式にデータを変換します。
•
新しいデータベーステーブルを作成し、以降のレポート作成では、独立したデータセットとして使用できま
す。
•
小さなデータウェアハウスを作成します。
•
レコードのフィルタ処理、式の追加、フィールドの削除によってデータベースのデータを操作し、作業に最
も必要となるデータを提供する新しいデータベーステーブルを作成します。
18.1.3.8.1 ODBC データソースにエクスポートする
1 エクスポートするレポートを開き、[ファイル]メニューの[エクスポート]をポイントして[レポートのエクスポート]
をクリックします。
ヒント
[標準]ツールバーの[エクスポート]をクリックする方法もあります。
[エクスポート]ダイアログボックスが表示されます。
2 [形式]ドロップダウンリストから ODBC 形式を選択します。
注
レポートを ODBC データソースにエクスポートする場合は、[出力先]は無視されるので、[出力先]ボックス
を変更する必要はありません。
3 [エクスポート]ダイアログボックスで、そのまま[OK]をクリックします。
385
2012-05-10
レポートの印刷、エクスポート、および表示
4 ODBC データソースが特定のデータベースを指定している場合は、レポートはそのデータベースにエクス
ポートされます。指定していない場合には、[ODBC 形式]ダイアログボックスが表示されます。このレポート
を新しいテーブルとして追加するデータベースを選択し、[OK]をクリックします。
5 選択した ODBC データソースで、ログオン ID とパスワードが必要な場合は、[SQL Server ログイン]ダイア
ログボックスが表示されます。ID とパスワードを入力し、[OK]をクリックします。
[ODBC テーブル名の入力]ダイアログボックスが表示されます。
6 新しいテーブルの名前を入力し、[OK]をクリックします。
指定したデータベースの新しいテーブルとしてレポートがエクスポートされます。
注
レポートにバイナリフィールド、クロスタブ、または OLAP グリッドが含まれる場合は、そのレポートを ODBC デー
タソースに正しくエクスポートできません。
18.1.4 Web フォルダの使用
次の場合は、Web フォルダを使ってレポートを開いたり、保存できます。
•
Windows 2000 (またはそれ以上)を実行中か、Office 2000 (またはそれ以上)をインストール済みの場合。
•
Web フォルダをサポートするように設定されている Web サーバにアクセスできる場合。
•
このサーバの Web フォルダを自分の[Web フォルダ]フォルダに追加する場合。
18.1.4.1 レポートを開くには
1 [ファイル]メニューの[開く]を選択します。
[ファイルを開く]ダイアログボックスが表示されます。
2 [Web フォルダ]をクリックします。
3 レポートを含むフォルダを開きます。
4 ダブルクリックして、そのレポートを開きます。
18.1.4.2 レポートを保存する
1 [ファイル]メニューの[名前を付けて保存]をクリックします。
386
2012-05-10
レポートの印刷、エクスポート、および表示
[名前を付けて保存]ダイアログボックスが表示されます。
2
3
4
5
[Web フォルダ]をクリックします。
レポートの保存先のフォルダを検索します。
ファイル名を入力します。
[保存]をクリックします。
注
Web フォルダのレポートを変更した後は、同じ Web フォルダの同じファイルにその変更を保存する必要があり
ます。
18.1.5 Enterprise フォルダの使用
SAP BusinessObjects Business Intelligence プラットフォーム経由でもレポートを配布できます。SAP
BusinessObjects Business Intelligence プラットフォームにレポートを公開すると、イントラネット、エクストラネッ
ト、インターネット、企業ポータルなどのあらゆる Web アプリケーション経由でレポートをエンドユーザに配布で
きます。
Crystal Reports では、[開く]ダイアログボックスや[名前を付けて保存]ダイアログボックスにある[Enterprise]オ
プションを使用するか、ワークベンチを使用して、レポートを公開することができます。ワークベンチによる公開
方法の詳細については、89 ページの 「ワークベンチ」を参照してください。
[開く]ダイアログボックスの[Enterprise]オプションを選択すると、変更対象にする公開済みのレポートを選択す
ることができます。[名前を付けて保存] ダイアログボックスの [Enterprise] オプションでは、変更したレポートを
元の場所に戻したり、新しいレポートを Enterprise フォルダに保存したりすることができます。この操作は、レ
ポートを SAP BusinessObjects Business Intelligence プラットフォームに公開する場合と基本的に同じです。
18.1.5.1 Enterprise フォルダのレポートを開く
Crystal Reports で、SAP BusinessObjects Business Intelligence プラットフォームフォルダのレポートを開くこと
ができます。Crystal Reports では、適切な SAP BusinessObjects Business Intelligence プラットフォームフォル
ダが [開く] ダイアログボックスに表示されます。
18.1.5.1.1 Enterprise フォルダのレポートを開くには
1
[ファイル]メニューの[開く]を選択します。
2 [開く]ダイアログボックスで、[Enterprise]をクリックします。
SAP BusinessObjects Business Intelligence プラットフォームにログオンしていない場合、[SAP BusinessObjects
Enterprise へのログオン] ダイアログボックスが表示されます。
387
2012-05-10
レポートの印刷、エクスポート、および表示
3 [システム] フィールドに、接続先の SAP BusinessObjects Business Intelligence プラットフォームシステムの
名前を入力するか、選択します。
4 ユーザ名とパスワードを入力します。
5 [認証]リストをクリックし、適切な認証の種類を選択します。
Enterprise 認証では、SAP BusinessObjects Business Intelligence プラットフォームが認識するユーザ名お
よびパスワードが必要です。
LDAP 認証では、LDAP ディレクトリサーバが認識するユーザ名およびパスワードが必要です。
Windows Active Directory(AD)認証には、Windows AD で認証されるユーザ名とパスワードが必要です。
Windows NT 認証では、Windows NT が認識するユーザ名およびパスワードが必要です。
6 [OK]をクリックします。
Enterprise フォルダが表示され、Crystal Reports で開くレポートを選択することができます。
注
•
•
•
388
特定のレポートを検索するには、フォルダを右クリックして、ショートカットメニューの[検索]を選択します。[検
索]ダイアログボックスで、レポート名またはその名前の一部を入力します。
レポートが数百も入っているフォルダを展開するような事態を避けるには、フォルダのショートカットメニュー
にあるバッチオプションを使用します。
• [最初のバッチ]では、選択したフォルダ内の最初の 100 オブジェクトが表示されます。
•
[次のバッチ]では、選択したフォルダ内の次の 100 オブジェクトが表示されます。
•
[前のバッチ]では、選択したフォルダ内の前の 100 オブジェクトが表示されます。
•
[最後のバッチ]では、選択したフォルダ内の最後の 100 オブジェクトが表示されます。
[リポジトリオブジェクトの更新] オプションを選択すると、レポートを次回開いたときに、レポートのリポジトリオ
ブジェクトが更新されます。SAP BusinessObjects Enterprise リポジトリの詳細については、95 ページの
「SAP BusinessObjects Enterprise リポジトリ」を参照してください。
2012-05-10
レポートの印刷、エクスポート、および表示
18.1.5.2 Enterprise フォルダへのレポートの保存
Crystal レポートは、SAP BusinessObjects Business Intelligence プラットフォームフォルダに保存できます。[名
前を付けて保存] ダイアログボックスを使用して、変更したレポートを元の場所に戻したり、新しいレポートを
SAP BusinessObjects Business Intelligence プラットフォームフォルダに保存したりすることができます。SAP
BusinessObjects Business Intelligence プラットフォームフォルダにレポートを保存することは、SAP BusinessObjects
Business Intelligence プラットフォームにレポートを公開するのと同じです。
18.1.5.2.1 Enterprise フォルダにレポートを保存する
1 [ファイル]メニューの[名前を付けて保存]をクリックします。
2 [名前を付けて保存]ダイアログボックスで、[Enterprise]をクリックします。
3 SAP BusinessObjects Business Intelligence プラットフォームにまだログオンしていない場合は、ログオンし
ます。
SAP BusinessObjects Business Intelligence プラットフォームにログオンする方法については、387 ページの
「Enterprise フォルダのレポートを開く」を参照してください。
4 Enterprise フォルダが表示されたら、レポートを保存するフォルダを選択します。
5 レポートのファイル名を入力します。
6 Crystal Reports で再度レポートを開いたとき、または SAP BusinessObjects Business Intelligence プラット
フォームでスケジュールされたときにレポートのリポジトリオブジェクトが更新されるようにするには、[リポジト
リの最新表示を有効にする] を選択します。
SAP BusinessObjects Enterprise リポジトリの詳細については、95 ページの 「SAP BusinessObjects Enterprise
リポジトリ」を参照してください。
7 [保存] をクリックして、レポートを SAP BusinessObjects Business Intelligence プラットフォームに公開しま
す。
18.2 レポートの表示
Crystal レポートは、スタンドアロンの Reports Application Server (RAS)、SAP BusinessObjects Business
Intelligence プラットフォーム、およびSAP BusinessObjects Business Intelligence プラットフォームソフトウェア
開発キット (SDK) に用意されている、さまざまなレポートビューアを使って表示できます。Crystal レポートビュー
アの詳細については、 『Report Application Server ビューアヘルプ 』、または SAP BusinessObjects Business
Intelligence プラットフォーム SDK ドキュメントのビューアオンラインヘルプを参照してください。
通常、Crystal Reports Viewer は、Crystal レポートのページ全体を表示するページビューアです。ただし、レ
ポートパーツビューアだけは、ページ全体ではなく特定のレポートオブジェクトを表示します。このようにして表
示されるレポートオブジェクトは、"レポートパーツ"と呼ばれます。
389
2012-05-10
レポートの印刷、エクスポート、および表示
18.2.1 レポートパーツと他のレポートオブジェクト
18.2.1.1 レポートパーツの概要
ビューアに単独で(レポートページの他の部分とは別に)表示されるレポートオブジェクトをレポートパーツといい
ます。より正確には、ホームのレポートオブジェクトからリンク先のオブジェクトを指すためにハイパーリンクを使
用するオブジェクトのことです。
レポートパーツは、Crystal Reports Viewer の DHTML ビューアサブセットと連係して、レポート内やレポート間
でのナビゲーション機能を拡張します。レポートパーツのハイパーリンクは、現在のレポート内にある他のオブ
ジェクトや、別のレポート内にあるオブジェクトにリンクできます。このリンクにより、レポートを表示する際にデー
タの特定部分だけを提供するようなレポートを作成できます。
ページ全体ではなくレポートパーツを表示する強力な機能により、レポートをポータルアプリケーションやワイヤ
レスアプリケーションにシームレスに統合できます。
18.2.1.1.1 レポートパーツビューア
レポートパーツビューアとは、レポートページからレポートパーツだけを取り出して表示するためのビューアで
す。このビューアを Web アプリケーションに統合することによって、ユーザはレポートの他の部分を表示せずに
特定のレポートオブジェクトだけを表示できるようになります。
多くの場合、レポートパーツのハイパーリンクは Report Designer で設定しますが、ハイパーリンクの機能はレ
ポートビューアで活用されます。
18.2.1.2 レポートパーツとレポートオブジェクトのナビゲート
Crystal Reports のナビゲーション機能を使うと、同じレポート内にある他のレポートオブジェクトや、別のレポー
ト内にあるオブジェクトに、指定されたデータコンテキストと共に移動できます。後者の場合、移動先のレポート
は、SAP BusinessObjects Business Intelligence プラットフォーム内で管理されているか、スタンドアロンの Report
Application Server 環境に存在している必要があります。このナビゲーションは DHTML ビューア(ゼロクライア
ントのサーバサイドビューア)でのみ使用できます。ナビゲーションの利点は、あるオブジェクトから別のオブジェ
クトに直接リンクできるということです。その際、目的のオブジェクトとその関連データに移動できるように、ビュー
アによって必要なデータコンテキストが渡されます。
レポートパーツでは、レポートパーツオブジェクトをリンクするときにこのナビゲーション機能を使用します。レ
ポートパーツのナビゲーションと通常のページナビゲーションとの主な相違点は、レポートパーツビューアを使っ
たレポートパーツのナビゲーションでは、レポートパーツとして指定されたオブジェクトだけが表示されるという
390
2012-05-10
レポートの印刷、エクスポート、および表示
ことです。ページビューアまたは高度な DHTML ビューアを使用する通常のナビゲーションでは、指定された
オブジェクトに移動しますが、ページ全体が表示されます。
18.2.1.2.1 ナビゲーションの設定
ページやレポートパーツのナビゲーションは、[書式エディタ]ダイアログボックスの[ハイパーリンク]タブで設定
します。
[ハイパーリンク]タブの[DHTML ビューアのみ]領域では、次のどちらかを選択できます。
•
レポートパーツのドリルダウン
[レポートパーツのドリルダウン]オプションは、集計フィールド、グループチャートとグループマップ、および
レポートのグループヘッダまたはグループフッタの中のフィールドに対して使用できます。このオプションは
レポートパーツだけに関連します。ページビューを使った通常のナビゲーションでは、デフォルトでドリルダ
ウンが行われます。詳細については、393 ページの 「レポートパーツ固有のナビゲーション」を参照してくだ
さい。
•
他のレポートオブジェクト
[他のレポートオブジェクト]オプションは、レポートパーツとページのナビゲーションの両方に使用できます。
このオプションでは、リンク先のオブジェクトと、渡すデータコンテキストを指定できます。
[レポートパーツのドリルダウン]オプションを選択すると、[ハイパーリンクの情報]領域に次のオプションが表示
されます。
•
利用可能なフィールド
[利用可能なフィールド]領域には、レポートパーツのドリルダウンに使用可能なレポートオブジェクトが存在
するすべてのレポート内セクションが、ツリー形式で一覧表示されます。この領域からオブジェクトを選択し
て、[表示するフィールド]領域に追加します。
•
表示するフィールド
[表示するフィールド]領域には、ドリルダウンの対象として選択したセクションとオブジェクトがツリー形式で
一覧表示されます。
これらのオプションの使用方法については、393 ページの 「[レポートパーツのドリルダウン]オプション」を参照
してください。
[他のレポートオブジェクト]オプションを選択すると、[ハイパーリンクの情報]領域に次のオプションが表示され
ます。
•
レポートパーツリンクの貼り付け
選択およびコピーしたレポートオブジェクトに関する詳細な情報を追加するには、[リンク貼り付け]ボタンを
使用します。貼り付けられる情報の一部は、このボタンに関連付けられたリストから選択したオプションによっ
て決まります。
•
選択元
リンク情報を貼り付けると、[選択元]フィールドには、選択してコピーしたレポートのパスおよびファイル名が
表示されます。現在のレポートが参照されている場合、[選択元]フィールドは空白になります。このフィール
ドに情報を追加するには、レポートパーツのリンクを貼り付けます。このフィールドは、それ以外の方法では
利用できません。
391
2012-05-10
レポートの印刷、エクスポート、および表示
•
レポートタイトル
[レポートタイトル]フィールドには、[選択元]フィールドで指定したレポートのタイトルがデフォルトで入力され
ます。現在のレポートが参照されている場合、[レポートタイトル]フィールドには、テキスト"<現在のレポート
>"が入力されます。[ドキュメントプロパティ]ダイアログボックスでレポートタイトルを指定しなかった場合、[レ
ポートタイトル]フィールドは、デフォルトでレポートファイル名になります。このフィールドに情報を追加する
には、レポートパーツのリンクを貼り付けます。このフィールドは、それ以外の方法では利用できません。
•
オブジェクト名
このフィールドに 1 つ以上のオブジェクトを追加することで、ナビゲーションの移動先オブジェクトを指定し
ます。ページナビゲーションでは、この情報によって、ページ内のどのオブジェクトに移動するかが決まりま
す。レポートパーツナビゲーションの場合は、この情報によって、移動時にビューアが表示するオブジェクト
が決まります。ビューアには指定されたオブジェクトだけが表示されます。
[オブジェクト名]フィールドでは、次の種類のレポートオブジェクトを選択できます。同じレポートセクションに
ある 1 つ以上のオブジェクトを選択できます。
•
フィールドオブジェクト
•
チャートまたはマップ
•
ビットマップ
•
クロスタブ
•
テキストオブジェクト
次の種類のレポートオブジェクトは、リンク先として選択できません。
•
ページヘッダやページフッタの中のオブジェクト
•
ラインやボックス
•
サブレポートまたはサブレポート内のオブジェクト
•
セクション全体(セクション内の個々のオブジェクトを選択する必要があります)
特定の情報を指定するには、次の 2 とおりの方法があります。
•
•
レポートエクスプローラに表示されるとおりのオブジェクト名を入力します。
•
現在のレポートや別のレポートからレポートオブジェクトをコピーし、その情報をオブジェクトのフィール
ドに貼り付けます。
データコンテキスト
リンク先オブジェクトの情報を貼り付けると、通常、[データの内容]フィールドにも自動的に値が入力されま
す。条件式ボタンを使って、このオプションをカスタマイズすることもできます。詳細については、399 ページ
の 「データコンテキストの書式」を参照してください。
これらのオプションの使用方法については、395 ページの 「[他のレポートオブジェクト]オプション」を参照してく
ださい。
注
ハイパーリンクが定義されているレポートオブジェクトは、レポートエクスプローラに下線付きの青い文字で表示
されます。レポートパーツハイパーリンクを持つオブジェクトは、破線の下線付きの緑の文字で表示されます。
392
2012-05-10
レポートの印刷、エクスポート、および表示
18.2.1.2.2 レポートパーツ固有のナビゲーション
レポートパーツでは、Crystal Reports のナビゲーション機能を使用します。ただし、レポートパーツのみに当て
はまる特殊事項がいくつかあります。
•
ビューアは、リンク先オブジェクトとして指定されたオブジェクトだけを表示します。
•
レポートパーツのナビゲーション経路の出発点となる各レポートに、レポートパーツの初期設定を指定する
必要があります。
18.2.1.3 [レポートパーツのドリルダウン]オプション
[レポートパーツのドリルダウン]オプションでハイパーリンクを定義すると、レポートパーツビューアで Crystal
Reports のドリルダウン機能をエミュレートできます。レポートパーツビューアでは、リンク先のオブジェクトだけ
が表示されます。したがって、ドリルダウンを可能にするには、ホームオブジェクトから 1 つ以上のリンク先オブ
ジェクトへのナビゲーション経路を定義する必要があります。リンク先オブジェクトが複数ある場合は、すべてが
同じレポートセクションにあることが必要です。
[レポートパーツのドリルダウン]オプションは、Crystal Reports のデフォルトのドリルダウン動作をエミュレートす
るためのものなので、DHTML ページビューアには影響を与えません(ページビューアでは既にドリルダウン動
作がサポートされています)。ただし、ページビューアは、表示するオブジェクトを制限せず、常にすべてのレ
ポートオブジェクトを表示します。
注
[レポートパーツのドリルダウン]オプションは、同じレポート内にあるオブジェクト間でのナビゲーションにのみ使
用します。
レポートパーツビューアでは、リンク先のオブジェクトだけが表示されます。したがって、レポートパーツのドリル
ダウンのハイパーリンクが機能するためには、レポートに対してレポートパーツの初期設定(つまり、デフォルト
のホームオブジェクト)を定義しておく必要があります。[レポートパーツの初期設定]では、レポートパーツビュー
アで最初に表示されるオブジェクトを定義します。このオブジェクトは、ドリルダウンのハイパーリンク経路の開
始点と考えてください。
18.2.1.3.1 レポートパーツの初期設定を定義する
1 レポートに対してデフォルトのホームオブジェクトを定義するために、そのレポートを開きます。
2 デフォルトのホームオブジェクトとして設定するオブジェクトを右クリックし、ショートカットメニューから[コピー]
を選択します。
3 [ファイル]メニューの[レポートオプション]をクリックします。
4 [レポートオプション]ダイアログボックスの[レポートパーツの初期設定]領域で、[リンク貼り付け]をクリックし
ます。
ホームオブジェクトとして選択したレポートオブジェクトの名前とデータコンテキストが、該当するフィールド
に貼り付けられます。
ヒント
データコンテキストの詳細については、399 ページの 「データコンテキストの書式」を参照してください。
393
2012-05-10
レポートの印刷、エクスポート、および表示
同じレポートセクションにある別のオブジェクトを取り込むには、セミコロン(;)を入力し、取り込むオブジェクト
の名前を入力します。
5 [OK]をクリックします。
18.2.1.3.2 レポートパーツのドリルダウンのハイパーリンクを作成する
注
この手順に入る前に、必ず 391 ページの 「ナビゲーションの設定」?を読み、このタイプのハイパーリンクを作成
するときの制限事項についてよく理解しておいてください。
1
レポートを開き、リンク先とするオブジェクトを選択し、[エキスパートツール]ツールバーの[書式]をクリッ
クします。
ヒント
または、[書式]メニューから[フィールドの書式]を選択する方法もあります。
2 書式エディタの[ハイパーリンク]タブをクリックします。
3 [DHTML ビューアのみ]領域で、[レポートパーツのドリルダウン]を選択します。
[ハイパーリンクの情報]領域に、このタイプのハイパーリンクに使用できるフィールドが表示されます。
[利用可能なフィールド]領域には、ドリルダウンの対象として選択できるセクションとレポートオブジェクトだ
けが表示されます。ここに表示されるオブジェクトは、通常、次のセクション以降に含まれるフィールドオブ
ジェクト、チャート、マップ、ビットマップ、クロスタブ、およびテキストオブジェクトです。たとえば、グループ 1
のオブジェクトを選択している場合はグループ 2 に存在するオブジェクトが表示されます。
注
[利用可能なフィールド]領域には、非表示になっているレポートオブジェクトは表示されません。
394
2012-05-10
レポートの印刷、エクスポート、および表示
4 [利用可能なフィールド]領域で、ドリルダウン先として指定するセクションまたはレポートオブジェクトを選択
します。
ヒント
レポートエクスプローラを使うと、各レポートオブジェクトに割り当てられているデフォルト名をすばやく
特定できます。レポートエクスプローラを開くには、[標準]ツールバーの[レポートエクスプローラ]ボタンをク
リックします。
セクション内のすべてのオブジェクトを追加するには、そのセクションのノードを選択します。セクションノー
ドを展開して、そのセクションに含まれる 1 つ以上のオブジェクトを選択できます。
5 矢印ボタンを使用して、選択したセクションまたはオブジェクトを[表示するフィールド]に移動します。
[表示するフィールド]領域には、識別しやすいように、セクションノードが作成されます。このセクションノー
ドに、[利用可能なフィールド]領域で選択したオブジェクトが含まれています。
6 [表示するフィールド]領域に別のオブジェクトを追加する場合は、そのオブジェクトを[利用可能なフィール
ド]リストで選択し、追加する位置までドラッグします。
注
•
•
[表示するフィールド]領域でのオブジェクトの位置によって、そのオブジェクトのレポートパーツビューア
内での表示位置が決まります。[表示するフィールド]領域にあるオブジェクトは、上のものから順に、
ビューア画面の左側から表示されます。オブジェクトの順番は、[表示するフィールド]領域の上部にある
矢印ボタンで変更できます。プログラマは、レポートパーツビューアの PreserveLayout プロパティでこの
デフォルトの動作を変更できます。
[表示するフィールド]領域に、同時に複数のセクションを含めることはできません。別のセクションまたは
別のセクションにあるオブジェクトを追加しようとすると、[表示するフィールド]領域に表示されている既存
のセクションが置き換えられます。
7 [OK]をクリックします。
これで、レポートのホームオブジェクトからリンク先オブジェクトへのハイパーリンクが設定されました。レポート
パーツビューアでは、最初にホームオブジェクトが表示され、ホームオブジェクトをクリックしてドリルダウンする
と、リンク先のオブジェクトが表示されます。
18.2.1.4 [他のレポートオブジェクト]オプション
[ほかのレポートオブジェクト] オプションでは、同じレポート内にあるオブジェクトや別のレポート内にあるオブ
ジェクトにリンクするハイパーリンク経路を定義できます。別のレポートへのハイパーリンクを定義する場合は、
そのレポートが SAP BusinessObjects Business Intelligence プラットフォーム内で管理されているか、スタンドア
ロンの Report Application Server 環境に存在している必要があります。レポートパーツビューアでは、指定さ
れたオブジェクトだけが表示されます。[レポートパーツのドリルダウン]オプションと同様に、リンク先オブジェク
トが複数ある場合は、すべてが同じレポートセクションにあることが必要です。
注
•
395
スタンドアロンの Report Application Server 環境を使用する場合は、[他のレポートオブジェクト]オプション
を使用してリンクされるレポートとして、デフォルトの Report Application Server レポートディレクトリ内に存
2012-05-10
レポートの印刷、エクスポート、および表示
•
•
在するレポートを選択することをお勧めします。このディレクトリにレポートを置くと、リンクされたレポートを
SAP BusinessObjects Business Intelligence プラットフォーム環境へ簡単に移行することができます。
DHTML ページビューアも、[他のレポートオブジェクト]オプションをナビゲーションに使用します。
[他のレポートオブジェクト]オプションは、クロスタブや OLAP グリッドオブジェクト全体に対しては使用でき
ませんが、クロスタブや OLAP グリッド内の個々のセルには使用できます。
ワークフロー
[ほかのレポートオブジェクト] オプションでは、SAP BusinessObjects Business Intelligence プラットフォームで
管理される別のレポートにあるオブジェクト間にハイパーリンクを作成できるため、より複雑な設定が [ハイパー
リンク] タブで必要になります。ここでは、ハイパーリンクを正しく設定するための作業手順の概要について説明
します。
•
リンク先オブジェクトとするオブジェクトが入っているレポートを開き、オブジェクトをコピーします。
•
ホームオブジェクトが入っているレポートを開き、オブジェクトを選択し、書式エディタを開きます。
•
[ハイパーリンク]タブで、該当するフィールドにリンク先オブジェクトの情報を貼り付けます。
次に、これらの手順の詳細な実行方法について説明します。
18.2.1.4.1 他のレポートオブジェクトのハイパーリンクを作成する
注
この手順に入る前に、必ず 391 ページの 「ナビゲーションの設定」?を読み、このタイプのハイパーリンクを作成
するときの制限事項についてよく理解しておいてください。
1 ソースレポートとターゲットレポートを開きます。
ソースレポートとは、コピーするオブジェクトが存在しているレポートです。ターゲットレポートとは、ハイパー
リンク情報を追加するレポートです。
レポートパーツビューアでターゲットレポートを表示すると、最初にそのホームオブジェクトが表示されます。
ホームオブジェクトをドリルダウンすると、ソースレポートで選択したリンク先オブジェクトに移動します。
2 ソースレポートで、リンク先とするオブジェクトを右クリックし、ショートカットメニューから[コピー]を選択します。
3
ターゲットレポートでホームオブジェクトを選択し、[エキスパートツール]ツールバーの[書式]ボタンを
クリックします。
ヒント
または、[書式]メニューから[フィールドの書式]を選択する方法もあります。
4 書式エディタで[ハイパーリンク]タブをクリックしてから、[他のレポートオブジェクト]オプションを選択します。
5 [ハイパーリンクの情報]領域で、[リンク貼り付け]をクリックします。
注
手順 2 のとおりにリンク先オブジェクトをコピーしておかないと、[リンク貼り付け]ボタンをクリックできません。
ソースレポートで選択したリンク先オブジェクトの識別情報が、該当するフィールドに貼り付けられます。
396
2012-05-10
レポートの印刷、エクスポート、および表示
[リンク貼り付け]ボタンには、リンク先オブジェクトへのリンクを貼り付ける際に選択できる一連のオプションが
あります。作成するリンクの種類(一般的なデータコンテキストへのリンクではなく特定のデータコンテキスト
へのリンクなど)に応じて、次のオプションが表示されます。
•
コンテキストレポートパーツ
デフォルトのオプションです。他のリストオプションを表示せずに[リンク貼り付け]ボタンをクリックすると、
このオプションが選択されます。できるだけ完全に近いデータコンテキストを含むリンクを貼り付けるには
このオプションを選択します。詳細については、398 ページの 「コンテキストレポートパーツオプションの
使用例」を参照してください。
•
レポートパーツデザインビュー
一般的なデータコンテキスト(つまり、特定のレコードを指していないデータコンテキスト)を含むリンクを
貼り付けるにはこのオプションを選択します。このオプションは、広範なデータコンテキストを必要とする
場合、またはソースレポート内にデータがまだ存在しない場合に選択します。
•
レポートパーツプレビュー
特定のデータコンテキスト(つまり、特定のレコードを指しているデータコンテキスト)を含むリンクを貼り付
けるにはこのオプションを選択します。このオプションは、限定されたデータコンテキストを必要とする場
合、またはソースレポート内にデータが存在する場合に選択します。
注
[レポートパーツデザインビュー]オプションを選択したか、またはレポートのデザインビューからコピーしたオ
ブジェクトの[コンテキストレポートパーツ]オプションを選択した場合に、ソースレポートとターゲットレポート
のデータ構造が異なるときは、[レポートパーツマップフィールド]ダイアログボックスが表示されます。[マップ
397
2012-05-10
レポートの印刷、エクスポート、および表示
されていないフィールド]領域の各フィールドは、ソースレポートのグループを表しています。このダイアログ
ボックスでは、これらのグループをターゲットレポートのフィールドにマップします。すべてのグループをマッ
プしたら、[OK]ボタンをクリックして先に進みます。
6 ソースレポートの同じセクションにある他のフィールドを追加するには、[オジェクト名]フィールドをクリックし、
既存のテキストの末尾にカーソルを移動します。セミコロン(;)を入力し、フィールドの名前を入力します。
注
[オブジェクト名]フィールドでのオブジェクトの順番によって、レポートパーツビューア内での各オブジェクト
の表示位置が決まります。[オブジェクト名]フィールドにあるオブジェクトは、上にあるものから順に、ビュー
ア内で左側から表示されます。
7 グループ内のすべてのレコードを表すアスタリスク(*)を使って、"データの内容"を広げることができます。
たとえば、"データの内容"が /USA/CA/Changing Gears となっている場合は、その特定の詳細レコードだ
けが表示されますが、これを /USA/CA/* に変更すると、そのグループ内の詳細レコードがすべて表示さ
れます。
ヒント
•
•
•
ハイパーリンク情報を[デザイン]ビューからコピーすると、より一般的なデータコンテキストになるため便
利です。[プレビュー]ビューからは、特定のレコードしかコピーされません。
レポートにグループ選択式がある場合は、リンク先オブジェクトのデータコンテキストをチェックして、正し
い子インデックスが入っていることを確認してください。
詳細については、399 ページの 「データコンテキストの書式」を参照してください。
8 [OK]をクリックします。
これで、ホームオブジェクトからリンク先オブジェクトへのハイパーリンクが設定されました。レポートパーツビュー
アでは、最初にホームオブジェクトが表示され、ホームオブジェクトをクリックしてドリルダウンすると、リンク先の
オブジェクトが表示されます。
18.2.1.5 コンテキストレポートパーツオプションの使用例
レポートパーツのリンク情報を貼り付ける場合、そのリンクのデータコンテキストに最も大きく影響するのは[コン
テキストレポートパーツ]オプションです。[選択元]フィールド(レポート URI)と[オブジェクト名]フィールドは、[リン
ク貼り付け]リストのどのオプションを選択しても常に同じです。この節では、いくつかのシナリオを取り上げて、
データコンテキストがどのように作成されるかについて説明します。
シナリオ 1
ソースレポートにデータが含まれている場合(つまり、レポートに[プレビュー]ビューがある場合)、コンテキストレ
ポートパーツの(ターゲットレポート内での)データコンテキストは、選択されたフィールドのすべての子につい
て、ソースレポートの[プレビュー]データコンテキストになります。たとえば、[データの内容]フィールドに
/Country[USA]/地域[*]と表示されている場合はこのケースに相当します。ソースレポートにデータが含まれて
いない場合は、ソースレポートの[デザイン]ビューデータコンテキストが、コンテキストレポートパーツのターゲッ
トレポート内でのデータコンテキストとして使用されます。
398
2012-05-10
レポートの印刷、エクスポート、および表示
シナリオ 2
ソースレポートとターゲットレポートが同じレポートで、かつ[プレビュー]ビューからソースとなるオブジェクトを選
択する場合に、リンクするターゲットオブジェクトがソースオブジェクトよりも高レベルにあるときは、データコンテ
キストが空のままになります。たとえば、ソースデータコンテキストが /Country[Australia]/ChildIndex[5] で、ター
ゲットデータコンテキストが /Country[Australia] のとき、コンテキストレポートパーツのデータコンテキストは空
になります。
シナリオ 3
ソースレポートとターゲットレポートが同じレポートで、かつ [プレビュー] ビューからソースとなるオブジェクトを
選択する場合に、リンクするターゲットオブジェクトがソースオブジェクトよりも低レベルにあるときは、[デザイン]
ビューデータコンテキストが (式形式で) 貼り付けられます。たとえば、ソースデータコンテキストが /Country[Aus
tralia] で、ターゲットデータコンテキストが /Country[Australia]/ChildIndex[5] のとき、コンテキストレポートパー
ツのデータコンテキストは "/"+{Customer.国} になります。
クロスタブ
ソースレポート内のコピー元のオブジェクトがクロスタブの一部である場合は、そのクロスタブに埋め込まれてい
る選択されたオブジェクトによって、コンテキストレポートパーツのデータコンテキストが決まります。Crystal
Reports は、クロスタブ内の選択されたオブジェクトが、行、列、セルのいずれであるかを追跡してデータコンテ
キストを作成します。次に、行と列の名前を検索します。その後で、[デザイン]ビューデータコンテキストを解析
します。最後に、データコンテキスト式のグループが前に検索した行または列の名前に現れる場合は、
GridRowColumnValue 関数を追加して、コンテキストレポートパーツのデータコンテキストを作成します。たとえ
ば、次のようなデータコンテキストが作成されます。
"/"+GridRowColumnValue("Customer.Country")+"/"+GridRowColumnValue("Customer.Region")
18.2.1.6 データコンテキストの書式
•
通常、データコンテキストの書式は次のようになります。
"/" + {Table.Field} + "/" + {Table.Field}
•
次のような書式も使用できます。
•
XPath 風の書式
/USA/Bicycle
•
厳密に型指定されている書式
/Country[USA]/商品分類[マウンテンバイク]
注
0 から始まるインデックス形式で詳細レベルの情報を追加できます。
/USA/Bicycle/ChildIndex[4]
注
ワイルドカードを使ってすべてのインスタンスを表すこともできます。
399
2012-05-10
レポートの印刷、エクスポート、および表示
/USA/*
•
クロスタブオブジェクトに対しては、セル、列、または行のナビゲーションを使用できます。データコンテキス
トを定義するには、GridRowColumnValue 書式設定関数を使用します。以下はその例です。
"/" + GridRowColumnValue ("Supplier.Country") + "/" + GridRowColumnValue ("Product.Product Class").
18.2.1.7 ビューアに表示されるハイパーリンク
ここでは、ハイパーリンクオプションの概要と、ページビューアおよびレポートパーツビューアでのハイパーリン
クオプションの機能について説明します。
ハイパーリンクオプションの違い
他のレポートオブジェクト
レポートパーツのドリルダウン
1 つ以上のレポートオブジェクトを選択できます。
1 つ以上のレポートオブジェクトを選択できます。
リンク先のオブジェクトは、同じレポートセクションに
位置していることが必要です。
リンク先のオブジェクトは、同じレポートセクションに
位置していることが必要です。
リンク先オブジェクトを含むセクションの位置につい
ては、制限がありません。
• セクションは、レポート内のどこにでも置くことがで
きます。
•
セクションは、ソースオブジェクトよりも上または下
のグループレベルに置くことができます。
オブジェクトは、SAP BusinessObjects Business Intelligence プラットフォームで管理されているか、スタン
ドアロンの Report Application Server (RAS) の一部
である、別のレポート内に置くことができます。
400
リンク先オブジェクトを含むセクションの位置は、ソー
スオブジェクトの直下のグループレベルに位置して
いることが必要です。
オブジェクトは同じレポート内に位置していることが
必要です。
2012-05-10
レポートの印刷、エクスポート、および表示
ビューアでのハイパーリンクの表示に関する違い
ページビューア
レポートパーツビューア
他のレポートオブジェクト
• リンク先オブジェクトへ移動し、ページ全体の内
容を表示します。
他のレポートオブジェクト
• リンク先オブジェクトへ移動し、そのオブジェクトだ
けを表示します。
レポートパーツのドリルダウン
• グループへ移動(ドリルダウン)し、グループの完
全な内容を表示します。
レポートパーツのドリルダウン
• リンク先オブジェクトへ移動し、そのオブジェクトだ
けを表示します。
デフォルトのドリルダウン(ハイパーリンクなし)
• グループヘッダまたはフッタ、チャート、マップか
らのグループのドリルダウンでは、グループビュー
が表示されます。
デフォルトのドリルダウン(ハイパーリンクなし)
• 該当なし
•
サブレポートのドリルダウンでは、サブレポート
ビューが表示されます。
18.2.2 エンタープライズハイパーリンクの作成
Crystal Reports、Interactive Analysis、およびその他のドキュメントなど、レポートからエンタープライズドキュメ
ントにハイパーリンクを作成できます。
注
この機能を利用するには、SAP BusinessObjects Business Intelligence プラットフォームを実行する必要があり
ます。
18.2.2.1 エンタープライズハイパーリンクを作成する
1 [デザイン]タブまたは[プレビュー]タブでレポートオブジェクトを選択します。
2 [書式]メニューの[ハイパーリンク]をクリックします。
[書式エディタ]ダイアログボックスが表示され、[ハイパーリンク]タブが開かれます。
3 [ハイパーリンクのタイプ]セクションで、[インターネット上の Web サイト]オプションを選択します。
401
2012-05-10
レポートの印刷、エクスポート、および表示
4 [エンタープライズハイパーリンクの作成]をクリックします。
5 [参照]をクリックします。
[ファイルを開く]ダイアログボックスが表示されます。
6 [個人用の接続]をクリックし、新しい接続をエンタープライズに追加します。
既に接続している場合は、[エンタープライズ]をクリックします。
7 表示するエンタープライズドキュメントに移動して、[開く]をクリックします。
[ドキュメント ID]フィールドと[ドキュメント名]フィールドに、選択したドキュメントの CUID と名前がそれぞれ
入力されます。
8 [ハイパーリンク設定]セクションで、さまざまなオプションを変更し、指定した設定でハイパーリンクを作成し
ます。
9 [パラメータ設定]セクションで、選択されたドキュメントにパラメータがある場合、パラメータ値を選択します。
10 [OK]をクリックします。
18.3 スマートタグの使用
Crystal Reports では、Office XP のスマートタグを活用できます。チャート、テキストオブジェクト、またはフィー
ルドオブジェクトを Office XP アプリケーションの中に貼り付けた場合、スマートタグオプションを選択して、これ
らのオブジェクトが入っている元のレポートのデータを表示できます。次の表は、使用できるオプションをまとめ
たものです。
Office XP アプリケーション
Word
Excel
Outlook
402
スマートタグオプション
表示
最新表示
Crystal Reports オブジェクトタイプ
テキストオブジェクト
フィールドオブジェクト
チャート
表示
テキストオブジェクト
最新表示
フィールドオブジェクト
表示
テキストオブジェクト
最新表示(メッセージの作成時の
み)
フィールドオブジェクト
チャート
2012-05-10
レポートの印刷、エクスポート、および表示
スマートタグを使用するには、[オプション]ダイアログボックスの[スマートタグ]タブで Web サーバのオプション
を設定しておく必要があります。また、レポートの詳細を表示するための .asp ページまたは .jsp ページを作成
することも必要です。通常は、システム管理者がこれらの作業を行う必要があります。
注
スマートタグで利用するレポートは、[オプション]ダイアログボックスで指定した Web サーバ上で、実際の保存
場所に対応したディレクトリにあることが必要です。または、Web サーバが UNC パスを受け入れるように設定
されている必要があります。
18.3.1 Crystal Reports オブジェクトでスマートタグを使用する
1 Office XP アプリケーションにコピーするオブジェクトが入っている Crystal レポートを開きます。
2 [ファイル]メニューで[オプション]をクリックし、[スマートタグおよび HTML プレビュー]タブのスマートタグ
Web サーバオプション領域に表示されるオプションが設定済みであることを確認します。
• Web サーバの名前を指定します。
•
仮想ディレクトリの名前を指定します(デフォルト値が用意されています)。
•
表示ページの名前を指定します(デフォルト値が用意されています)。
3 Crystal Reports の[プレビュー]タブで、コピーするテキストオブジェクト、フィールドオブジェクト、またはチャー
トを右クリックし、ショートカットメニューから[スマートタグのコピー]を選択します。
4 Office XP アプリケーションを開き、文書、ワークシート、または電子メールメッセージの中にレポートオブジェ
クトを貼り付けます。
注
各 Office XP アプリケーションに貼り付けることができるレポートオブジェクトの種類については、この節の表
を参照してください。
5 Office XP アプリケーションで、貼り付けたレポートオブジェクトのオプションから適切なスマートタグを選択
します。
注
各 Office XP アプリケーションで使用できるスマートタグの種類については、この節の表を参照してくださ
い。
[オプション]ダイアログボックスで指定した .asp ページまたは .jsp ページが表示され、そこに元の Crystal
レポートからの適切な情報が表示されます。
403
2012-05-10
レポートのアラート
レポートのアラート
19.1 レポートのアラートについて
レポートのアラートは、Crystal Reports で作成したカスタムメッセージであり、レポートのデータが一定の条件を
満たすと表示されます。レポートのアラートは、ユーザが実行すべき操作またはレポートデータについての情報
を表します。
レポートのアラートは、指定した条件を評価する式から作成されます。条件が真であれば、アラートが発せられ、
メッセージが表示されます。メッセージはテキスト文字列またはテキストとレポートフィールドを組み合わせた式
にすることができます。
レポートがアラートを発した後は、レポートのデータを最新表示するまで、再度評価されることはありません。
レポートのアラートは各レポートに固有であるため、使用する場合と使用しない場合を決定する必要がありま
す。販売が限度を上回る場合または下回る場合など、重要な情報を指摘する場合に有効です。データに固有
なメッセージを作成できます。
19.2 レポートのアラートの使用
この節では、レポートのアラート機能を使用するのに必要なタスクについて説明します。
19.2.1 レポートのアラートの作成
レポートのアラートを作成するには、以下の手順で行います。
405
•
アラートに名前を付ける。
•
アラートを発生させる条件を定義する。
•
アラートで表示するメッセージを作成する(この手順は省略可能です)。
2012-05-10
レポートのアラート
19.2.1.1 レポートのアラートを作成する
1 [レポート]メニューの[アラート]をポイントし、[アラートの作成/変更]をクリックします。
[アラートの作成]ダイアログボックスが表示されます。
2 [新規作成]ボタンをクリックします。
[アラートの作成]ダイアログボックスが表示されます。
3 作成するアラートの名前を[名前]ボックスに入力します。
4 [メッセージ]ボックスにアラートで表示するメッセージを入力します。
[メッセージ]ボックスでは、デフォルトとして使用するメッセージを入力できます。アラートが発せられるたび
に同じメッセージを表示する場合は、そのメッセージを[メッセージ]ボックスに入力します。
式を使用してカスタマイズしたメッセージを表示するには、次の手順を実行します。
5
式を使用してアラートメッセージを作成する場合は、[メッセージ]の右側にある式ボタンをクリックしま
す。
式ワークショップが表示されます。このエディタの使用方法については、420 ページの 「式エディタを使った
作業」を参照してください。
6 アラートメッセージ条件式を入力します。
たとえば、"<国> の売上は優秀です"(<国> は特定の国名)というメッセージを表示する場合は、次の式を作
成します。
({Customer.Country}) + " is a star performer"
注
•
•
アラートメッセージ条件式の結果は文字列である必要があります。
[メッセージ]ボックスで追加したメッセージを参照するには、DefaultAttribute 関数を使用します。たとえ
ば、[メッセージ]ボックスのメッセージが「の売上は優秀です」の場合、アラートメッセージ条件式は次の
ようになります。
({Customer.Country}) + DefaultAttribute
この式は [メッセージ] ボックスに入力するテキスト (DefaultAttribute) に応じて決まります。
注
アラートメッセージ条件式を作成するとき、Crystal 構文と Basic 構文のどちらでも使用できます。
7 [保存して閉じる]をクリックして[アラートの作成]ダイアログボックスに戻ります。
8 [アラートの作成]ダイアログボックスで[条件]をクリックします。
式ワークショップが表示されます。
9 アラート条件式を入力します。
406
2012-05-10
レポートのアラート
アラート式は、循環レコードまたは集計フィールドを基準にすることはできますが、積算合計または出力時
刻式など、値が出力時に決定されるフィールドを基準にすることはできません。アラート条件式では、共有
変数は使用できません。
アラート条件式の基準を集計フィールドに置く場合は、使用する循環フィールドが集計フィールド上で定数
型になっている必要があります。たとえば、国と地域でグループ化するときに、次のようなアラート条件式を
作成するとします。
Sum ({Customer.Last Year's Sales}, {Customer.Region}) > 10000
この場合、式では"国"または"地域"を参照することはできますが、"市"または"顧客名"は定数でないため、
参照することはできません。
注
アラート条件式を作成するとき、Crystal 構文と Basic 構文のどちらでも使用できます。
10 アラートを評価しない場合は、[有効]チェックボックスをオフにします。
評価する場合は、オンのままにしておきます。
11 アラートを保存するには、[OK]をクリックします。
[アラートの作成]ダイアログボックスに戻ると、作成したアラートがリストに追加されます。アラートの名前と状
態(有効/無効)が表示されます。
有効または無効にされたアラートだけが[アラートの作成]ダイアログボックスに表示されます。アラートが発
せられると、[レポートアラート]ダイアログボックスに表示されます。
19.2.2 レポートのアラートの編集
1 [レポート]メニューの[アラート]をポイントし、[アラートの作成/変更]をクリックします。
2 [アラートの作成]ダイアログボックスで、編集するアラートを選択し、[編集]をクリックします。
407
2012-05-10
レポートのアラート
ヒント
アラートをダブルクリックして、そのアラートを編集することもできます。
3 [アラートの編集]ダイアログボックスで必要な変更を行います。
4 [OK]をクリックして変更を保存します。
注
アラートが既に発生している場合にアラートを編集すると、アラートは[レポートアラート]ダイアログボックスから
削除されます。
19.2.3 レポートのアラートの削除
1 [レポート]メニューの[アラート]をポイントし、[アラートの作成/変更]をクリックします。
2 [アラートの作成]ダイアログボックスで、削除するアラートを選択し、[削除]をクリックします。
選択したアラートが、[アラートの作成]ダイアログボックスから削除されます。
注
アラートが既に発生している場合にアラートを削除すると、アラートは[レポートアラート]ダイアログボックスから
も削除されます。
19.2.4 レポートのアラートの表示
次の手順で、発生したレポートのアラートを表示します。
•
レポートデータを最新表示する。
•
[レポート]メニューの[アラート]サブメニューから[発生したアラート]を選択する。
注
レポートデータを最新表示したときにアラートを表示する場合は、[オプション]ダイアログボックスの[レポート]タ
ブにある[最新表示時にアラートを表示]チェックボックスをオンにしておく必要があります(このオプションは[レ
ポートオプション]ダイアログボックスでも指定できます)。
19.2.4.1 レポートのアラートを表示する
1 [レポート]メニューの[アラート]をポイントし、[発生したアラート]をクリックします。
[レポートアラート]ダイアログボックスが表示されます。
408
2012-05-10
レポートのアラート
2 表示するレコードのあるアラートを選択します。
3 [レコードの表示]をクリックします。
新しいレポートタブが開かれ、アラートを発生させたレポートレコードが表示されます。レコードが非表示の
場合、レコードのグループは表示されますが、ドリルダウンは実行できません。
注
発生したアラートを複数選択して[レコードの表示]ボタンをクリックした場合は、選択したアラートに論理演
算子 AND が適用されて結果が生成されます。
4 [レポートアラート]ダイアログボックスに戻るには、[プレビュー]タブをクリックします。
5 [閉じる]をクリックして、[レポートアラート]ダイアログボックスを閉じます。
19.2.5 レポートのアラートの式での参照
アラートは式で参照することができます。アラートを式で参照すると、その式は出力時に評価される式になりま
す。
次の関数を使用できます。
•
IsAlertEnabled()
•
IsAlertTriggered()
•
AlertMessage()
これらの関数は、[アラートの作成]ダイアログボックスで作成したアラートと同じ動作をします。
•
IsAlertTriggered("AlertName")は、アラートが適用されたレコードでだけ真になります。
•
AlertMessage("AlertName")は、アラートが真のときにメッセージを表示します。
アラートはフィールドオブジェクトではないため(アラートはレポートにドロップできません)、式ワークショップのレ
ポートフィールドとは表示が異なります。アラートは、関数ツリーでその他の関数と共に見出し"アラート名"の下
に表示されます。使用できるアラートの名前がその下に一覧表示されます。
409
2012-05-10
式の使用
式の使用
20.1 式の概要
レポートに必要なデータは、データベーステーブルのフィールドにすでに存在している場合が多くあります。た
とえば、受注リストを作成する場合は、その目的に合ったフィールドをレポート上に配置すれば済みます。
しかし、どのデータフィールドにもないデータをレポートに挿入しなければならない場合もあります。このような
場合は、式を作成する必要があります。たとえば、各注文の処理にかかった日数を計算するには、受注日から
出荷日までの日数を求める式が必要です。Crystal Reports を使うと、こうした式を簡単に作成できます。
20.1.1 式の使用例
式の用途は数多くあります。特別なデータの操作が必要な場合は、式を使用します。
計算フィールドを作成してレポートに追加
15% 引きの価格を計算します。
Crystal 構文の例
{Orders_Detail.Unit Price}*.85
Basic 構文の例
formula = {Orders_Detail.Unit Price}*.85
レポート内のテキストの書式設定
"顧客名"フィールドの値をすべて大文字に変換します。
Crystal 構文の例
UpperCase ({Customer.Customer Name})
Basic 構文の例
formula = UCase ({Customer.Customer Name})
411
2012-05-10
式の使用
テキスト文字列の部分抽出
顧客名から最初の1文字を抽出します。
Crystal 構文の例
{Customer.Customer Name} [1]
Basic 構文の例
formula = {Customer.Customer Name} (1)
日付の部分抽出
注文を受けた月を判別します。
Crystal 構文の例
Month ({Orders.Order Date})
Basic 構文の例
formula = Month ({Orders.Order Date})
カスタム関数の使用
$500 を米ドルからカナダドルに変換します。
Crystal 構文の例
cdConvertUSToCanadian (500)
Basic 構文の例
formula = cdConvertUSToCanadian (500)
20.2 式の構成要素と構文
式には、構成要素と構文という 2 つの必須部分があります。構成要素は式を作成するために追加していく部
分であり、構文は構成要素を構成するときに従うルールです。
20.2.1 式の構成要素
Crystal Reports を使って式を作成する作業は、スプレッドシートアプリケーションを使って式を作成する作業と
似ています。式の中では、次の構成要素を使用できます。
フィールド
例: {customer.顧客名(姓)}、{customer.前年度取引高}
412
2012-05-10
式の使用
数値
例: 1、2、3.1416
テキスト
例: "数量"、":"、"テキスト"
演算子
例: +(加算)、/(除算)、-x(負号)
演算子は、式の中で使用できる操作を表します。
関数
例: Round(x)、Trim(x)
関数は、平均、合計、件数などの計算を行います。使用できるすべての関数は、引数と共にその用途別にリス
トされます。
カスタム関数
例: cdFirstDayofMonth、cdStatutoryHolidays
カスタム関数は、式のロジックの共有や再利用の方法を用意しています。カスタム関数は SAP BusinessObjects
Enterprise リポジトリに保存すると、レポートに追加できます。レポートに追加した後、式の作成時にカスタム関
数を式エキスパートで使用できます。
制御構造
例: "If"、"Select"、"For"ループ
グループフィールド値
例: Average(fld, condFld)、Sum(fld, condFld, "condition")
グループフィールド値はグループの集計値です。たとえば、グループフィールド値を使用すると、総計に対す
る各グループの割合を求めることができます。
その他の式
例: {@粗利益}、{@数量}
20.2.2 式の構文
構文は、正しい式を作成するために使用するルールです。基本的なルールには、次のようなものがあります。
413
•
テキスト文字列は引用符で囲む。
•
引数があればかっこで囲む。
•
参照する式は、先頭に @ 記号を付けて識別する。
2012-05-10
式の使用
20.2.2.1 Crystal 構文と Basic 構文
式を作成する場合は、Crystal 構文と Basic 構文のどちらかを使用できます。一方の構文で記述された式のほ
とんどは、もう一方の構文でも記述できます。レポートの中に、Crystal 構文を使った式と Basic 構文を使った
式を共存させることもできます。
Crystal 構文を使った式言語は、Crystal Reports のすべてのバージョンに組み込まれています。
Microsoft Visual Basic または他のバージョンの Basic に精通している場合は、Basic 構文の方が使いやすい
かもしれません。レポートの作成を処理するために特別な拡張機能を備えている点を除けば、Basic 構文は全
体としてVisual Basicを基にしています。
Crystal 構文の使い勝手に満足している場合は、それを使い続けることができます。また、
注
•
•
•
レコード選択式およびグループ選択式は、Basic 構文では記述できません。
Basic 構文を使用してもレポートの処理速度が遅くなることはありません。Basic 構文を使ったレポートは、
Crystal Reports が稼働するどのマシンでも実行できます。
Basic 構文の式を使用すると、レポートのほかに追加のファイルを配布する必要がありません。
20.2.2.2 より詳しい情報
•
Basic 構文の詳細については、オンラインヘルプの「Basic 構文を使った式の作成」を参照してください。
•
Crystal 構文の詳細については、オンラインヘルプの「Crystal 構文を使った式の作成」を参照してください。
20.3 式のユーザ関数ライブラリ
Crystal Reports を使用して、開発者は式エディタが認識するユーザ関数ライブラリ(UFL)を作成できます。UFL
は、開発者がそれぞれの必要に応じて作成する関数のライブラリです。UFL は、COM または Java 環境でプ
ログラムできます。
Crystal Reports では、式エディタで COM UFL や Java UFL を表示できますが、両方を同時に表示すること
はできません。また、UFL を非表示にすることもできます。
414
2012-05-10
式の使用
注
Java UFL は、Report Application Server (RAS) と Crystal Page Server ではサポートされていないため、レポー
トに式が含まれ、かつその式が Java UFL を使用する場合、レポートを SAP BusinessObjects Business Intelligence
プラットフォームで実行できません。式をコンパイルできないためです。
Java UFL の開発および UFL を使用するための Crystal Reports の設定の詳細については、 『Java Reporting
Component 開発者ガイド 』を参照してください。
注
この開発者ガイドに従って設定を完了したら、Crystal Reports に戻り、[ファイル]メニューで[オプション]を選択
します。[式エディタ]タブで[UFL サポート]から[Java UFLs のみ]を選択します。
20.4 式の説明
Crystal Reportsには、レポート式、書式設定式、選択式、検索式、積算合計条件式、アラート式といった、さま
ざまな種類の式があります。レポートで最も多く使用される式は、レポート式と条件付き書式設定式です。
レポート式
レポート式は、レポート内に作成されて単独で機能する式です。たとえば、受注日から出荷日までの日数を計
算する式はレポート式です。
条件付き書式設定式
書式設定式は、レポートのレイアウトおよびデザインを変更したり、テキスト、データベース、フィールド、オブ
ジェクト、またはレポートセクション全体を変更します。テキストの書式は書式エディタで設定します。書式設定
式を作成する必要がある場合は、書式エディタから式ワークショップにアクセスします。詳細については、253
ページの 「条件付き書式設定」を参照してください。
注
書式エディタから式ワークショップを開始した場合、別の式を作成することはできず、既存の式の変更や削除も
できません。ただし、式を表示することはできます。
選択式
選択式は、レポートに表示するレコードやグループを指定したり、限定します。これらの式は直接入力すること
も、選択エキスパートで選択を指定することもできます。その後、Crystal Reports により、レコード選択式および
グループ選択式が生成されます。これらの式を手動で編集することもできますが、その場合は Crystal 構文を
使用する必要があります。詳細については、129 ページの 「レコードの選択」を参照してください。
検索式
検索式は、レポート内でデータを見つけるために使用します。検索式は、選択式と同様、通常は直接入力せ
ずに、検索エキスパートで検索条件を指定します。Crystal Reports が式を生成します。これらの式を手動で編
集することもできますが、その場合は Crystal 構文を使用する必要があります。
注
既に、Basic 構文を習得している場合でも、選択式と検索式の変更に必要な Crystal 構文の知識はわずかで
す。
415
2012-05-10
式の使用
積算合計条件式
積算合計条件式を使うと、積算合計の評価またはリセットの条件を定義できます。詳細については、183 ペー
ジの 「条件付き積算合計の作成」を参照してください。
アラート式
アラート式は、レポートのアラートに関する条件およびメッセージを定義するうえで役に立ちます。詳細につい
ては、405 ページの 「レポートのアラートについて」を参照してください。
20.4.1 式ワークショップの使用
式ワークショップでは、多くの異なる種類の式を作成できます。このワークショップは、ツールバー、作成または
編集できる式の種類を一覧に示すツリー、および式を定義する領域で構成されています。
注
検索式と積算合計条件式は、[検索エキスパート] および [積算合計フィールドの作成 (または編集)] ダイアロ
グボックスで作成、管理します。これらのダイアログボックスでは、使い慣れたユーザインタフェースで操作でき
るように式ワークショップが開かれます。ただし、普通に式ワークショップを開いて直接これらの式を追加したり
管理することはできません。
20.4.1.1 式ワークショップへのアクセス
式ワークショップには、さまざまな方法でアクセスできます。式ワークショップは、新しい [式フィールド] を追加
する場合、選択式を定義する場合、カスタム関数を使用する場合などに表示されます。
特定の種類の式を追加する前であれば、式ワークショップそのものを開くこともできます。
20.4.1.1.1 式ワークショップにアクセスする
1 [レポート] メニューの [式ワークショップ] をクリックします。
ヒント
[エキスパートツール] ツールバーの [式ワークショップ] ボタンをクリックする方法もあります。
式ワークショップが表示されます。
2
[新規作成] をクリックして、作成する式の種類をリストから選択します。
ヒント
ワークショップツリーから適切なフォルダを選択して、[新規作成] ボタンをクリックすることもできます。
対応するエディタまたはダイアログボックスが表示されます。
416
2012-05-10
式の使用
20.4.1.2 ワークショップツリー
ワークショップツリーには、Crystal Reportsで作成できる各種類の式のフォルダがあります。カスタム関数およ
び SQL 式のフォルダも含まれています。特定コマンドを使った結果として (たとえば、[選択式] サブメニューで
[レコード] コマンドを選択した場合の結果として) ワークショップが表示される場合、ツリーの中の該当するフォ
ルダが選択され、適切なバージョンの式エディタが表示されます。
既存の式を参照するには、ツリーの中の任意のフォルダを展開します。ここで新しい式を追加したり、既存の式
を必要に応じて編集または削除できます。
ヒント
ワークショップツリーはドッキングできます。デフォルトでは、式ワークショップの左側にドッキングされて表示さ
れますが、手動で右側にドッキングすることができます。浮動モードでは、ワークショップの任意の場所にワー
クショップツリーをドラッグできます。
20.4.1.3 式ワークショップのボタン
式ワークショップのメインツールバーは、3 つの小さなツールバーで構成されています。これらの 3 つのツール
バーには、式ワークショップ全体の操作、ワークショップツリーの操作、およびエディタの操作に関連する一連
のボタンが含まれています。個々のボタンは、そのとき行っている作業によって利用可能になったり利用不可
能になったりします。各ツールバーは必要に応じて移動または固定できます。
式ワークショップの [一般] ツールバーにある各ボタンは次の機能を実行します。
変更内容の保存を要求した後で、式ワークショップを
閉じます。変更内容を保存する場合、式にエラーが
あるかどうかをチェックします。
式、SQL 式、またはカスタム関数を保存します。
リストから選択した種類の式を新しく作成します。新
しいカスタム関数または SQL 式を作成する場合にも
使用します。
ワークショップツリーの表示/非表示を切り替えます。
417
2012-05-10
式の使用
カスタム関数エディタと [カスタム関数プロパティ] ダ
イアログボックスの表示を切り替えます。このボタンが
もう一度クリックされるまで、選択したモードには、カ
スタム関数および式(使用できる場合)が表示されま
す。
式エキスパートを開きます。式エキスパートは、カス
タム関数に基づく式の作成に役立ちます。
注
このボタンは、カスタム関数の作成時には使用できま
せん。
[式ワークショップ] ダイアログボックスのオンラインヘ
ルプを開きます。
式ワークショップの [ワークショップツリー] ツールバーにある各ボタンは次の機能を実行します。
選択した式、カスタム関数、または SQL 式の名前を
変更できます。
選択した式、カスタム関数、または SQL 式を削除し
ます。
ワークショップツリーの中の選択されたノードを展開
します。複数ノードが選択されていても使用できます。
オブジェクトに式が関連付けられていない場合、書
式設定式フォルダの中のレポートオブジェクトノード
の表示/非表示を切り替えます。
[リポジトリへのカスタム関数の追加] ダイアログボック
スを開き、カスタム関数を追加するリポジトリを選択で
きます。
選択したリポジトリのカスタム関数をレポートに追加し
ます。
式ワークショップの [式エディタ] ツールバーにある各ボタンは次の機能を実行します。
418
2012-05-10
式の使用
式またはカスタム関数の構文をテストし、構文エラー
を発見します。
最後に実行した操作を元に戻します。
最後に実行した操作をやり直します。
[レポートフィールド] ウィンドウでフィールドを選択し
て [データの参照] ボタンをクリックすると、選択した
フィールドの値が一覧表示されます。
選択したフィールドの値の一覧から、式に挿入する
値を選択します。
注
このボタンはカスタム関数では使用できません。
特定の単語、数値、または式文字列を式エディタか
ら検索します。
選択した式行の先頭にブックマークを挿入します。
ブックマークを削除するには、ボタンをもう一度クリッ
クします。
次のブックマークにジャンプします。
前のブックマークにジャンプします。
現在の式にあるすべてのブックマークを削除します。
すべてのレポートフィールド、関数、および演算子の
ツリーを五十音順に並べ替えます。
レポートフィールドツリーの表示/非表示を切り替えま
す。
注
このボタンはカスタム関数では使用できません。
関数ツリーの表示/非表示を切り替えます。
419
2012-05-10
式の使用
演算子ツリーの表示/非表示を切り替えます。
グローバルな式検索の結果セットの表示と非表示を
切り替えます。
Crystal 構文または Basic 構文を式の構文として選
択できるようにします。
データ内の NULL 値を処理する方法として、[NULL
の例外] または [NULL のデフォルト値] を選択でき
ます。
強調表示された式の選択部分をコメントにします。コ
メント行の部分は式としては評価されません。
20.4.2 式エディタを使った作業
式エディタは式ワークショップのコンポーネントです。式エディタを使って、式の内容を作成および変更します。
20.4.2.1 式エディタの各部分の説明
式エディタには主要なウィンドウが4 つあります。
420
ウィンドウ
内容
レポートフィールド
レポートフィールドは作成中のレポートからアクセス
できるすべてのデータベースフィールドです。また、
既にレポートで作成した式やグループも含まれます。
2012-05-10
式の使用
ウィンドウ
内容
関数
関数は組み込みのプロシージャで、値を返します。
平均、合計、件数、サイン (sin)、スペースの削除、大
文字への変換などの計算や操作を実行します。
このウィンドウには、カスタム関数もリストされていま
す。
演算子
演算子は、式の中で値の操作に使用する"動詞"と
言えます。演算子は、複数の値を使って実行される
演算または操作を表します。
加算、減算、より小さい (比較)、より大きい (比較) な
どの演算や操作があります。
式テキストウィンドウ
式を作成する場所です。
20.4.2.2 構文の選択
式ワークショップの [式エディタ] ツールバーにはドロップダウンリストがあります。このリストで、作成する式の構
文として、Crystal 構文または Basic 構文を選択します。
注
構文を、Crystal 構文から Basic 構文に、またはその逆に変更すると、演算子ウィンドウの演算子リストと関数
ウィンドウの関数リストが共に変更されます。関数と演算子は構文によって異なります。
レポートフィールドはどちらの構文でも使用できるので、使用可能なレポートフィールドは変更されません。
デフォルトの構文の設定
式エディタを開くと、Crystal 構文がデフォルトの構文として表示されます。デフォルトの構文を変更するには、
[ファイル] メニューの [オプション] を選択し、[レポート] タブをクリックします。[式言語] ドロップダウンリストから
構文を選択し、[OK] をクリックします。次に式エディタを使用すると、選択した構文がデフォルトとして表示され
ます。
20.4.2.3 式のコンポーネントの入力
421
2012-05-10
式の使用
式エディタの上部にあるレポートフィールドツリー、関数ツリー、および演算子ツリーには、式の基本的な構成
要素が含まれています。作成する式にいずれかのコンポーネントを追加するには、これらのツリーでそのコン
ポーネントをダブルクリックします。
たとえば、使用する構文を Basic 構文に設定し、[演算子] ツリーで [演算子] の下の [制御構造] にある複数
行の If 式をダブルクリックすると、次のテキストが式テキストボックスに挿入され、If と Then の間にカーソルが
置かれます。
If | Then
ElseIf Then
Else
End If
このテキストは、式の記述に必要な要素を構成するのに役立ちます。
20.4.2.4 式エディタのボタン
式エディタで使用できるボタンの一覧については、417 ページの 「式ワークショップのボタン」の「[式エディタ]
ツールバー」の節を参照してください。
20.4.2.5 式エディタのフォントサイズの変更
[ファイル] メニューから [オプション] ダイアログボックスを開くと、式エディタに表示されるフォントのサイズ、お
よびテキスト、コメント、キーワードの前景色と背景色を変更できます。
20.4.2.6 式エディタのキー操作
式エディタでは、次のショートカットキーを使用できます。
422
キーの組み合わせ
実行される操作
Alt+B
強調表示したフィールドの [参照] ダイアログ
Alt+C
式にエラーがないかチェックします。
2012-05-10
式の使用
423
キーの組み合わせ
実行される操作
Alt+F
フィールドツリーウィンドウを表示または非表示にしま
す。
Alt+M
現在の行にコメントを入れたり、現在の行からコメント
を削除したりします。
Alt+O
ツリーの内容を並べ替えます。
Alt+P
演算子ツリーを表示または非表示にします。
Alt+S
式エディタを終了せずに、式を保存します。
Alt+U
関数ツリーを表示または非表示にします。
Ctrl+A
すべて選択します。
Ctrl+C
コピーします。
Ctrl+End
式の最終行の最後に移動します。
Ctrl+F
[検索] ダイアログボックスを開きます ([検索] または
[置換] ボタンをクリックするのと同じ)。
Ctrl+F2
ブックマークを設定します。
Ctrl+Shift+F2
すべてのブックマークをクリアします。
Ctrl+Home
ファイルの先頭に移動します。
Ctrl+ 左矢印
左側にある単語の先頭に移動します (Shift キーも押
すと、その単語を選択します)。
Ctrl+N
[式名] ダイアログボックス、またはその他の適切なダ
イアログボックスを開いて、新しい式を作成します。
2012-05-10
式の使用
キーの組み合わせ
実行される操作
Ctrl+S
式を保存して式ワークショップを終了します。
Ctrl+T
構文名リストボックスにフォーカスを移動します。
Ctrl+Shift+Tab
次のコントロールボックスにフォーカスを移動します
(Ctrl-Tab とは反対の順序)。
Ctrl+Tab
次のコントロールボックスにフォーカスを移動します。
Ctrl+V
貼り付けます。
Ctrl+X
切り取ります。
Ctrl+Z
操作を元に戻します。
Ctrl+Shift+Z
操作を繰り返します。
Ctrl+Space
キーワードのオートコンプリート。使用できる関数の
一覧を表示します。
End
行の最後に移動します。
Enter
リストから選択したオブジェクトを式のテキストボックス
にコピーします。
F3
[検索] ダイアログボックスに定義されている次のアイ
テムを検索します。
Shift+F2
前のブックマークに移動します。
20.5 式の作成と変更
424
2012-05-10
式の使用
20.5.1 式の作成およびレポートへの挿入
1 [表示] メニューで、[フィールドエクスプローラ] をクリックします。
2
[フィールドエクスプローラ] ダイアログボックスで [式フィールド] を選択して、[新規作成] をクリックしま
す。
3 [式名] ダイアログボックスで、式を識別するための名前を入力し、[OK] をクリックします。
式ワークショップは、式エディタがアクティブな状態で表示されます。
4 [式エディタ] ツールバーで Crystal 構文または Basic 構文を選択します。
どちらの構文を選べばよいかわからない場合は、413 ページの 「式の構文」を参照してください。
5 構成要素をキー入力するか、構成要素ツリーから選択して、式を入力します。
ヒント
•
•
Ctrl+Space キーを押すと、利用可能な関数のリストが表示されます。既に入力を開始している場合は、
入力した文字に一致するキーワードが一覧表示されます。
開き中かっこを入力すると、利用可能なフィールドのリストが自動的に表示されます。以前に Esc キーを
押してリストをクリアしている場合は、Ctrl キーを押しながら Space キーを押すともう一度リストが表示さ
れます。
6
[確認] をクリックして、式にエラーがないか確認します。
7 式チェッカーによって構文エラーが検出された場合は、式を修正します。
8 式の構文が正しい場合は、式ワークショップツールバーの [保存して閉じる] をクリックします。
9 [フィールドエクスプローラ] ダイアログボックスで新しい式を選択し、レポートの表示先までドラッグします。
注
レポートに挿入された式は、[デザイン] タブでは @ で示されます (例 : @ProcessTime)。
20.5.2 式エキスパートによる式の作成
式エキスパートは式ワークショップのコンポーネントです。式エキスパートを使うと、カスタム関数に基づく式を
作成および変更できます。
注
式エキスパートのユーザインタフェースの詳細については、オンラインヘルプの「式エキスパート」を参照してく
ださい。
425
2012-05-10
式の使用
20.5.2.1 式エキスパートで式を作成する
注
この手順に入る前に、アクセスする SAP BusinessObjects Enterprise リポジトリまたはレポートの中に、カスタム
関数が入っていることを確認してください。
1 [レポート] メニューの [式ワークショップ] をクリックします。
ヒント
[エキスパートツール] ツールバーの [式ワークショップ] ボタンをクリックする方法もあります。
2
ワークショップツリーの [式フィールド] を選択して、[新規作成] をクリックします。
3 [式名] ダイアログボックスで、式を識別するための名前を入力し、[OK] をクリックします。
式エディタがアクティブな状態で式エキスパートが表示されます。
4
ツールバーの [エキスパート/エディタの使用] をクリックします。
式エキスパートが表示されます。
5 [カスタム関数] 領域で、式の基準とするカスタム関数を選択します。
[レポートカスタム関数] (現在のレポートの中にあるカスタム関数)、または [リポジトリカスタム関数] (リポジト
リに保存されているカスタム関数) を選択することができます。
注
[リポジトリカスタム関数] を選択すると、そのカスタム関数が現在のレポートに追加されます。そのカスタム関
数が、リポジトリの中にある他のカスタム関数を必要とする場合、それらも追加されます。
426
2012-05-10
式の使用
6 [関数の引数] 領域で、適切な [値] フィールドに各引数の値を指定します。
定数値を直接入力することも、定義済みの値またはレポートフィールドを関連リストから選択することもでき
ます。
7 [上書き保存] をクリックして式ワークショップの [式フィールド] に式を保存します。
これで、式エディタで作成した式と同様に、この式をレポート内で使用できます。
20.5.3 式の編集
1 [表示] メニューで、[フィールドエクスプローラ] をクリックします。
[フィールドエクスプローラ] ダイアログボックスが表示されます。
2 編集する式を右クリックし、 [編集] を選択します。
式ワークショップは、式エディタがアクティブな状態で表示されます。
3 式エディタで式を編集します。
4
[確認] をクリックして、式にエラーがないか確認します。
5 式チェッカーによって構文エラーが検出された場合は、式を修正します。
6 式の構文が正しい場合は、式ワークショップツールバーの [保存して閉じる] をクリックします。
20.5.4 式テキストの検索
[検索] ダイアログボックスでは、次のようなさまざまな操作を実行できます。
•
フィールドツリー、関数ツリー、または演算子ツリーでテキストまたは文字を検索する。
•
開いている式、カスタム関数、SQL 式で、マークを付けたり置換するテキストまたは文字を検索する。
•
レポート内のすべての SQL 式でテキストまたは文字を検索する。
•
レポート内のすべての式およびカスタム関数でテキストまたは文字を検索する。
すべての式でテキストを検索すると、式ワークショップの下部にある枠に結果が表示されます。結果枠は他の
場所にドッキングできます。結果枠でアイテムをクリックすると、Crystal Reports では適切な式が開いて、一致
するテキストが強調表示されます。
ヒント
式ワークショップを開いて、フィールドエクスプローラおよびレポート本文のすべての式を検索することができま
す。これを行うには、式フィールドを選択して右クリックし、[式の検索] オプションを選択します。
427
2012-05-10
式の使用
20.5.5 式のコピー
20.5.5.1 既存の式をコピーする
Crystal Reports では、既存の式をコピーしてその式を編集し、新しい式を作成することができます。
1 メインメニューの [表示] から [フィールドエクスプローラ] を選択します。
[フィールドエクスプローラ] ダイアログボックスが表示されます。
2 [式フィールド] リストで既存の式を選択して右クリックし、ショートカットメニューの [複写] を選択します。
Crystal Reports では、式の名前の最後に数値を追加して式のコピーが作成されます。
3
[編集] をクリックし、式の定義を変更して式を変更します。
注
式ワークショップまたはフィールド エクスプローラで式の名前を変更することもできます。
4 式の構文が正しい場合は、式ワークショップツールバーの [保存して閉じる] をクリックします。
20.5.5.2 オンラインヘルプから式をコピーする
式エディタを使って作成する式はテキストなので、オンラインヘルプに用意されている式の中から目的の式を
式エディタに直接コピーし、それを必要に応じて変更することができます。
1 [ヘルプ]メニューの[Crystal Reports ヘルプ]をクリックします。
Crystal Reports オンラインヘルプが表示されます。
2
3
4
5
[インデックス]タブをクリックします。
キーワードフィールドに式を入力して、[表示] をクリックします。
式のトピックをスクロールして、コピーする式を見つけます。
式を強調表示し、右クリックして、メニューの [コピー] を選択します。
選択したテキストがクリップボードにコピーされます。
6 Crystal Reports に戻り、メインメニューの[表示]から[フィールドエクスプローラ]を選択します。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
428
2012-05-10
式の使用
7
[式フィールド] を選択し、[新規作成] ボタンをクリックします。
[式名]ダイアログボックスが表示されます。
8 識別する式の名前を入力し、[OK]をクリックします。
式ワークショップは、式エディタがアクティブな状態で表示されます。
9 式エディタの[式]テキストボックスで、式を貼り付ける位置にカーソルを置き、Ctrl+V キーを押すと、クリップ
ボードからその位置に式のテキストが貼り付けられます。
10 現在のレポートのデータと共に式を使用するには、必要に応じて、フィールド、式、グループフィールド、条
件文、およびテキスト文字列を変更します。
11 式の構文が正しい場合は、式ワークショップツールバーの[保存して閉じる]をクリックします。
20.5.5.3 レポートからレポートに式をコピーする
1
2
3
4
5
6
レポートにコピーする式フィールドを選択します。
[編集]メニューの[コピー]をクリックします。
式のコピー先となるレポートを開きます。
[編集]メニューの[貼り付け]を選択します。
オブジェクトフレームが表示されたら、式を新しい位置にドラッグします。
式を変更するには、式を右クリックし、ショートカットメニューの[式の編集]を選択します。
式ワークショップは、式エディタがアクティブな状態で表示されます。
7 古い値を削除し、新しい値をキー入力します。または、フィールドツリー、関数ツリー、および演算子ツリー
から新しい値を選択します。
8 終了したら、式ワークショップツールバーの[保存して閉じる]をクリックします。
20.5.5.4 コピーした式を編集する場合の重要事項
式のコピーを変更する場合は、次の点を参考にしてください。
429
•
コピーした式の中で参照されているフィールド、式、およびグループフィールドは、すべて新しいレポートの
中に実際になくてはなりません。つまり、元の式の中で参照されているデータベース(または、同じ構造、
フィールド名、およびエイリアスを持つデータベース)が新しいレポートでもアクティブになっている必要があ
ります。
•
そのデータベースがアクティブになっていない場合は、コピーした式の中のフィールド、式、およびグルー
プフィールドの参照先を変更して、新しいレポート内の要素と対応させる必要があります。
•
式の中に条件を含む要素が入っている場合は、その条件が新しいレポート内のデータにも適用できること
を確認してください。たとえば、元のレポートでは、ある量が 100 より大きい場合に何らかの操作を実行する
2012-05-10
式の使用
式である場合、「100 より大きい場合」という条件が新しい式の中でも意味があるかどうかを確認してくださ
い。式を変更すると、新しいデータについては「10 より大きい場合」や「2000 より大きい場合」という条件の
方がより適切である場合もあります。
•
式を新しいデータに対して使用し、さらに次のような文が含まれているとします。
If {file.FIELD} = "text string"
この場合は、式の中で使用されている"テキスト"が、新しいデータの中に実際に存在する値と一致している
かどうかを確認してください。
20.6 式の削除
式を作成してレポートに追加すると、Report Designer は次の処理を行います。
•
ユーザが割り当てた名前を使い、式の作成に関する指定を格納します。
•
その式の作業用コピーをユーザがレポートで指定した位置に配置します。作業用コピーは、レポート内で
使用されている式です。
式を完全に削除するには、その仕様およびすべての作業用コピーを削除する必要があります。
注
その式のすべての作業用コピーを削除しないと、仕様を削除することはできません。
20.6.1 レポートからの作業用コピーの削除
1 レポートから削除する式を右クリックします。
2 [削除]を選択します。
注
式の作業用コピーがレポートから削除された後も、式の仕様はそのまま残ります。仕様は[フィールドエクスプ
ローラ]ダイアログボックスにリストされます。これを使用して、削除した式をもう一度レポートに挿入できます。
20.6.2 式の仕様の削除
1 メインメニューの[表示]から[フィールドエクスプローラ]を選択します。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
2 削除する式を右クリックし、[削除]を選択します。
430
2012-05-10
式の使用
注
この式が現在レポートの中で使用されている場合は、ダイアログボックスが表示されます。式を削除すると、レ
ポート内にあるこの式への参照がすべて削除されます。式を削除する場合は、[はい]をクリックします。
20.7 式のデバッグ
式を保存するときに行う式のデバッグについては、432 ページの 「デバッグのチュートリアル」を参照してくださ
い。
式エディタのスタックリストが表示される評価時エラーのデバッグとデバッグの補助機能については、431 ペー
ジの 「評価時エラーのデバッグ」を参照してください。
20.7.1 評価時エラーのデバッグ
評価時エラーの結果、式ワークショップが表示されると、ワークショップツリーにコールスタックが表示されます。
ツリーのルートには、発生したエラーが記述されます。ツリーのノードには、エラー発生時に評価されていた関
数や式の名前が表示されます。コールスタックの最上段にあるカスタム関数/式が、エラーの発生した場所で
す。スタック内の次のカスタム関数/式は、上のカスタム関数/式を呼び出したカスタム関数/式を表します。ツ
リーのカスタム関数/式のノードを選択すると、エディタウィンドウにカスタム関数/式のテキストが表示され、エ
ラー発生時に評価されていた式のテキストが強調表示されます。ツリーのカスタム関数/式のノードを展開する
と、カスタム関数/式で使用されていた変数と、エラー発生時の変数値が表示されます。
20.7.1.1 評価時エラーの例
サンプルレポート"Custom Functions.rpt"を使用して、1 を @Calendar Days Between 関数の結果で割る新し
い式を作成します。Basic では、次のような構文になります。
formula = 1/{@Calendar Days Between}
Crystal では、次のような構文になります。
1/{@Calendar Days Between}
レポートの詳細セクションにこの式を挿入し、レポートをプレビューします。0 による除算のエラーが発生するた
め、式エディタが起動され、左側にコールスタックが表示されます。
431
2012-05-10
式の使用
20.7.2 デバッグのチュートリアル
次の例に従って、式のデバッグに必要な手順を学習してください。この練習を終了したら、これと同じ進め方で
実際の式をデバッグしてください。
20.7.2.1 このチュートリアルについて
•
このチュートリアルでは、xtreme.mdb サンプルデータベースを使用します。
•
このチュートリアルでは、Crystal 構文を使用します。
•
エラーがないかどうかをテストするのは次の式です。
If ({customer.CUSTOMER NAME} [1 to 2 = "Bi" and
ToText({customer,CUSTOMER ID}) [1] = "6") Or
({customer.CUSTOMER NAME} [1] = 'Ro" and
ToText({customer.CUSTOMER ID}) [1] = "5")
"PREFERRED CUSTOMER"
Else
"DOES NOT FIT CRITERIA"
エラーがなければ、この式は、名前が"Bi"で始まり、顧客番号 が"6"で始まるすべての顧客、および会社名
が"Ro"で始まり、顧客番号 が"5"で始まるすべての会社を選び出すはずです。フィールドを出力すると、選択
されたレコードには"目的の顧客"と表示され、その他のレコードには"その他の顧客"と表示されます。
次に、式を細かく分析して、式の中のそれぞれの条件が機能するかどうかを確認します。
20.7.2.2 Formula1
1 初めに、xtreme.mdb の Customer テーブルを使ってレポートを作成し、次のフィールドを詳細セクションに
左から右に配置します。
{customer.CUSTOMER ID}
{customer.CUSTOMER NAME}
式の各部分をテストするため、レポート内のこれら 2 つのフィールドの右に新しいフィールドを 1 つ配置し
ます。
2 Formula1 という名前の新しい式を作成します。
3 式エディタの式テキストボックスに次の式を入力します。
If {customer.CUSTOMER NAME} [1 to 2 = "Bi" Then
"TRUE"
Else
"FALSE"
432
2012-05-10
式の使用
4
[確認]をクリックして、エラーがないかどうかをテストします。次のエラーメッセージが表示されます。
The ] is missing.
5 2 の後に、抜けている"]"を挿入して式を修正します。
6 [確認]をもう一度クリックします。次のメッセージが表示されます。
No errors found.
7 式ワークショップツールバーの[保存して閉じる]をクリックします。
8 レポートの詳細セクションに配置した 2 つのデータフィールドの右に、修正した式フィールドを挿入します。
9
[標準]ツールバーの[印刷プレビュー]をクリックします。レポート内で値を確認し、またフィールドどうし
を比較して、@Formula1 が返したフィールド値が正しいかどうかを検査します。
"Bi"で始まる顧客名の横には"TRUE"と表示され、それ以外の顧客名の横には"FALSE"と表示されているは
ずです。次に、式の他の部分を検査します。ステップ 1 ~ 9 に従い、それぞれの以下に指定された式を使用
して、Formula2 、Formula3 、および Formula4 を作成します。
各式フィールドを[詳細]セクションの同じ行に挿入して、簡単に比較できるようにします。それぞれエラーがない
か確認し、必要があれば訂正して、戻り値が正しいことを確認してから Formula2 に移ります。
20.7.2.3 Formula2
1 Formula2 という名前の新しい式を作成します。
2 式エディタの式テキストボックスに次の式を入力します。
If ToText({customer,CUSTOMER ID}) [1] = "6" Then
"TRUE"
Else
"FALSE"
3
[確認]をクリックして、エラーがないかどうかをテストします。次のエラーメッセージが表示されます。
This field name is not known.
4 フィールド名の中にあるカンマ(,)をピリオド(.)に置き換えて式を修正します。
5 [確認]をもう一度クリックします。今度はエラーはないはずです。
6 @Formula1 フィールドの右に式を配置します。
7
[標準]ツールバーの[印刷プレビュー]をクリックします。レポート内で値を確認し、またフィールドどうし
を比較して、@Formula2 が返したフィールド値が正しいかどうかを検査します。
"6"で始まる顧客番号の横には"TRUE"と表示され、それ以外の顧客番号の横には"FALSE"と表示されるはず
です。
433
2012-05-10
式の使用
20.7.2.4 Formula3
1 Formula3 という名前の新しい式を作成します。
2 式エディタの式テキストボックスに次の式を入力します。
If {customer.CUSTOMER NAME} [1 to 2] = 'Ro" Then
"TRUE"
Else
"FALSE"
3
[確認]をクリックして、エラーがないかどうかをテストします。次のエラーメッセージが表示されます。
The matching ' for this string is missing.
4 Ro の前の一重引用符(')を二重引用符(")に変更して式を修正します。
5 [確認]をもう一度クリックします。今度はエラーはないはずです。
6 @Formula2 フィールドの右に式を配置します。
7
[標準]ツールバーの[印刷プレビュー]をクリックします。レポート内で値を確認し、またフィールドどうし
を比較して、@Formula3 が返したフィールド値が正しいかどうかを検査します。
"Ro"で始まる顧客名の横には"TRUE"と表示され、それ以外の顧客名の横には"FALSE"と表示されるはずで
す。
20.7.2.5 Formula4
1 Formula4 という名前の新しい式を作成します。
2 式エディタの式テキストボックスに次の式を入力します。
If ToText({customer.CUSTOMER ID}) [1] = "5"
"TRUE"
Else
"FALSE"
3
[確認]をクリックして、エラーがないかどうかをテストします。次のエラーメッセージが表示されます。
The word 'then' is missing.
4 最初の行の末尾の"5"の後に"Then"を入力して式を修正します。
5 [確認]をもう一度クリックします。今度はエラーはないはずです。
6 @Formula3 フィールドの右に式を配置します。
7
[標準]ツールバーの[印刷プレビュー]をクリックします。レポート内で値を確認し、またフィールドどうし
を比較して、@Formula4 が返したフィールド値が正しいかどうかを検査します。
434
2012-05-10
式の使用
"5"で始まる顧客番号の横には"TRUE"と表示され、それ以外の顧客番号の横には"FALSE"と表示されるはず
です。
これで式にエラーがなくなり、返されるフィールド値は正しいものになりました。次に、別々の構成要素を組み合
わせた式を作成します。まず、初めの 2 つの式(@Formula1 と @Formula2 )を組み合わせます。次に、@Formula3
と @Formula4 を追加し、最終的な式 @FinalFormula を作成します。
20.7.2.6 Formula1+2
1 Formula1+2 という名前の新しい式を作成します。
2 式エディタの式テキストボックスに次の式を入力します。
If {customer.CUSTOMER NAME} [1 to 2] = "Bi" and
ToText({customer.CUSTOMER ID}) [1] = "6" Then
"TRUE"
Else
"FALSE"
3 @Formula4 フィールドの右に式を配置します。
名前が Bi で始まり、番号が 6 で始まる顧客の横には"TRUE"と表示され、この条件に合わないすべての顧客
の横には"FALSE"と表示されるはずです。
この式が正しく機能した場合は、@Formula3 と @Formula4 のコードを追加して最終的な式を作成できます。
20.7.2.7 FinalFormula
1 FinalFormula という名前の新しい式を作成します。
2 式エディタの式テキストボックスに次の式を入力します。
If ({customer.CUSTOMER NAME} [1 to 2] = "Bi" and
ToText({customer.CUSTOMER ID}) [1] = "6") or
({customer.CUSTOMER NAME} [1 to 2] = "Ro" and
ToText({customer.CUSTOMER ID}) [1] = "5") Then
"PREFERRED CUSTOMER"
Else
"DOESN'T FIT CRITERIA";
3 この式をレポートの詳細セクションの表示位置に配置します。必要でなくなった他の式フィールドは、すべ
てレポートから削除できます。詳細については、430 ページの 「式の削除」を参照してください。
このように、条件ごとにテストを進める手順を利用すると、どのような式でも計画的に検査することができます。
20.8 エラーメッセージと式コンパイラによる警告
435
2012-05-10
式の使用
) がありません。
かっこは対にして使用しなくてはなりません。すべての左かっこと右かっこが対応していなくてはなりません。対
応する右かっこが存在しない左かっこがあります。足りないかっこを挿入して、再チェックしてください。
] がありません。
角かっこは対にして使用しなくてはなりません。すべての左角かっこと右角かっこが対応していなくてはなりま
せん。対応する右角かっこが存在しない左角かっこがあります。足りない角かっこを挿入して、再チェックしてく
ださい。
論理値の範囲変数は使用できません。
論理値範囲変数が入力されました。範囲変数は論理値以外のすべてのデータ型で許可されます。データ型
を論理型以外に変更するか、論理値範囲変数の代わりに論理値アイテム変数を入力してください。
日付を表す数値は、1 から各月にある日数以内でなければなりません。
その月の日数を超える大きさの数値が入力されました。たとえば、1 月の場合は、ゼロ(0)または 32 以上の数
値を入力すると、この警告が表示されます。その月の日数を超えない大きさの数値に変更して、再チェックして
ください。
ここにはフィールドが必要です。
式の中で、フィールドを入力する場所にフィールド以外のものが入力されました。問題を解決し、再チェックし
てください。
式は直接的にも間接的にも式自体を参照できません。
式自体を参照する式を入力することはできません。たとえば、式 @Profit の作成中、@Profit を関数への引数と
して使用することはできません。その参照を削除し、再チェックしてください。
ここには関数が必要です。
関数を入力する場所に関数が入力されていません。式を見直し、関数を入力するか、式にエラーがあれば式
を修正してください。
月を表す数値は、1 ~ 12 の間でなければなりません。
月を表す数値として規定範囲外の数値が入力されました。月を表す数値は 1 から12 の範囲で入力し、再チェッ
クしてください。
文字列は最長で半角 65534 文字までです。
プログラムでは、式で使用できる文字列は最大 65534 文字です。この最大値よりも長い文字列が入力されまし
た。文字列を短くし、再チェックしてください。
添字は 1 から文字列の長さまでの間でなければなりません。
存在しない文字列を指定する添字番号が入力されました。たとえば、5 文字の文字列で 6 番目や 8 番目の文
字を参照する添字が入力されると、この警告が表示されます。存在する値を参照する添字に変更し、再チェッ
クしてください。
注
添字は、その番号が負数である場合、-1 から文字列の負の長さまでの負数にすることができます。たとえば、
文字列が 3 文字である場合は、-1、-2、または -3 を添字として使用できます。
436
2012-05-10
式の使用
添字は 1 から配列のサイズまででなければなりません。
存在しない配列項目を指定する添字が入力されました。たとえば、項目が 5 つある配列で 6 番目や 8 番目の
項目を参照する添字が入力されると、この警告が表示されます。存在する値を参照する添字に変更し、再チェッ
クしてください。
注
添字は、その番号が負数である場合、-1 から配列の負の長さまでの負数にすることができます。たとえば、配
列が [1,2,3] である場合は、-1、-2、または -3 を添字として使用できます。
ここには小計条件を入力できません。
並べ替え/グループ化フィールドとして日付フィールドまたは論理型フィールド以外を使用する小計条件が小
計用に入力されました。その小計は条件を必要としません。条件を削除し、続行してください。
小計条件は文字列でなければなりません。
文字列書式以外の小計条件が入力されました。式に小計条件を入力するときは、小計条件は一重引用符か
二重引用符で囲んでください。
変数は異なる型で再宣言することはできません。
同じ名前で、既に宣言された変数と異なる型の変数が宣言されました。この操作は許可されていません。変数
名を変更するか、元のデータ型と一致するようデータ型を変更してください。
ここには変数が必要です。
式で、左辺に変数がない状態で代入演算子(:=)が入力されました。代入演算子の左側には変数が必要です。
変数を入力し、再度試してください。
ここには変数名を入力します。
変数名を宣言せず、変数のデータ型が宣言されました。宣言を完了するには変数名を入力しなくてはなりませ
ん。変数名を入力し、続行してください。
アクセスが拒否されました。
指定されたファイルにはアクセスできません。ファイルが他のプログラム(またはネットワーク上の他のユーザ)で
使用されていないか、正しいネットワークアクセス権限があるかどうかをチェックし、再度試してください。
カスタム関数‘sampleFunction’の呼び出し中にエラーが発生しました。
レポートで指定されたカスタム関数を呼び出そうとしてエラーが発生しました。このエラーについては、式ワーク
ショップのデバッガを参照してください。
メモリを再割り当てできません。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了して
ください。その後、再度試してください。
メモリを割り当てられません。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了して
ください。その後、再度試してください。
カスタム関数です。カスタム関数名に値を代入して戻り値を指定する必要があります。
関数に戻り値を代入する必要があります。
437
2012-05-10
式の使用
日付は 1 ~ 9999 年の間でなければなりません。
規定範囲外の日付が入力されました。1 から 9999 年(9999 年を含む)の範囲の日付を入力し、再チェックして
ください。
ディスクがいっぱいです。
いっぱいになったディスクにレポートを保存しようとしました。他のディスクに保存するか、現在のディスクから不
要なファイルを削除し、再度試してください。
0(ゼロ)で除算しました。
ゼロでの除算を行う式が入力されました。このような除算はできません。0 で除算しない式を作成し、再チェック
してください。
次のような検査を行うようにすれば、このような問題を回避できます。
If {file.FORECAST} = 0 Then
0
Else
{file.SALES} / {file.FORECAST}
式コードにエラーがあります。Business Objectsに連絡してください。
式に予測できない異常があります。この警告の原因となった式テキストを保存し、Crystal Decisions に連絡して
ください。
解析ツリーでエラーが発生しました。Business Objectsに連絡してください。
式の解析中、解析ツリーを処理できない状況になりました。この警告の原因となった式テキストを保存し、Crystal
Decisions に連絡してください。
フィールドはまだ使用されています。
要求されたフィールドは現在使用中です。フィールドを使用できる状態になったら、再度試してください。
フィールドはカスタム関数内で使用できません。
カスタム関数内でフィールドを使おうとしました。フィールドはカスタム関数内で使用できません。
ファイル名は既に使用されています。この名前で保存する前に、xxx のウィンドウを閉じてください。
開いているレポートで既に使用されているファイル名でファイルを保存しようとしました。まずレポートを閉じ、再
度試してください。
ファイルが見つかりません。
指定されたファイル名は見つかりません。ファイル名かパスが誤っています。正しいファイル名かパスを入力し、
再度試してください。ディレクトリにファイル WBTRVDEF.DLL がない場合もあります。このファイルと
WBTRCALL.DLL はデータ辞書ファイルを読み込むのに必要です。
ファイルアクセス権エラー。
アクセス権限のないファイルが要求されました。このファイルを開くには、必要なアクセス権限を得なくてはなり
ません。
438
2012-05-10
式の使用
正しい Borland カスタムコントロール DLL(BWCC.DLL)がインストールされていません。m.n 以降のバージョン
が必要です。
見つかった BWCC.DLL のバージョンは古すぎるので、正しいプログラム操作ができません。この理由としては
以下が考えられます。
プログラムのインストール中、BWCC.DLL が Crystal Reports ディレクトリ(CRW32.EXE と同じディレクトリ)にイ
ンストールされた。
インストール中、AUTOEXE.BAT の PATH 文の末尾に Crystal Reports ディレクトリが追加された(PATH 文を
更新するようにインストールプログラムの実行時に指定した場合)。
Windows ディレクトリ、Windows の System ディレクトリ、またはパスで Crystal Reports ディレクトリより前にある
ディレクトリに古いバージョンの BWCC.DLL がインストールされた場合(以前のインストールの結果による)は、
その BWCC.DLL が使用され、Crystal Reports ディレクトリにある新しいバージョンの BWCC.DLL は使用され
ません。
この問題を解決する
正しいバージョンの BWCC.DLL は Crystal Reports に含まれています。この問題を解決するには、パスで
CRW より前に指定されているディレクトリにある古いバージョンの BWCC.DLL を削除してください。
これでも問題が解決されない場合は、Crystal Reports ディレクトリから Windows ディレクトリに最新バージョン
の BWCC.DLL を移してください。
内部エラーです: PrintDlg でエラーが発生しました: 4100
Windows コントロールパネルでプリンタドライバがインストールされていません。Crystal Reports はレポートを開
くとき、そのレポートと共に保存されたプリンタを探します。そのプリンタが見つからない場合は、既定のプリンタ
を探します。既定のプリンタが見つからない場合は、このエラーメッセージが表示されます。
十分なメモリがありません。
目的の処理をプログラムで実行するのに十分なメモリがありません。メモリを解放し、再試行してください。
DOS バージョンが無効です。
バージョン 3.0 より古いバージョンの DOS を使用しています。バージョン 3.0 以降の DOS をインストールして、
再度試してください。
無効なファイルハンドルです。
存在しないファイルハンドルが指定されました。正しいファイルハンドルを入力し、続行してください。
通常使うプリンタが選択されていません。コントロールパネルで通常使うプリンタを選択できます。
コントロールパネルを使ってプリンタを選択し、Crystal Reports を再起動してください。
通常使うプリンタを選択しないと、Crystal Reports を使用できません。通常使うプリンタを選択せずにCrystal
Reports を起動しようとすると、このエラーメッセージが表示されます。
通常使うプリンタを選択する
Windows コントロールパネルで[プリンタ]アイコンをクリックすると、[プリンタ]ダイアログボックスが表示され、イン
ストールされているすべてのプリンタが表示されます。
通常使うプリンタをまだインストールしていない場合は、インストールし、そのリストをダブルクリックしてください。
439
2012-05-10
式の使用
注
•
•
プリンタを通常使うプリンタとして選択するには、まず、プリンタを有効にしておく必要があります。
プリンタのインストール方法と通常使うプリンタの詳細については、Microsoft Windows に付属のマニュアル
を参照してください。
テーブル参照が一意ではありません: テーブル名
このエラーメッセージは、一般に、テーブル名にアンダスコアが含まれている場合、テーブル名が 15 文字を超
える長さの場合、または数字で始まる場合に表示されます。
この関数への引数が足りません。
この関数には、指定された引数よりも多くの引数が必要です。足りない引数を入力し、再チェックしてください。
メモリが不足しています。
コマンドを処理するのに必要なメモリがありません。不要なレポートを閉じ、必要でないプログラムを終了してく
ださい。その後、再度試してください。
数値がオーバーフローしました。
中間結果または最終結果が大きすぎるので表示できません。結果が小さくなるように、式を組み立て直すか分
割してから、再チェックしてください。
カスタム関数で使用できる変数はローカル変数のみです。
カスタム関数は、その関数内で定義した変数しか参照できません。カスタム関数の詳細については、 「Using
Custom Functions」?を参照してください。
物理データベースが見つかりません。
DLL またはデータベースが見つかりません。これらのファイルが含まれるディレクトリが PATH 文に列挙されて
いるかどうかをチェックしてください。
閉じる前に、印刷をキャンセルしてください。
Report Engine が呼び出されましたが、それにより、まだ処理中のジョブの終了が試みられました。印刷ジョブ
を終了する前に、印刷をキャンセルしてください。
プリンタが利用できません。
選択されたプリンタへの接続に問題があります。Windows コントロールパネルでプリンタを選択し直し、再度試
してください。
レポートファイルは既に存在します。sample.rpt を上書きしますか?
既に存在するレポートと同じ名前でレポートを保存しようとしています。既存のレポートは上書きされ、利用でき
なくなります。レポートを上書きする場合[はい]を、保存を中止して別の名前を選択する場合は[いいえ]をクリッ
クしてください。
レポートが変更されました。閉じる前に sample.rpt への変更を保存しますか?
レポートを開いてから変更が加えられていますが、保存せずにレポートウィンドウを閉じようとしました。レポート
を閉じる前に保存しなければ、変更内容が失われます。内容変更を保存する場合は[はい]を、保存しないでレ
ポートを閉じる場合は[いいえ]をクリックしてください。
440
2012-05-10
式の使用
カスタム関数内で‘sampleFunction’に値を代入する必要があります。
カスタム関数内でその関数自身の戻り値を代入する必要があります。
この機能はまだサポートしていません。後で再度実行してください。
現在のバージョンには実装されていない機能を使おうとしました。その機能が実装されたアップグレード品がリ
リースされてから、再度試してください。
指定された時点では式を評価できません。
関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更できるだけで、
前に変更することはできません。必要な評価時期を整理するには式を変更してください。
式が複雑すぎます。簡略化してください。
待ち状態にできる演算数 50 の制限を超えているので、式を評価できませんでした。待ち状態の演算とは、優
先順位規則のため保留状態になっている演算を言います。待ち状態の演算は、優先順位の高い演算が終了
したら行われます。
式の構成を変更することで、待ち状態の演算数を減らして同じ値を計算できることがあります。最も簡単な例と
して、2 + 3 * 4 という式で、足し算は掛け算が完了するまで行われません。したがって足し算は待ち状態にな
り、掛け算が完了するまで保留されます。この式を 3*4+2 と書き直すと、結果は同じですが、演算は左から右
に行わるため、待ち状態の演算はなくなります。
式を修正し、再チェックしてください。
このフィールド名には '}' がありません。
フィールド名は中かっこ{}で囲まれていなくてはなりません。入力された中かっこは対ではありません。足りない
中かっこを挿入し、再チェックしてください。
この文字列には ''' がありません。
' で始まる文字列は ' で終わらなくてはなりません。入力された ' は対ではありません。足りない引用符を挿入
し、再チェックしてください。
この文字列には " がありません。
" で始まる文字列は " で終わらなくてはなりません。入力された " は対ではありません。足りない引用符を挿
入し、再チェックしてください。
文字列のコピー数が多すぎるか、または整数ではありません。
ReplicateString 関数で指定した複製数が多すぎます。または、複製数が整数ではない値で指定されています。
複製数を減らすか、複製数を整数で指定し、再度試してください。
日数が大きすぎるか、または整数ではありません。
日付に対して日数を足したり引いたりするとき、日数は整数のみが使用できます。整数ではない日数を足した
り引いたりすることはできません(1/2 日、3.6 日など)。また、日付に対して日数を足したり引いたりした後、その
結果は日付の規定範囲の 0000 ~ 9999 年の間に収まる必要があります。整数以外の日数を入力したり、結
果が規定範囲外の日付になった場合、式エディタからこの警告が表示されます。問題を解決し、再チェックし
てください。
441
2012-05-10
式の使用
小数点以下の桁数を指定する数値が大きすぎるか、または整数ではありません。
Round(x, # places )関数または第 2 引数として、大きすぎる小数点以下桁数または整数ではない数値が指定
されました。数値を小さい整数に変更し、再チェックしてください。
レコード選択式に 'PageNumber' 、'RecordNumber'、'GroupNumber'、'Previous' 、または 'Next'を含めることは
できません。
レコード選択式に、Page Number、RecordNumber、GroupNumber、Previous、または Next の出力状況関数を
含めることはできません。そのようなフィールドを削除して、再チェックしてください。
レコード選択式に集計フィールドを含めることはできません。
集計フィールドがレコード選択式に含められています。集計フィールドをレコード選択式に含めることはできま
せん。集計フィールドを削除し、再チェックしてください。
式の一部にならないテキストがあります。
何も指定できない場所に式のオペランド(式の演算の対象)が指定されました。多くの場合、これは演算子、関
数の前半部分、または必須の構文項目が欠けていることを意味します。エラーを正し、再チェックしてください。
式の結果は範囲になりません。
範囲を算出する式が作成されました。式は単一値を算出しなくてはなりません。式を修正し、再チェックしてくだ
さい。
式の結果は配列になりません。
配列を算出する式が作成されました。式は単一値を算出しなくてはなりません。式を修正し、再チェックしてくだ
さい。
選択式の結果は、論理値でなければなりません。
論理値以外を返す選択式が作成されました。比較演算子(= など)を使用して式を組み立て直し、再チェックし
てください。
特殊変数フィールドを作成できませんでした。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了して
ください。その後、再度試してください。
文字列は数値として扱えません。
ToNumber 関数への引数は、文字列として保存されている数値である必要があります(顧客番号や ID 番号な
ど)。文字列の前にはマイナス記号があっても、または前後に空白があってもかまいません。数字ではない引数
が指定されたので、数値に変換することはできません。引数を数字に変更し、再チェックしてください。
集計フィールドを作成できませんでした。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了して
ください。その後、再度試してください。
変数を作成できませんでした。
変数を作成できませんでした。宣言された変数は作成できませんでした。スペリングや宣言文の構文をチェック
し、再度試してください。
442
2012-05-10
式の使用
'Else' がありません。
If-Then-Else 式の中で、 'Else' の部分がない(または誤った位置にある)ので、式が機能しません。"Else" を挿
入し(または位置を正し)、再チェックしてください。
'Then' がありません。
If-Then-Else 式の中で、‘Then’の部分がない(または誤った位置にある)ので、式が機能しません。‘Then’を挿
入し(または位置を正し)、再チェックしてください。
このフィールド名は文字数が多すぎます。
フィールド名は最大 254 文字までです。この制限を超える文字数のフィールド名が入力されました。規定範囲
内の文字数のフィールド名に入力し、再度試してください。
この文字列は文字数が多すぎます。
式の文字列には、最大 65534 文字まで指定できます。この最大値よりも長い文字列が入力されました。文字
列を短くし(または 2 つ以上の文字列に分割して連結し)、再チェックしてください。
この名前は文字数および桁数が多すぎます。
変数名は最大 254 文字までです。この制限を超える文字数の名前が入力されました。この制限に合致するよ
う名前を短くし、続行してください。
この式にはエラーがあります。エラー詳細を確認して式を編集してください。
エラーを修正していない式を式エディタの[保存して閉じる]ボタンで反映しようとしました。示されたエラーを修
正し、再度試してください。
このカスタム関数にはエラーがあります。エラー詳細を確認して式を編集してください。
エラーのあるカスタム関数を保存しようとしました。示されたエラーを修正し、再度試してください。
このフィールドに一致する小計セクションが必要です。
式に小計が入力されましたが、レポート自体に対応する小計が存在しません。式に入力する小計は、レポート
に既に存在する小計に対応するものでなくてはなりません。レポートに必要な小計を加えて式をもう一度入力
するか、式を削除し、再チェックしてください。
この配列には添字が必要です。例:Array[i]
角かっこで囲まれていない配列が入力されました。角かっこで配列を囲み、再チェックしてください。
このフィールドは集計できません。
レポートに存在しない集計フィールドが入力されました。式に入力する集計フィールドは、レポートに既に存在
する集計フィールドに対応するものでなくてはなりません。レポートに集計フィールドを入力してから集計フィー
ルドを式にもう一度入力するか、または集計フィールドを式に入力しないでください。
このフィールドを小計条件フィールドとして使うことはできません。
条件フィールドとして入力されたフィールドにより、式の中の小計とレポートの中の小計が合わなくなりました。
式に入力する小計は、レポートに既に存在する小計に対応するものでなくてはなりません。レポートに小計を
入力してから小計を式にもう一度入力するか、または小計を式に入力しないでください。
443
2012-05-10
式の使用
このフィールドは後で評価する必要があるため、使用することはできません。
関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更できるだけで、
前に変更することはできません。必要な評価時期を整理するには式を変更してください。
このフィールドには、前の値または次の値はありません。
前の値がないフィールドを Previous 関数または PreviousIsNull 関数の引数として使用しました。または、次の
値がないフィールドを Next 関数または NextIsNull 関数の引数として使用しました。これらの関数を使用する
には、引数を適切な値が含まれるフィールドに変更してください。
このフィールドは現在の式のセクションと同じセクションになければなりません。
フィールドがオペランドとして式に組み込まれたので、無効なオペランドであるセクションに移されました。
フィールド名が見つかりません。
アクティブデータベースの中にないフィールド名が入力されました。フィールド名や、そのエイリアスのスペリン
グを修正し、再チェックしてください。現在アクティブではないデータベースに含まれるフィールド名を入力する
には、データベースをまず開いてから、フィールド名を再度入力してください。
この式は後で評価する必要があるため、使用することはできません。
関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更できるだけで、
前に変更することはできません。必要な評価時期を整理するには式を変更してください。
この関数は後で評価する必要があるため、使用することはできません。
関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更できるだけで、
前に変更することはできません。必要な評価時期を整理するには式を変更してください。
この関数はカスタム関数内で使用できません。
カスタム関数内で使用できない、ステートレスでない関数または式を使おうとしました。
このグループセクションは、条件フィールドが存在しないかまたは無効なため出力できません。
別の条件フィールドを選択してください。そのレポートには、既にレポートにない、または変更された条件フィー
ルドに基づいたグループセクションが含まれているため、グループセクションに対し無効です。グループ化条件
を見直して問題の原因を特定し、修正してください。
小計条件が不明です。
レポートの中に存在しない小計条件が入力されました。式に入力する小計は、レポートに既に存在する小計に
対応するものでなくてはなりません。小計条件を変更し、再チェックしてください。
この関数への引数が多すぎます。
非配列関数の引数として配列が入力されました。たとえば、配列を囲む角かっこ(配列の使用時に必要な構文
項目)を忘れると、このような問題が起きます。式チェッカーは、配列値を非配列関数の引数と見なし、エラー
メッセージを表示します。
この配列に指定された項目が多すぎます。
配列の項目は最大 50 個までです。この制限を超える個数の項目が指定されました。配列の項目数を減らし、
再チェックしてください。
444
2012-05-10
式の使用
開いているファイル数が多すぎます。
CONFIG.SYS の FILES = 文で指定された数を超えるファイル(データベース、レポート)が開かれました。この
エラーを防ぐには、使用するファイルを減らすか、FILES = 文でファイル数を増やしてください。
オペランドがない、または不正な場合に表示される警告
以下の警告は、特定の種類のオペランド(式の演算の対象)がなければならない場所に他のものが見つかった
場合に表示されます。たとえば、式 5>a は、数値をテキストと比較しています。式チェッカーは、数値 5 が何か
と比較されていることを認識すると、その何かも数値であると予想します。数値以外が表示されると、"ここには
数値が必要です。"という警告が表示されます。
入力した式に応じて、次のメッセージのいずれかが表示されます。
445
•
ここには数値が必要です。
•
ここには論理値の配列が必要です。
•
ここには論理値が必要です。
•
ここには通貨値が必要です。
•
ここには通貨の配列が必要です。
•
ここには通貨範囲が必要です。
•
ここには日付の配列が必要です。
•
ここには日付が必要です。
•
ここには日付範囲が必要です。
•
ここには数値の配列が必要です。
•
ここには数値の配列または通貨の配列が必要です。
•
ここには数値、通貨値、論理値または文字列が入ります。
•
ここには数値、通貨値、論理値、日付または文字列が必要です。
•
ここには数値、通貨値、日付または文字列が必要です。
•
ここには数値、通貨値、または日付が必要です。
•
ここには数値フィールドまたは通貨値フィールドが必要です。
•
ここには数値が必要です。
•
ここには数値または通貨値が必要です。
•
ここには数値範囲が必要です。
•
ここには文字列の配列が必要です。
•
ここには文字列が必要です。
•
ここには文字列または値の配列が必要です。
•
ここには配列の値が必要です。
•
ここにはカスタム関数名‘sampleFunction’が入ります。
2012-05-10
パラメータフィールドとプロンプト
パラメータフィールドとプロンプト
21.1 パラメータとプロンプトの概要
パラメータは、Crystal Reports 式で使用できる Crystal Reports フィールドです。式の構成要素であるため、プ
ログラムがレポートを処理する前に、パラメータに値を設定する必要があります。式、選択式、およびレポート自
体の中でパラメータを使用すると、単一のレポートを作成し、ユーザが入力する値によってその動作を変更す
ることができます。パラメータフィールドは、サブレポートでも使用できます。
プロンプトは、ユーザによるレポートパラメータ値の設定を支援する要素です。プロンプトは、次のような点でパ
ラメータとは異なります。
•
プロンプトは、Crystal Reports 式では直接使用されない。
•
プロンプトには、ユーザに対して表示するプロンプトダイアログボックスの外観を決定するためのユーザイン
タフェース設定が含まれる。
•
プロンプトには、オプションで、ユーザが選択するための値の一覧が含まれる。この値の一覧は、レポートご
とに格納された静的な一覧でも、データベースから抽出した動的な一覧(このタイプのプロンプトにはデー
タベースから抽出されたマルチレベルのカスケード形式の一覧も含まれる)でも、どちらでも可能です。
•
パラメータそのものがオプションになるようにプロンプトを設定できます。
ユーザーが表示されるダイアログ ボックスで値を選択すると、それらがプロンプトの値を設定します。Crystal
Reports のプロンプトエンジンがその値を対応するパラメータに割り当て、最終的にそれがレポートで使用され
ます。
パラメータフィールドを作成および編集するとき、1 つのパラメータと 1 つ以上のプロンプトを処理します。
21.1.1 パラメータフィールドに関する留意点
パラメータフィールドを操作するとき、注意しておく点がいくつかあります。
•
パラメータフィールドは、次のデータ型をサポートします。
•
論理値: "はい/いいえ"または"真/偽"の答えを要求します。
(例)「集計にローンの支払い回数を表示しますか?」
447
2012-05-10
パラメータフィールドとプロンプト
•
金額: 金額の値を要求します。
(例)「取引高が XXXX 円以上の顧客を表示します。」
•
日付: 日付書式の答えを要求します。
(例)「四半期の最初と最後の日付を入力してください。」
•
日時: 日付および時刻の両方を必要とします。
(例)「1999 年 7 月 4 日午後 1:00 ~ 2:00 の間の統計を表示します。」
•
数値: 数値を要求します。
(例)「顧客 ID を入力してください。」
•
文字列: 文字列の答えを要求します。
(例)「地域を入力してください。」
•
時刻: 時刻形式の答えを要求します。
(例)「午後 1:00 ~ 2:00 の間の合計呼び出し回数を表示します。」
•
文字列を要求するパラメータフィールドには、1 行当たり約 60 ~ 70 文字(文字幅による)で 4 行まで指定
でき、全体で 254 文字に制限されます。1 行を超える長さの文字列は、自動的に右端で折り返されます。
•
ユーザがパラメータ値をキー入力する代わりにリストから選択できるように、値の一覧を作成できます。値の
一覧には、静的(各レポートに埋め込まれている)、動的(要求されるたびにデータベースから最新表示され
る)、スケジュールによる(繰り返しスケジュールに従ってデータベースから最新表示される)、または部分的
にスケジュールによる(値の一覧の一部はスケジュールによって、他の部分は要求されるたびに最新表示さ
れる)一覧があります。スケジュールによる値の一覧と部分的にスケジュールによる値の一覧は、ビジネス
ビューマネージャによって管理されます。詳細については、 『Business Views 管理者ガイド 』を参照してく
ださい。
•
レコードまたはグループ選択式で使用するために、パラメータフィールドをレポートに配置する必要はありま
せん。単にパラメータフィールドを作成し、他のフィールドと同じように式に入力します。
•
レコードまたはグループ選択式で使用するために、パラメータフィールドをレポートに配置する必要はありま
せん。単にパラメータフィールドを作成し、他のフィールドと同じように式に入力します。
•
パラメータフィールドをオプションとして設定して、プロンプトが表示されたときにユーザが入力を強制されな
いようにすることができます。
21.1.2 プロンプトの留意点
プロンプトを操作するとき、注意しておく点がいくつかあります。
•
プロンプトには静的なものと動的なものがあります。同様に、動的プロンプトもカスケード値の一覧を設定で
きます。それぞれのオプションについての説明は、各項目を参照して下さい。
•
448
457 ページの 「静的プロンプトを伴うパラメータの作成」
2012-05-10
パラメータフィールドとプロンプト
•
460 ページの 「動的プロンプトを伴うパラメータの作成」
•
462 ページの 「カスケード値の一覧を伴うパラメータの作成」
•
動的プロンプトには、特定のレポートや多くのレポートで使用できる値の一覧が含まれます。BusinessObjects
Enterprise リポジトリ に追加することで、値の一覧を共有できます。
•
値の一覧は、ビジネスビューマネージャを介して自動更新するようにスケジュールできます。値の一覧のス
ケジュールに関する詳細は、 『ビジネスビュー管理者ガイド 』を参照してください。
•
値リストは継承するプロンプトの形式にすることもできます。つまり、一連の選択内容に基づいて最終的な値
が決定されるプロンプトを作成できます。たとえば、最初に国を選択するプロンプトを表示し、次に選択され
た国に応じて地域を選択するプロンプトを表示し、さらに入力された地域に基づいて都市を選択するプロン
トを表示するといった手順にします B
21.1.3 データパラメータと非データパラメータ
パラメータは、その使用方法に応じて、データパラメータまたは非データパラメータのいずれかに設定されま
す。レポート内でこれらのパラメータをどのように使用するかは、パラメータ値が変更されたときにレポートデー
タが最新表示されるかどうかに影響します。
データパラメータは次の場所で使用されます。
• レコード選択式で直接または間接的に(式内で参照する)
• コマンドオブジェクト
• ストアドプロシージャ
• ユニバースのパラメータ
データパラメータの値を変更するには、レポートを最新表示して、データベースから新しいデータをフェッチす
る必要があります。たとえば、データパラメータを使用してクエリを生成すると、レポートが最新表示されます。
非データパラメータは次の場所で使用されます。
• 保存データ選択式
• 条件式
• レポートに配置されたパラメータ
非データパラメータの値を変更すると、レポートの保存データがフィルタ選択されるため、最新表示は必要あり
ません。このプロセスでは、データベースの処理にかかる負荷が最小化されます。たとえば、タイトルは非デー
タパラメータです。
注
非データパラメータは、既存のデータの外観を変更します。非データパラメータは、レポートに対して有効な方
法でのみ使用することをお勧めします。たとえば、データベースから 100,000 を超える値のみを選択するレコー
ド選択式がある場合は、保存データ選択式を使用して 100,000 を下回る値を表示するようなフィルタ選択は行
いません。選択式を正しく使用しないと、結果がわかりにくくなり、空のページが表示される場合もあります。
449
2012-05-10
パラメータフィールドとプロンプト
21.1.4 オプションパラメータ
Crystal Reports はオプションパラメータをサポートします。オプションパラメータは、ユーザが指定する必要の
ないプロンプト値です。
レポート作成者は、この情報をプロンプトテキストに追加することでパラメータがオプションであるというガイダン
スをエンドユーザに提供する必要があります。
オプションパラメータは Crystal Reports では、レポート内のどこで使用されていてもオプションとして処理され
ます。パラメータの 1 つのインスタンスをオプションに設定し、他のインスタンスを必須に設定することはできま
せん。
注
• パラメータをオプションに設定した後に、選択エキスパートを使用すると、HasValue() 関数を使用する選択
式が自動的に追加されます。
式ワークショップエディタでは、この式は自動的に追加されません。選択エキスパートのみで式が自動的に
追加されます。
•
パラメータをオプションから必須に変更すると、HasValue() 関数は式から自動的に削除されません。
値のないパラメータの処理
レポートエンジンでは、値のないオプションパラメータを参照する式を評価すると、ランタイムエラーが生成され
ます。オプションパラメータを参照するすべての式で、最初に HasValue() 関数を使用して、式を評価する前に
そのパラメータに値があるかどうかを確認する必要があります。これには、レコード選択式や保存データ式が含
まれます。
注
ステートメントは SQL WHERE 句から自動的に削除されません。HasValue() テストに基づいて除外するレポー
トを決定するのは、デザイナが行います。
21.2 動的プロンプトについて
Crystal Reports では、動的プロンプトとカスケード値の一覧の両方を使用できます。これらの機能によって、レ
ポート外のデータソースから、プロンプトに関連付けられた値の一覧を取得できます。レポート内に格納される
静的な値の一覧も Crystal Reports で使用できます。
この動的な機能は、SAP BusinessObjects Business Intelligence プラットフォームの追加機能を使用できるかど
うかにかかわらず、すべての Crystal Reports ユーザが使用できます。Crystal レポートファイルが SAP
BusinessObjects Business Intelligence プラットフォームに格納されている場合、追加の動的プロンプト機能を
使用できます。次の表には、各製品で使用可能な機能を示しています。
450
2012-05-10
パラメータフィールドとプロンプト
注
この表とこの節の中では、マネージドレポートという用語は SAP BusinessObjects Business Intelligence プラット
フォーム環境に格納されたレポートを示し、アンマネージドレポートという用語はその環境外に格納されたレ
ポートを示します。
機能
Crystal レポートが SAP BusinessObjects Business Intelligence プ
ラットフォームの外部に格納され
ている場合に使用可能かどうか
Crystal レポートが SAP BusinessObjects Business Intelligence プ
ラットフォームに公開されている場
合に使用可能かどうか
動的プロンプトとカスケード値の一
覧を作成する
○
○
設計時に 1 つのレポート内で値の
一覧の定義を再利用する
○
○
設計時に複数のレポート内で値の
一覧の定義を再利用する
×
○
値の一覧のスケジュール
×
○
×
451
マネージドレポートで使用されるす
べての値の一覧はビジネスビュー
が基になりますが、ビジネスビュー
自体はコマンドオブジェクトを基に
することができます。このようにし
て、値の一覧は間接的にコマンド
オブジェクトを基にすることができ
ます。
コマンドオブジェクトから値の一覧
を取得する
○
レポートフィールドから値の一覧を
取得する
○
×
ビジネスビューから値の一覧を取
得する
×
○
レポートの実行時に値の一覧を
キャッシュし、実行中の複数のレ
ポートでその一覧を共有する
×
○
2012-05-10
パラメータフィールドとプロンプト
機能
Crystal レポートが SAP BusinessObjects Business Intelligence プ
ラットフォームの外部に格納され
ている場合に使用可能かどうか
Crystal レポートが SAP BusinessObjects Business Intelligence プ
ラットフォームに公開されている場
合に使用可能かどうか
値の一覧が定期的に更新するよう
にスケジュールする
×
○
値の一覧の一部が定期的に更新
するようにスケジュールし、それ以
外の部分は要求時にデータベー
スから値を抽出するようにする
×
○
Crystal Reports と SAP BusinessObjects Business Intelligence プラットフォーム製品のいくつかのコンポーネ
ントは、動的プロンプトとカスケード値の一覧を伴うレポートの実行をサポートします。
•
Java アプレットビューアを除くすべてのビューア。
注
動的プロンプトとカスケード値の一覧を使用するレポートを Java アプレットビューアで実行すると、動的な値
の一覧を表示する場所でピックリストが表示されなくなります。
サポートされるビューアは、次のとおりです。
•
ActiveX
•
.NET Winform
•
.NET Webform
•
Java、COM、および JSF DHTML ページビューア
•
Java および COM アドバンスト DHTML ビューア
•
SAP BusinessObjects Business Intelligence プラットフォーム内の BI 起動パッドおよびセントラル管理コン
ソールのスケジュール作成インタフェース
•
Report Designer Component(RDC)
•
Crystal Reports XI R2 以降
これらのコンポーネントは、動的プロンプトとカスケード値の一覧を伴うレポートの設計をサポートします。
•
Crystal Reports XI R2 以降
•
統合された Visual Studio .NET デザイナ
•
ビジネスビューマネージャ
注
SAP BusinessObjects BI Interactive Analysis やフルクライアントの製品では動的な機能は使用できませんが、
ユニバースに基づく Crystal レポートはこの節で説明している動的プロンプト機能を使用できます。
452
2012-05-10
パラメータフィールドとプロンプト
21.3 値の一覧について
値の一覧オブジェクトは、次のようにデータソースから値のセットを返します。
•
表示されるダイアログボックスで、プロンプト値を提供します。
•
一覧は、静的な場合(値がレポートに格納される)も動的な場合(値がデータベース内のレポート以外の場所
に格納される)もあります。
•
単一レベルの動的プロンプトでも、マルチレベルのカスケードプロンプトでも使用できます。
たとえば、国の一覧を動的プロンプトにしたり、国、地域、および市町村の階層的な一覧を、段階的に値の
一覧を表示する動的プロンプトにしたりできます。
Crystal Reports は、値の一覧オブジェクトに対して次の 3 つのデータソースをサポートします。
•
レポートフィールド(アンマネージドレポートに対してのみ)
•
コマンドオブジェクト(アンマネージドレポートに対してのみ)
•
ビジネスビュー(管理されるレポートに対してのみ)
値の一覧には 1 つ以上のレベルを設定できます。値の一覧に複数のレベルがある場合、各レベルはその次
の(下位の)レベルを含みます。
値の一覧は、カスケードする一覧のすべてのレベルで取得される必要があるデータの定義と考えることができ
ます。Crystal Reports では、カスケード関係は単一の値の一覧オブジェクトによって定義され、共通キーによっ
て互いにリンクされた複数のクエリでは定義されません。値の一覧は単一のエンティティとして定義されますが、
データはデータソースから単一のクエリによって取得されるとは限りません。
注
• 値の一覧オブジェクトは、レポートレコード選択式やグループ選択式の影響は受けません。これらの式はレ
ポートデータには影響しますが、プロンプト時の値の一覧では使用されません。
•
データ接続が切断されたり、リセットされると、Crystal Reports は動的な値の一覧オブジェクトを作成または
更新せず、静的な一覧に戻します。
21.3.1 値の一覧のタイプ
値の一覧オブジェクトには、次のような 2 つのタイプがあります。
•
各レポートファイル内に格納される、値の一覧(アンマネージド)
SAP BusinessObjects Business Intelligence プラットフォームがない場合、または SAP BusinessObjects
Business Intelligence プラットフォームにレポートを公開しない場合、値の一覧 (アンマネージド) オブジェク
453
2012-05-10
パラメータフィールドとプロンプト
トを使用します。値の一覧 (アンマネージド) オブジェクトは、レポートフィールドやコマンドオブジェクトをデー
タソースとして使用できます。
•
SAP BusinessObjects Business Intelligence プラットフォームの内部に格納される、値の一覧 (マネージド)
SAP BusinessObjects Business Intelligence プラットフォームに格納された各レポートは、値の一覧 (マネー
ジド) オブジェクトを使用します。すべての値の一覧(マネージド)オブジェクトは、レポート自体がビジネス
ビューを使用しない場合でも、ビジネスビューに基づきます。値の一覧(マネージド)オブジェクトには、値の
一覧(アンマネージド)オブジェクトでは使用できない多くの機能があります。
値の一覧(アンマネージド)
値の一覧(マネージド)
機能
レポートフィールド
コマンドオブジェクト
ビジネスビュー
○
○
値の一覧レベルごとに
データベースをクエリす
る
データベースは、ユーザ
が表示されるダイアログ
ボックスで値を選択する
たびに、各レベルでクエ
リされます。
×
設計時に、値の一覧の
フィルタを指定する
レポートフィールドの値
で、値の一覧の定義に
含まれるものがすべて使
用されます。
×
データベースは、すべ
てのレベルのすべての
値に関して一度にクエリ
されます。
○
SQL で提示されるすべ
てのフィルタが使用でき
ます。
○
レポートを表示するとき
に、値の一覧によって必
要な追加情報のプロン
プトを表示する
454
×
コマンドオブジェクトにパ
ラメータが含まれている
場合、レポートを表示す
るときに値を要求するプ
ロンプトが表示されま
す。
データベースは、ユーザ
が表示されるダイアログ
ボックスで値を選択する
たびに、各レベルでクエ
リされます(ビジネス
ビューがコマンドオブ
ジェクトに基づいている
場合を除く)。
○
ビジネスビューはフィル
タをサポートします。
○
ビジネスビューにパラ
メータが含まれている場
合、レポートを表示する
ときに値を要求するプロ
ンプトが表示されます。
2012-05-10
パラメータフィールドとプロンプト
値の一覧(アンマネージド)
値の一覧(マネージド)
機能
レポートフィールド
コマンドオブジェクト
ビジネスビュー
○
ユーザごとに異なる値を
表示する
×
×
値の一覧(マネージド)は
ビジネスビューに基づく
ため、ビジネスビューの
表示時のセキュリティ機
能を継承します。
○
定期的なスケジュール
で値の一覧の更新をス
ケジュールする
×
×
値の一覧の特定か所を
定期的なスケジュール
で更新するように部分的
にスケジュールする
×
×
スケジュール作成機能
はビジネスビューマネー
ジャに由来し、レポート
がスケジュールされるセ
ントラル管理コンソール
(CMC)とは無関係です。
○
21.3.2 使用する値の一覧のタイプの判断
値の一覧に含まれるデータの量に応じて、レポート作成の問題にはそれぞれ異なるプロンプトによる解決が必
要です。次の表には、使用する値の一覧の設計の大まかなガイドを示します。
455
2012-05-10
パラメータフィールドとプロンプト
値の一覧(アンマネージド)
値の一覧(マネージド)
説明
単一レベルのコードテー
ブル(百単位の半ば静的
な値が単一レベルで含ま
れるテーブル)
レポートフィールド
コマンドオブジェクト
あまり適していません。
適しています。
レポートフィールドはフィ
ルタされないため、その
一覧に対するフィルタが
必要な場合は、データ
ベースビュー内の Crys
tal Reports の外部でフィ
ルタする必要があります。
コマンドオブジェクト内で
フィルタ処理を定義でき
ます(そのコマンドオブ
ジェクトが一覧のすべて
のレベルにデータを返す
ことは単一レベルの一覧
では問題になりません)。
ビジネスビュー
適しています。
ソースビジネスビュー内
でフィルタ処理を定義で
きます。
適しています。
適しています。
マルチレベルのカスケー
ドコードテーブル(百単位
の半ば静的な値が複数
レベルで含まれるテーブ
ル)
Crystal Reports の外部
でデータのフィルタ処理
が行われる限り、一度に
1 レベルのデータを抽出
するため、レポートフィー
ルドはマルチレベルのカ
スケードコードテーブル
に適しています。
一覧のすべてのレベル
のデータの総量が多す
ぎない場合に限ります。
データが多すぎる場合、
コマンドオブジェクトベー
スの値の一覧はデータ
ベースに 1 回アクセスし
てすべてのレベルのデー
タを抽出するため、パ
フォーマンス上の問題が
発生します。
あまり適していません。
適しています。
ファクトテーブル(非常に
大きくなる傾向がある、百
万単位の値を持つ複数
レベルの動的テーブル)
データベースビュー内の
Crystal Reports の外部
でフィルタ処理が行わ
れ、データにマルチレベ
ルの階層がある場合に限
ります。
コマンドオブジェクトは
データベースに対する 1
回のアクセスですべての
データを取得するため、
非常に大きいテーブルに
対して使用するとパ
フォーマンス上の問題が
発生することがあります。
適しています。
ビジネスビューベースの
値の一覧はフィルタ処理
とレベルごとのデータ抽
出の両方をサポートしま
す。
適しています。
部分的にスケジュールさ
れた値の一覧がこの状況
では優れています。半ば
静的なデータの部分はス
ケジュールによって、最
も動的な部分は要求時
に抽出できます。
21.3.3 値の一覧とプロンプトグループの対比
456
2012-05-10
パラメータフィールドとプロンプト
値の一覧はプロンプトのデータ部分で、ユーザがデータを選択するために表示される値です。
これに対し、プロンプトグループは、プロンプトの表示の部分です。Crystal Reports ではプロンプトグループを
別個のオブジェクトとして扱うため、同じ値の一覧を他の表示と共有できます。たとえば、「出荷先市」プロンプ
トと「顧客の市」プロンプトがあるとします。レポート内で顧客の市町村は複数許可し、出荷先市町村は 1 つし
か許可しないとします。このレポートの設計では、単一の市町村の値の一覧と、2 つの異なるプロンプトグルー
プ(または表示スタイル)を使用するようにできます。
プロンプトグループの使い方に関する詳細は、465 ページの 「レポート内での共通する値の一覧の共有」を参
照してください。
21.4 静的プロンプトを伴うパラメータの作成
静的プロンプトは常に同じ値を持っています。たとえば、パラメータで国の値をプロンプトする場合、選択する
値を示す国の一覧はめったに変わらないため、静的プロンプトを作成します。
以下の手順を使用して静的プロンプトを伴うパラメータを作成し、ユーザに対して顧客の一覧が表示され、そこ
から特定の国を選択できるようにします。
この手順は、2 段階で構成されています。まずパラメータを作成し、次に選択エキスパートを使ってレコード選
択フィルタにそのパラメータを取り込みます。
21.4.1 静的プロンプトを伴うパラメータを作成する
1 Group.rpt というサンプルレポートを開きます。
サンプルレポートは、SAP Business Objects サポート Web サイトにあります。
2 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
ヒント
[標準]ツールバーの[フィールドエクスプローラ]ボタンをクリックする方法もあります。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
3
[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
4 [名前]フィールドにパラメータの名前を入力します。英数字で 255 文字まで入力できます。
この例では、「地域」と入力します。
5 適切な[タイプ]を一覧から選択します。
この例では、[文字列]を選択します。
457
2012-05-10
パラメータフィールドとプロンプト
注
タイプが日付または日時のパラメータを作成すると、必要に応じて日付形式を変更できます。詳細につい
ては、239 ページの 「デフォルトのフィールド書式設定の変更」を参照してください。
6 [値フィールド]一覧で、[国]を選択します。
7 [アクション]をクリックし、[すべてのデータベース値を追加]を選択してサンプルデータベースのすべての国
を[値]領域に移動します。
この例では、ユーザが任意の国を選択できます。選択を制限する場合は、ユーザに選択させる国を手動で
入力します。
8 [値オプション]エリアで[プロンプトテキスト]フィールドに任意のプロンプトテキストを入力します。英数字で
255 文字まで入力できます。
これは、レポートを最新表示するときに、[パラメータ値を入力]ダイアログボックスに表示されるテキストにな
ります。この例ではデフォルト値を使用します。
9 [OK]をクリックします。
10 [フィールドエクスプローラ]ダイアログボックスに戻り、[国]パラメータをレポートにドラッグします。
[プロンプト値の入力]ダイアログボックスが表示されます。
注
レポートにドロップしたパラメータフィールドを表示しない場合は、レポートのヘッダやフッタなど、非表示に
できるセクションに配置します。
11 レポートの対象とする国を選択します。
この例では、"Brazil"を使用します。
458
2012-05-10
パラメータフィールドとプロンプト
12 [OK]をクリックします。
21.4.2 レコード選択フィルタにパラメータを取り込む
1 [レポート]メニューの[選択エキスパート]をクリックします。
ヒント
[エキスパートツール]ツールバーの[選択エキスパート]ボタンをクリックする方法もあります。
[フィールドの選択]ダイアログボックスが表示されます。
2 Customer テーブルから[地域]を選択し、[OK]をクリックします。
選択エキスパートが表示されます。
3 ドロップダウンリストから[と等しい値]を選択します。
4 その隣のドロップダウンリストからパラメータを選択します。
この例では、{?地域}を使用します。
5 [OK]をクリックします。
Brazil の情報を示すレポートが表示されます。
パラメータフィールドを使用すると、すばやくカスタマイズして、単一のレポートでさまざまな要求に応えることが
できるレポートを作成できます。
459
2012-05-10
パラメータフィールドとプロンプト
21.4.3 保存されたデータ選択式にパラメータを取り込む
1 [レポート]メニューの[選択エキスパート]をポイントし、[保存データ]をクリックします。
[フィールドの選択]ダイアログボックスが表示されます。
2 レコード選択の基となるフィールドを選択し、[OK]をクリックします。
選択エキスパートが表示されます。
3 ドロップダウンリストを使用して、フィールドの選択条件を入力します。
4 その隣のドロップダウンリストからパラメータを選択して、[OK]をクリックします。
パラメータが初めて参照されている場合は、[値の入力]ダイアログボックスが表示されます。
5 初期値を選択し、[OK]をクリックします。
Crystal Reports では、選択基準に従って直ちにレポートデータがフィルタ選択されます。
21.5 動的プロンプトを伴うパラメータの作成
動的プロンプトの値はデータソースから取得され、レポートには格納されません。たとえば、顧客名を要求する
場合、顧客データベース内の名前は頻繁に変更されるため、動的プロンプトを作成します。
動的プロンプトは、Crystal Reports で作成できます。動的プロンプトを作成するために SAP BusinessObjects
Intelligence プラットフォームまたは Crystal Reports Server を使用する必要はありません。Crystal Reports を
Microsoft Visual Studio と同じコンピュータにインストールすると、埋め込まれた Crystal Reports Designer を使
用して動的プロンプトを作成できます。Crystal Reports Server または SAP BI プラットフォームサーバとともに
Crystal Reports を使用すると、追加機能も使用できます。詳細については、470 ページの 「マネージドレポー
ト」を参照してください。
以下の手順を使用して、動的プロンプトを使用するパラメータを作成します。手順の一部として、値の一覧を作
成します。
21.5.1 動的プロンプトを伴うパラメータを作成する
1 Group.rpt というサンプルレポートを開きます。
サンプルレポートは、SAP Business Objects サポート Web サイトにあります。
2 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
460
2012-05-10
パラメータフィールドとプロンプト
3
[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
4 [名前]フィールドにパラメータの名前を入力します。英数字で 255 文字まで入力できます。
この例では、「地域」を使用します。
5 [値の一覧]領域で[動的]をクリックします。
6 [データソースの選択]領域で[新規]が選択されていることを確認します。
注
既にそのレポートに値の一覧が含まれている場合、またはリポジトリから値の一覧を選択する場合は、[既
存]を選択してツリー構造から既存の値の一覧を選択します。
7
[挿入]をクリックし、[値]一覧から[地域]を選択します。
8 [値オプション]エリアで[プロンプトテキスト]フィールドに任意のプロンプトテキストを入力します。英数字で
255 文字まで入力できます。
これは、レポートを最新表示するときに、[パラメータ値を入力]ダイアログボックスに表示されるテキストにな
ります。この例では、「地域を選択してください」を使用します。
9 [OK]をクリックします。
10 [フィールドエクスプローラ]ダイアログボックスに戻り、[地域]パラメータをレポートにドラッグします。
注
レポートにドロップしたパラメータフィールドを表示しない場合は、レポートのヘッダやフッタなど、非表示に
できるセクションに配置します。
461
2012-05-10
パラメータフィールドとプロンプト
Crystal Reports 内の動的プロンプトは一見、静的プロンプトとあまり違いがないように見えます。しかし背景で
は、Crystal Reports はこのプロンプトのために作成した値の一覧に関する情報を格納しています。レポートエ
ンジンが動的プロンプトを伴うパラメータを必要とする場合は、データソースにアクセスして値の一覧を自動的
に取得します。これは、エンドユーザのプロンプトページに表示されます。SAP BusinessObjects Business
Intelligence プラットフォームまたは Crystal Reports Server にレポートを公開する場合、値のリストは別個のエ
ンティティとなり、ビジネスビューマネージャで任意にスケジュールできるようになります。
21.6 カスケード値の一覧を伴うパラメータの作成
動的プロンプトにはカスケード値の一覧を含むことができ、ユーザーはより多くのレベルでの選択が可能になり
ます。たとえば、都市値を要求するときに、その都市の存在する国および地域も知る必要がある場合は、ダイ
ナミックカスケードプロンプトを作成することになります。この場合、まず国の入力を要求し、その値が選択され
ると、プログラムは選択した国に対応する地域だけを表示して地域の入力を要求します。最後に、地域値が選
択されると、選択した地域に対応する都市だけを表示して都市の入力を要求します。このように設定することに
より、ユーザが正しい都市、たとえば、カナダのブリティッシュコロンビアにあるバンクーバーではなく、アメリカ
合衆国のワシントンにあるバンクーバーを選択したことを確認できます。
1 つの値しか持たない動的プロンプトを使用するときと同様に、任意の頻度での更新のスケジュールが可能な
カスケード値の一覧を、ビジネスビューマネージャで作成または指定できます。値の一覧のスケジュールに関
する詳細は、 『ビジネスビュー管理者ガイド 』を参照してください。
以下の手順を使用して、動的プロンプトとカスケード値の一覧を使用するパラメータを作成します。
21.6.1 カスケード値の一覧を伴うパラメータを作成する
1 Group.rpt というサンプルレポートを開きます。
サンプルレポートは、SAP Business Objects サポート Web サイトにあります。
2 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
3
[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
4 [名前]フィールドにパラメータの名前を入力します。英数字で 255 文字まで入力できます。
この例では、「仕入先の市」を使用します。
5 [値の一覧]領域で[動的]をクリックします。
6 [プロンプトグループのテキスト]フィールドに、目的のプロンプトグループに対するプロンプトテキストを入力
します。
462
2012-05-10
パラメータフィールドとプロンプト
この例では「仕入先のある市を選択してください」を使用します。
注
プロンプトグループによって、他のカスケードプロンプトに対するカスケード値の一覧を使用できます。たと
えば、住所プロンプトに対する値の一覧をセットアップした場合、出荷先と請求先の住所の両方に対する一
覧を使用するとします。この場合、同じ値の一覧に 2 つのプロンプトグループを作成して、「出荷先住所」と
「請求先住所」という名前を付けます。
7 [データソースの選択]領域で[新規]が選択されていることを確認します。
注
既にそのレポートに値の一覧が含まれている場合、またはリポジトリから値の一覧を選択する場合は、[既
存]を選択してツリー構造から既存の値の一覧を選択します。
8
[挿入]をクリックします。
プログラムによって、自動的に[値]一覧が展開されます。この領域を使用して、カスケード値の一覧を構成
するフィールドを定義します。この例では、「国」、「地域」、「市」のカスケードを使用します。
9
10
11
12
[値]一覧で、[国]を選択します。
[国]フィールドの下の空白のフィールドをクリックして[地域]を選択し、
[地域]フィールドの下の空白のフィールドをクリックして[市]を選択します。
[パラメータ]領域で、"市"の値が含まれる[市]のフィールドをクリックして、パラメータに連結します。
この手順では、作成しているパラメータに結合するカスケードの階層内のフィールドを選択します。この特
定のパラメータは Crystal Reports に市町村の値を提供するためのものなので、このパラメータを[市]と結
合します。
13 [プロンプトテキスト]フィールド([値オプション]領域)で、カスケード値の一覧の各フィールドに対して追加の
プロンプトテキストを入力します。
これは、レポートを最新表示するときに、[パラメータ値を入力]ダイアログボックスに表示されるテキストにな
ります。
463
2012-05-10
パラメータフィールドとプロンプト
14 [OK]をクリックします。
15 [フィールドエクスプローラ]ダイアログボックスに戻り、[仕入先の市]パラメータをレポートにドラッグします。
注
レポートにドロップしたパラメータフィールドを表示しない場合は、レポートのヘッダやフッタなど、非表示に
できるセクションに配置します。
21.7 パラメータパネル
パラメータパネルでは、パラメータ値を変更してレポートデータを対話形式で書式設定およびフィルタ選択でき
ます。パラメータパネルは、プレビューパネル内にあります。
[パラメータフィールドの新規作成]ダイアログボックスと[パラメータの編集]ダイアログボックスで、[(ビューア) パ
ネルに表示]オプションを使用してパラメータパネルに表示するパラメータを指定できます。次のいずれかの設
定を選択できます。
•
表示しない
パラメータはパネルに表示されません。パラメータ値を変更するには、レポートを最新表示する必要があり
ます。
•
編集可能
パネルにパラメータ値を表示し、変更できます。
•
464
読み取り専用
2012-05-10
パラメータフィールドとプロンプト
パネルにパラメータ値を表示できますが、それらを変更することはできません。
注
新しいパラメータの場合、[表示しない]がデフォルト設定です。
パラメータパネルには、[編集可能]または[読み取り専用]に設定されたすべてのパラメータが表示されます。パ
ラメータの種類に応じて、ドロップダウンメニューを使用して変更を適用するか、[詳細ダイアログ]ボタンをクリッ
クしてパラメータ値を追加、削除、または変更できます。
以下に、[詳細ダイアログ]ボタンをクリックして変更する必要がある、一般的に使用されるパラメータの種類をい
くつか示します。
•
•
範囲値を使用するパラメータ
カスケードプロンプトを使用する動的パラメータ
パネルでは、データパラメータと非データパラメータがデータベースアイコンで区別されます。データパラメー
タの値を変更すると、レポートは最新表示され、データベースにアクセスして変更した内容が反映されます。非
データパラメータの値を変更すると、レポートはレポート内の保存データに基づいて書式設定またはフィルタ選
択されます。レポートはデータベースにアクセスしません。
21.8 値の一覧の使用
動的プロンプトは値の一覧を使用します。Crystal Reports とビジネスビューマネージャのどちらかで、値の一
覧を作成できます。Crystal Reports は、動的プロンプトを含むレポートを開いたときに値の一覧のデータを最
新表示しますが、ビジネスビューマネージャでもスケジュールによって値の一覧のデータを最新表示できます。
詳細については、 『ビジネスビューを使用する 』を参照してください。
次に、値の一覧を SAP BusinessObjects Business Intelligence プラットフォームまたは Crystal Reports Server
に追加する方法を示します。
•
レポートを設計するときに値の一覧を作成し、そのレポートを Enterprise フォルダに格納できます。詳細に
ついては、389 ページの 「Enterprise フォルダへのレポートの保存」を参照してください。
•
ビジネスビューマネージャで値の一覧を作成できます。詳細については、 『ビジネスビューを使用する 』を
参照してください。
•
レポートを設計するときに値の一覧を作成し、セントラル管理コンソール (CMC) によって SAP BusinessObjects
Business Intelligence プラットフォームに追加できます。詳細については、 『SAP BusinessObjects Business
Intelligence プラットフォーム管理者ガイド 』を参照してください。
•
Business Views マネージャのインポート/エクスポート機能を使用すると、ある環境から別の環境へ値の一
覧を移行できます。詳細については、 『SAP BusinessObjects Business Intelligence プラットフォーム管理
者ガイド 』を参照してください。
21.8.1 レポート内での共通する値の一覧の共有
465
2012-05-10
パラメータフィールドとプロンプト
1 つの値の一覧のオブジェクトを単一レポート内の関連しない多くのプロンプトで使用できます。たとえば、仕
入先から顧客に対する出荷を表示するレポートで、ある市町村の仕入先から別の市町村の顧客に向けて出荷
が発生します。そのレポート内で仕入先の市町村と顧客の市町村の両方にプロンプトを使用し、両方で同じ一
連の値を使用しようと考えます。データベースには数百の市町村があるため、この大きな値の一覧を国、地域、
市町村に分割できます。このようにすると、ユーザは 3 つの小さい一覧から選択することで数百の値を検索対
象とすることができます。
21.8.1.1 レポート内で共通する値の一覧を共有する
1 [国]、[地域]、および[市]というフィールドを含むレポートを作成します。
2
[フィールドエクスプローラ]で[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
3 [名前]フィールドにパラメータの名前を入力します。
この例では、「仕入先の市」を使用します。
4 [値の一覧]領域で[動的]をクリックします。
5 [プロンプトグループのテキスト]フィールドに、目的のプロンプトグループに対するプロンプトテキストを入力
します。
この例では「仕入先のある市を選択してください」を使用します。
6
7
8
9
10
11
[挿入]をクリックし、[値]一覧から[国]を選択します。
[国]フィールドの下の空白のフィールドをクリックして[地域]を選択し、[地域]フィールドの下の空白のフィー
ルドをクリックして[市]を選択します。
[パラメータの結合]領域で、[市]の値のみが結合されていることを確認します。
[OK]をクリックします。
[フィールドエクスプローラ]ダイアログボックスに戻り、[パラメータフィールド]を選択して、[新規作成]をクリッ
クします。
[名前]フィールドに 2 番目のパラメータの名前を入力します。
この例では、「顧客の市」と入力します。
12 [値の一覧]領域で[動的]をクリックします。
13 [プロンプトグループのテキスト]フィールドに、新しいプロンプトグループに対するプロンプトテキストを入力
します。
この例では「顧客のある市を選択してください」を使用します。
14 [既存]を選択し、6 ~ 9 の手順で作成した値の一覧を選択します。
15 [OK]をクリックします。
466
2012-05-10
パラメータフィールドとプロンプト
{?仕入先の市}パラメータに対する国、地域、市町村の階層と、{?顧客の市}パラメータに対する 2 つ目の国、地
域、市町村の階層の、2 つのプロンプトが作成されました。値の一覧のオブジェクトを再利用することで、時間
を節約し、Crystal Reports 内の実行時間が改善されました。
注
また、国の値を持つ別のパラメータを使用する場合にも、既存の値の一覧を使用できます。たとえば、
{?DivisionCountry}パラメータを追加してレポートに関連する会社の部門を示す場合、そのレポート内で同じ値
の一覧オブジェクトを使用できます。このパラメータを階層の最上位レベルの値(つまり、国、地域、市町村の階
層の国レベル)と結合します。
21.8.2 独立した値と説明のフィールド
リレーショナルデータベースでは、一般的に、値を表現するコードフィールドを利用します。これらのコードは、
ユーザには読み取ることができない数値またはテキスト文字列であることがよくあります。そのような場合のため
に、値の一覧の定義に独立した値と説明のフィールドを作成できます。値フィールドをパラメータに設定します。
説明フィールドがプロンプトダイアログボックスに表示されます。プロンプトダイアログボックスに説明フィールド
がどのように表示されるかは、プロンプトオプション[説明のプロンプトのみ]によって制御されます。"真"に設定
すると説明のみが表示され、"偽"に設定すると値と説明の両方が表示されます。
21.8.2.1 独立した値と説明のフィールドを設定する
1 Group.rpt というサンプルレポートを開きます。
サンプルレポートは、SAP Business Objects サポート Web サイトにあります。
2
[フィールドエクスプローラ]で[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
3 [名前]フィールドにパラメータの名前を入力します。
この例では「顧客名」を使用します。
4 [値の一覧]領域で[動的]をクリックします。
5
[挿入]をクリックし、"値"フィールドから[顧客番号]を選択します。
6 "説明"フィールドで[顧客名]を選択します。
7 [値オプション]領域で、[説明のプロンプトのみ]オプションを[真]にします。
8 [OK]をクリックします。
ダイアログボックスでこのプロンプトが表示されると、"顧客番号"フィールド(パラメータの基になるフィールド)の
値ではなく、顧客名の一覧が表示されます。
467
2012-05-10
パラメータフィールドとプロンプト
21.8.3 値の一覧のデータソースとしてのコマンドオブジェクトの使用
Crystal Reports は、値の一覧(アンマネージド)のデータソースとしてコマンドオブジェクトをサポートします。こ
の機能を使用するには、最初にデータベースエキスパートを使用して、値の一覧オブジェクトで使用する値を
返すコマンドオブジェクトを作成します。
詳細については、オンラインヘルプの「SQL コマンドの定義」を参照してください。
新しい値の一覧オブジェクトで、1 レベルに対して少なくとも 1 つのデータベースフィールドを返すように、クエ
リを作成します。たとえば、国、地域、市町村の値の一覧オブジェクトを作成する場合、そのクエリによってデー
タベースから少なくとも 3 つの列(国、地域、市)が返される必要があります。3 つの値すべてを単一の Select
文によって返す必要があります。Order By 句は必要ありません。これは、ユーザの指定に従ってプロンプトエ
ンジンが値を並べ替えるからです。
注
コマンドオブジェクトをレポートフィールドにリンクする必要はありません。通常、値の一覧の取得を目的として
のみに使用するコマンドオブジェクトをレポートにリンクする必要はありません。しかし、このコマンドオブジェク
トからの列をレポートで使用する場合は、そのコマンドオブジェクトをレポートにリンクする必要があります。
レポートに定義されたすべてのコマンドオブジェクトは、値フィールドのドロップダウンリストに表示され、[新しい
パラメータの作成]ダイアログボックスの説明フィールドのドロップダウンリストにも表示されます。そこで、値の一
覧とコマンドオブジェクトを関連付けることができます。
21.8.4 NULL の処理
値の一覧によって返されたデータに NULL 値が含まれる場合、プロンプトに対するドロップダウンリストで「null」
と表示されます。ユーザはこれらの値を選択できます。また、そのプロンプトに関連付けられたすべてのパラメー
タに NULL 値を設定できます。Crystal Reports 式言語で IsNull 関数を使用して、この機能をテストできます。
詳細については、オンラインヘルプの「IsNull(フィールド)」を参照してください。
21.8.5 長い値の一覧
値の一覧(LOV)の項目数が非常に多くなり、何百または何千となる場合があるため、Crystal Repors では、値
を小さなバッチに分割して一度に取得し、これらの長い LOV を処理します。
Crystal Reports には、LOV の単一のバッチが表示され、ユーザは 2 つのオプションを使用して一覧を制御で
きます。それは、バッチ番号と、一覧内の品目数を制限するための簡単なテキストフィルタです。
長い LOV で取得されるバッチあたりのデフォルトの項目数は 200 ですが、このデフォルト数は変更できます。
468
2012-05-10
パラメータフィールドとプロンプト
長い LOV での品目数の変更
長い LOV の品目数を変更するには、2 つの方法があります。
Crystal Reports は、ユーザにプロンプトを表示して、次の Windows レジストリの場所から長い LOV バッチサ
イズを取得します。
HKEY_CURRENT_USER\Software\Business Objects\Suite 12.0\Crystal Reports\ReportView
この場所が存在しない場合は、PromptingLOVBatchSize という名前の DWord 値を作成し、値をバッチ内の品
目の数に設定します。
注
バッチサイズを入力する前に、基本の値として[10 進]を選択してください。
Tomcat 設定ファイルでパラメータを作成または変更して、長い LOV のバッチサイズを設定できます。次のファ
イルを開きます。
{CR_install_folder}/Tomcat/webapps/CrystalReports/WEB-INF/web.xml
このファイルが存在しない場合は、次のパラメータを作成します。
<context-param>
<param-name>crystal_max_number_list_of_values</param-name>
<param-value>{number}</param-value>
</context-param>
上記の例の {number} は、バッチ内の項目数です。
21.9 プロンプトのベストプラクティス
21.9.1 アンマネージドレポート
アンマネージドレポートは、SAP BusinessObjects Business Intelligence プラットフォームの外部に格納するレ
ポートです。これらのレポートは、レポート内で定義した値の一覧や SAP BusinessObjects Enterprise リポジト
リに格納してある値の一覧を使用できます。(Crystal Reports 内で、[新しいパラメータの作成] ダイアログボッ
クスを使用するときに値の一覧レポートを作成できます。ビジネスビューマネージャ内で値の一覧リポジトリを作
成します。)
レポート内に定義される値の一覧には、次のようなプロパティがあります。
469
•
コマンドオブジェクトまたはレポートフィールドに基づくことができる。
•
常に .rpt ファイル内に格納される。
•
レポート間で共有できない。
2012-05-10
パラメータフィールドとプロンプト
アンマネージドレポートがリポジトリに基づく値の一覧も使用する場合、そのレポートを開くたびにリポジトリにロ
グオンするように求めるプロンプトが表示されます。このプロセスは、Crystal Reports が値の一覧オブジェクトを
検索するために必要です。
アンマネージドレポートのパフォーマンスとスケーラビリティを最大化するには、単一のレポート内で可能な場
合は値の一覧オブジェクトを再利用する必要があります。この方法の詳細については、465 ページの 「レポート
内での共通する値の一覧の共有」を参照してください。
21.9.2 マネージドレポート
マネージドレポートは、SAP BusinessObjects Business Intelligence プラットフォームの内部に格納するレポート
です。
マネージドレポートで使用される値の一覧には、次のようなプロパティがあります。
•
常にリポジトリ内に格納される。
•
レポート間で共有できる。
•
ビジネスビューに基づく。
マネージドレポートのパフォーマンスと管理性を最大化するには、次のような処理が推奨されます。
•
Crystal Reports 内ではなく、ビジネスビューマネージャ内で値の一覧オブジェクトを定義する。
•
すべてのレポートに対応する値の一覧を提供するために独立したビジネスビューを作成する。このビジネス
ビューに必要な唯一のフィールドは、プロンプトに使用するフィールドです。ビジネスビューの作成方法の
詳細については、 『ビジネスビュー管理者ガイド 』を参照してください。
•
レポートでの使用目的の各動的プロンプトに対して、値の一覧(マネージド)を作成する。これらのオブジェ
クトは、Crystal Reports ユーザがパラメータとプロンプトを設計するときに表示されます。[国]>[地域]>[市]
の階層に対する値の一覧と[国]ピックリストが必要な場合は、単一の値の一覧オブジェクトを使用することに
よって対処できます。
ビジネスビューマネージャ内で値の一覧オブジェクトを定義すると、次のような利点があります。
•
表示される値の一覧の定義に使用するメタデータを制御できる。
•
プロンプトで使用するビジネスビューに、低レベルのセキュリティ(必要な場合)を適用できる。
•
レポート設計とメタデータ設計を分離できる。メタデータ設計者は値の一覧定義の作成を、レポート設計者
はレポートの作成を担当するように分担できます。
•
プロンプトをサポートするために作成する必要があるメタデータオブジェクトの数が最小化される。
21.9.3 アンマネージドレポートからアンマネージドレポートへの変換
470
2012-05-10
パラメータフィールドとプロンプト
アンマネージドレポートをマネージドレポートに変換するには、次の手順を実行します。
•
公開ウィザードを使用して 1 つまたは複数のレポートを公開する。
•
Crystal Reports の [名前を付けて保存] コマンドを使用して、そのレポートを SAP BusinessObjects Business
Intelligence プラットフォームに保存する。
•
BI 起動パッドポータル内から、新しいレポートオブジェクトを作成する。
•
セントラル管理コンソールポータル内で、新しいレポートオブジェクトを作成する。
上記すべての場合で、これらの操作はアンマネージドレポート内のプロンプトオブジェクトに対して実行されま
す。
•
レポート内で定義された値の一覧 (LOV) オブジェクトは、値の一覧リポジトリに変換されます。ビジネス
ビュー、ビジネスエレメント、データファンデーション、およびデータコネクションオブジェクトが作成されます。
•
同じ LOV オブジェクトがリポジトリにすでに存在する場合、重複するオブジェクトは作成されません。代わり
に、レポートは既存の LOV オブジェクトを参照します。
•
リポジトリに基づく LOV オブジェクトは変更されません。
•
レポート内で定義されたプロンプトグループは、リポジトリプロンプトグループに変換されます。
•
リポジトリに基づくプロンプトグループは、変更されません。
•
新しいリポジトリに基づくビジネスビューオブジェクト、LOV オブジェクト、およびプロンプトグループオブジェ
クトのすべては、「動的カスケードプロンプト」というリポジトリフォルダ内に作成されます。
21.9.4 動的プロンプトを伴うマネージドレポートの導入
リポジトリに基づく値の一覧とプロンプトグループは、他と同様にリポジトリオブジェクトです。マネージドレポー
トがインポートウィザードを使用してあるリポジトリから別のリポジトリに移入されるとき、値の一覧オブジェクトとプ
ロンプトグループオブジェクトも同様にインポートされます。この機能によって、システムからシステムへのレポー
トの移入が容易になります。SAP BusinessObjects Business Intelligence プラットフォームはレポートが依存して
いるオブジェクトを追跡し、必要に応じてそれらのオブジェクトも移入先のシステムにインポートします。
ビジネスビューマネージャは、値の一覧およびプロンプトグループのインポートとエクスポートをサポートするよ
うに拡張されました。詳細については、 『Business Views 管理者ガイド 』を参照してください。
21.10 パラメータフィールドの削除
レポート内のパラメータを削除する方法は数通りあります。削除するパラメータのタイプにより、使用できる方法
が決まります。
471
2012-05-10
パラメータフィールドとプロンプト
21.10.1 式で使用されていないパラメータを削除する
1 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
フィールドエクスプローラが表示されます。
2 [パラメータフィールド]フォルダを展開して、削除するパラメータをクリックします。
3 [削除]をクリックします。
レポート内でパラメータが使用される場合、Crystal Reports ダイアログボックスが表示されてそのパラメータ
を削除するかどうかを確認します。
4 [はい]をクリックします。
パラメータが[パラメータフィールド]フォルダおよびレポートから削除されます。
21.10.2 選択エキスパートで使用されているパラメータを削除する
1 [レポート]メニューの[選択エキスパート]をクリックします。
ヒント
[エキスパートツール]ツールバーの[選択エキスパート]ボタンをクリックする方法もあります。
[選択エキスパート]ダイアログボックスが表示されます。
2
3
4
5
6
7
削除するパラメータを使用している選択条件のタブを選択します。
[削除]をクリックします。
[OK]をクリックして選択エキスパートを閉じます。
[表示]メニューで、[フィールドエクスプローラ]をクリックします。
[パラメータフィールド]フォルダを展開して、削除するパラメータをクリックします。
[削除]をクリックします。
21.10.3 式で使用されているパラメータを削除する
1 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
フィールドエクスプローラが表示されます。
2 [式フィールド]フォルダで、削除するパラメータが含まれる式を選択します。
3 [編集]をクリックして、式からパラメータフィールドを削除します。
472
2012-05-10
パラメータフィールドとプロンプト
注
削除するパラメータがレポートの複数の式で使用されている場合は、それぞれの式からそのパラメータを削
除する必要があります。
4 式ワークショップを閉じます。
5 [パラメータフィールド]フォルダを展開して、削除するパラメータをクリックします。
6 [削除]をクリックします。
21.11 パラメータフィールドのプロンプト
21.11.1 最初のプレビュー
レポートを初めてプレビューする場合は、[プロンプト値を入力]ダイアログボックスが表示され、値の入力を求め
られます。
•
パラメータフィールドを作成したときにデフォルト値を指定している場合は、別の値を指定しない限り、その
デフォルト値が使用されます。
•
デフォルト値を指定していない場合は、新しい値を入力するまでデータは最新表示されません。
注
パラメータが文字列型で、デフォルト値を指定していない場合、[離散値を認める]フィールドは True で、空の
文字列が表示されます。
21.11.2 レポートデータの最新表示
[プレビュー]タブでデータを最新表示した場合は、[レポートデータの最新表示]ダイアログボックスが表示され
ます。
473
2012-05-10
パラメータフィールドとプロンプト
現在のパラメータ値を使用するには、[現在のパラメータ値を使用]をクリックします。
新しいパラメータ値を入力するには、[新しいパラメータ値をプロンプト]をクリックします。このオプションをクリッ
クし、[OK]をクリックすると、[プロンプト値の入力]ダイアログボックスが表示されます。
•
文字列値を入力する場合は、表示するとおりに入力します。複数の値を入力できるパラメータフィールドの
場合は、[追加]ボタンを使って追加のパラメータ値を入力できます。
•
論理値を入力する場合は、真または偽の形式を使用します。
•
数値を入力する場合は、表示するとおりに入力します。
•
通貨値を入力する場合は、表示するとおりに入力します。
•
画面で使用される形式と一致する日付を入力します。形式が指定されていない場合は、"年/月/日"の形
式を使用します。たとえば、"1997/5/21"のようになります。カレンダを使用するには、日付の横にあるドロッ
プダウンの矢印をクリックします。
•
画面で使用される形式と一致する時刻を入力します。形式が指定されていない場合は、"時:分:秒"の形式
を使用します。たとえば、"04:32:12"のようになります。時刻の単位を選択してから、上向き矢印または下向
き矢印を使用して数値をスクロールすることもできます。
•
日時を入力する場合は、"年/月/日"、"時:分:秒"の形式を使用します。たとえば、"1997/5/21"、"16:32:12"の
ようになります。対応するドロップダウンの矢印を使用してカレンダを表示し、上向き矢印または下向き矢印
で時刻をスクロールして日時を入力することもできます。
注
ドロップダウンの矢印でカレンダを表示して日付を指定し、上向き矢印または下向き矢印で時刻をスクロー
ルして指定するには、comctl32.dll のバージョンが 4.70 以降である必要があります。
表示されている現在の値を使用するには[OK]をクリックし、別の値を使用する場合はテキストボックスに新しい
値を入力して[OK]をクリックします。
•
パラメータフィールドに範囲制限がある場合は、入力できる値の範囲が制限されます。範囲制限は、パラ
メータを作成または編集するときに、[デフォルト値の設定]ダイアログボックスで指定します。
•
パラメータが文字列型の場合は、[長さの制限]オプションを使用するか、エディットマスクを使って書式を制
限することにより、ユーザが入力できる値を制限できます。
新しく指定された値を使ってレポートが実行されます。
21.12 高度なパラメータ機能
レポート内では、さまざまな方法でパラメータを使用できます。この節では、パラメータの高度な使い方につい
て説明します。
474
2012-05-10
パラメータフィールドとプロンプト
21.12.1 複数のプロンプト値を持つパラメータの作成
1 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
2
[パラメータフィールド]を選択して、[新規作成]をクリックします。
3 パラメータの名前を入力します。
4 [種類]一覧で値のタイプを選択します。
5 [値フィールド]一覧で、プロンプトによって値を取得するために使用するテーブルおよびフィールドを選択
します。
6 [アクション]をクリックして選択したフィールドから値を追加し、[すべてのデータベース値を追加]を選択しま
す。
値をインポートしたり、[オプション]ボタンの下の[値]領域に値を作成したりできます。
7 [値オプション]領域で、[複数の値を認める]オプションを選択してその値を[真]に設定し、このパラメータに
対する値のプロンプトに複数の値を使用できるようにします。
離散タイプと範囲タイプの両方の値を、個別にまたは組み合わせて入力できます。
注
単一値または範囲値の詳細については、477 ページの 「単一の値または値の範囲の指定」を参照してくだ
さい。
8 [OK]をクリックします。
21.12.2 パラメータフィールドを使用した条件付き書式設定の適用
パラメータフィールドを使って条件付き書式設定式を作成できます。レポートデータを最新表示するたびに、こ
の式をカスタマイズできます。条件付き書式設定式を使用すると、たとえば、次のような特定の条件を満たす
データに色を付け、フラグとすることができます。以下はその例です。
•
ノルマの 110% の売上を出した販売担当
•
前四半期に発注のなかった顧客
•
前月にまったく変動のなかった在庫品目
これらのデータにフラグを付ける条件に変更がない場合は、パラメータフィールドを使用する必要はありませ
ん。テキストフラグに対する式を使用するか、またはボーダーフラグに対する条件付き書式を使用します。しか
し、レポートごとに条件を変更する場合は、式および条件付き書式設定式でパラメータフィールドを使用する必
要があります。
475
2012-05-10
パラメータフィールドとプロンプト
21.12.2.1 パラメータフィールドを使って条件付きで書式設定を行う
1 式で必要となるデータ型のパラメータフィールドを作成します。
2 式を作成し、通常使用する固定値の代わりにパラメータフィールドを使用します。
たとえば、昨年の売上が規定の値を超えた顧客のすべてに印を付け、その名前を赤色で出力するに
は、"前年度取引高"フィールドを選択し、[エキスパートツール]ツールバーの[書式]をクリックします。
書式エディタが表示されます。
3
[フォント]タブの [色] プロパティの横にある条件式ボタンをクリックし、次のような条件付き書式設定式
を使ってフィールドに書式を設定します。
If {customer.LAST YEAR'S SALES} > {?SalesTarget} Then
Red
Else
Black
データを最新表示すると、カラーフラグを表示する境界線となる値(いき値)の入力を求められます。そしてレポー
トを実行すると、昨年の売上がいき値を超えた顧客のすべてにフラグを付けます。レポートを実行するたびに
数値を変更して、他の条件を満たす顧客名にもフラグを付けることができます。
詳細については、オンラインヘルプの「条件付き書式設定関数」を参照してください。
21.12.3 パラメータフィールドによるレポートタイトルの作成
Crystal Reportsでは、パラメータフィールドを使ったレポートタイトルを作成して、レポートを最新表示するたび
にタイトルを変更できます。
21.12.3.1 パラメータフィールドを使ってレポートタイトルを作成する
1 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
フィールドエクスプローラが表示されます。
2
[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
3 [名前]エディットボックスにパラメータフィールドの名前を入力します。
476
2012-05-10
パラメータフィールドとプロンプト
4 [種類]一覧で[文字列]を選択します。
5 デフォルトのタイトルを指定するには、[値]領域の[アイテムを追加するにはここをクリック]をクリックして、テ
キストを入力します。
必要に応じて続けてタイトルを入力します。
6 [OK]をクリックします。
7 [フィールドエクスプローラ]に戻ってから、各ページにタイトルを表示する場合は、パラメータフィールドをレ
ポートのページヘッダセクションに配置します。また、タイトルをレポートの最初のページだけに表示する場
合は、レポートヘッダセクションに配置します。
データを最新表示すると、レポートタイトルの入力を求められます。レポートを実行するたびに、必要に応じて
タイトルを変更できます。
21.12.4 単一の値または値の範囲の指定
ユーザに単一(離散)値、または値の範囲の入力を求めるパラメータを作成できます。このパラメータをレポート
のレコード選択に含めると、ユーザが特定の情報を見つけやすくなります。たとえば、離散値を使用するレコー
ド選択パラメータの場合は、ユーザが 1 つの国名を入力して、その国の売上だけを表示することができます。
値の範囲を使用するレコード選択パラメータの場合は、ユーザが国の範囲(たとえば Canada と France)を入力
して、その範囲内にあるすべての国(この場合は Chili、China、Denmark、England など)の販売売上を参照でき
ます。
21.12.4.1 単一の値または値の範囲を指定する
1 [離散値を認める]オプションか[範囲値を認める]オプションを選択して、パラメータフィールドに値の範囲を
入力できるかどうかを指定します。
• [離散値を認める]を選択した場合は、パラメータフィールドには、値の範囲ではなく、単一の値を入力で
きます。
•
[範囲値を認める]を選択した場合は、パラメータ値の入力を求められたときに、開始値と終了値を入力
できます。たとえば、「5」および「10」を入力すると、範囲は 5 ~ 10 になり、レコード選択にこのパラメー
タを使用するレポートは、値が 5 と 10 の間の値を持つレコードをすべて表示します。これは、文字列型
のパラメータフィールドに対しても同様に機能します。開始値「A」と終了値「E」を入力すると、レコード選
択にこのパラメータを使用するレポートには、辞書順で A から E までの範囲内のすべてのレコードが表
示されます。
注
[複数の値を認める]がオンで、[離散値を認める]オプションが選択されている場合、パラメータフィールドに
は、単一の値を複数入力できるようになります。この場合、値を複数入力できますが、入力した値は個別に
評価され、範囲としては解釈されません。[複数の値を認める]がオンで、[範囲値を認める]オプションが選
択されている場合、パラメータフィールドには、複数の範囲を入力できます。
477
2012-05-10
パラメータフィールドとプロンプト
2 必要に応じて、[最小長]と[最大長]のどちらかまたは両方のオプションを選択して、フィールドの長さを指定
します。
• 通貨または数値型のパラメータフィールドの場合は、[最小値]および[最大値]を入力するオプションが
表示されます。
•
"日付"、"日時"、または"時刻"のパラメータフィールドでは、[開始]および[終了]の値を入力するオプ
ションが表示されます。
21.12.5 式にパラメータを取り込む
1 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
フィールドエクスプローラが表示されます。
2
[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
3 パラメータフィールドを作成し、保存します。
4 [式フィールド]を選択して、[新規作成]をクリックします。
[式名]ダイアログボックスが表示されます。
5 式の名前を入力し、[OK]をクリックします。
6 自由な定数値として、パラメータフィールドを使用する式を作成します。たとえば、次のように国名を直接記
述した式があるとします。
{customer.COUNTRY} = "USA"
この式の"USA"の代わりにパラメータフィールドを使用します。
{customer.COUNTRY} = {?Country}
それには、データベースフィールドをダブルクリックし、「=」を入力し、さらにパラメータをダブルクリックしま
す。
ヒント
"?"を探すと簡単にパラメータを識別できます。
7 式ワークショップの [保存して閉じる] をクリックします。
[フィールドエクスプローラ]ダイアログボックスが表示されます。先ほど作成した式の名前が [式] リストボック
スで強調表示されます。
8 式をドラッグし、レポートにドロップします。
9
[最新表示]をクリックしてレポートを生成します。
ダイアログボックスが表示され、値を入力するように指示されます。
478
2012-05-10
パラメータフィールドとプロンプト
21.12.6 パラメータフィールドによる並べ替え順序の設定
パラメータフィールドを使って並べ替えの順序を設定するには、最初にパラメータフィールドを含む式を作成
し、次にその式に基づいて並べ替えを行う必要があります。たとえば、Customer テーブルに基づいた顧客リス
トのレポートがあるとします。各顧客ごとに顧客名、国、地域、都市、および電話番号を表示しています。このレ
ポートで、国名順、地域順、都市名順など、その場での必要に応じて並べ替えを行うことができます。
1 パラメータフィールドを作成し、「並べ替えフィールド」と名前を付けます。
2 [種類]一覧で[文字列]を選択します。
ユーザが入力できる文字数を 1 に限定します。
3 これを実行するために、[最小長]および[最大長]のテキストボックスに数字の「 1」を入力し、[OK]をクリック
します。
これで、パラメータフィールドには、1 文字だけ入力できるようになります。つまり、"C"は値として受け付けま
すが、"City"は受け付けません。
4 [プロンプトテキスト]フィールドで次のようにプロンプトテキストを入力します。
Type R to sort by Region or C to sort by City; otherwise, data will be sorted by Country.
5 次の式を作成し、「並べ替え」と名前を付けます。
If {?SortField} = "C" Then {customer.CITY}
Else
If {?SortField} = "R" Then {customer.REGION}
Else
{customer.COUNTRY}
この式は、パラメータフィールド{?SortField}に対する値の入力を求めます。「C」を入力した場合は、"市"
フィールドで並べ替えられます。「R」を入力した場合は、"地域" フィールドで並べ替えられます。その他の
文字を入力した場合、または何も入力しなかった場合は、"国"フィールドで並べ替えられます。
詳細については、オンラインヘルプの「If 文」を参照してください。
6
式をレポートヘッダセクションに配置し、セクションエキスパートで [非表示 (ドリルダウン不可)] オプショ
ンをオンにして、出力されないようにします。
7
[レコードの並べ替え]をクリックします。
8 式を選択して [追加] をクリックします。
9 [OK]をクリックします。
レポートを実行すると、並べ替えフィールドの入力を求められます。その選択に基づいて式から値が返され、そ
の値を並べ替えフィールドとして並べ替えが実行されます。
21.12.7 エディットマスクによるエントリタイプと書式の定義
479
2012-05-10
パラメータフィールドとプロンプト
1 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
2
[パラメータフィールド]を選択して、[新規作成]をクリックします。
[新しいパラメータの作成]ダイアログボックスが表示されます。
3 [名前]と値の[種類]を入力します。
4 文字列型のパラメータフィールドについては、範囲を指定する代わりに、[マスクの編集]フィールドにエディッ
トマスクを入力できます。
エディットマスクでは、マスク文字列を使用して、パラメータ値として入力できる文字列を制限します。デフォ
ルトの値も、エディットマスクの制限を受けます。
次のマスク文字またはその組み合わせを入力できます。
•
"A"は、任意の英数字を表します。このパラメータ値には入力が必要です。
•
"a"は、任意の英数字を表します。このパラメータ値に入力がなくても有効です。
•
"0"は、数字(0 から 9 まで)を表します。このパラメータ値には入力が必要です。
•
"9"は、数字またはスペースを表します。このパラメータ値に入力がなくても有効です。
•
"#"は、数字、スペース、プラス記号(+)、またはマイナス記号(-)を表します。このパラメータ値に入力が
なくても有効です。
•
"L"は、英文字(A から Z まで)を表します。このパラメータ値には入力が必要です。
•
"?" は、英文字を表します。このパラメータ値に入力がなくても有効です。
•
"&"は、任意の文字またはスペースを表します。このパラメータ値には入力が必要です。
•
"C"は、任意の文字またはスペースを表します。このパラメータ値に入力がなくても有効です。
•
". , : ; - /"(区切り文字)。エディットマスクに区切り文字を挿入すると、パラメータフィールドの形式をハー
ドコーディングしたようになります。レポートにそのフィールドを配置すると、オブジェクトフレームには、た
とえば"LLLL/0000"と表示されます。これは、4 つの英文字と 4 つの数字を必要とするエディットマスク
を表しています。
•
"<"は、その後に続く文字を小文字に変換します。
•
">"は、その後に続く文字を大文字に変換します。
•
"\"は、続く文字をリテラルな文字にします。たとえば、エディットマスクが"\A"の場合、"A"のパラメータ
値が表示されます。エディットマスクが"00\A00,"の場合、パラメータ値は、2 つの数字、"A"の文字、お
よびさらに 2 つの数字から成ります。
•
"Password"。エディットマスクを "Password" に設定すると、入力した文字はすべて "*" で表示されま
す。これを使用することで、たとえば、特定のパスワードを入力したときのみ、あるセクションやフィールド
を表示する条件式を作成することができます。
注
エディットマスク文字には、パラメータ値の入力のとき、そこに文字の入力が必要なものと、必要なら空白に
しておけるものとがあります。たとえば、エディットマスクが"000099"の場合は、4 桁、5 桁、または 6 桁のパ
ラメータ値を入力できます。"9"というエディットマスク文字は、必ずしも文字の入力を必要としないからです。
反対に、"0"は文字の入力を要求するので、4 桁未満のパラメータ値を入力することはできません。
5 [OK]をクリックします。
480
2012-05-10
パラメータフィールドとプロンプト
6 フィールドエクスプローラに戻り、そのパラメータをレポートにドラッグします。
21.12.8 パラメータフィールドを使った保存データレコードフィルタの作成
データベースからの情報を更新せずに、フィールドとレコードをフィルタ選択できるようなレポートを作成できま
す。保存データレコードフィルタは保存データ選択式とパラメータパネルの使用を組み合わせたものです。
この機能には、以下の利点があります。
•
•
•
•
この機能を使用すると、レポートのキャンバスを終了せずにレポートをフィルタ選択および再フィルタ選択で
きます。
データベースの処理にかかる負荷がなくなります。
データのフィルタ選択にかかる時間を短縮できます。
表示時に、データベースへの接続やアクセス権がなくても、レポート内でレコードをフィルタ選択することが
できます。
保存データレコードフィルタをレポートに組み込む場合は、以下の点を考慮することが重要です。
• レポートがデータベースに対して更新されないようにするには、非データパラメータをパラメータパネルに追
加する必要があります。
• エクスポートされたレポートでは、最近適用されたパラメータの変更がすべて維持されます。
• サブレポートパラメータは、パラメータパネルに表示できません。
21.12.8.1 パラメータフィールドを使って保存データレコードフィルタを作成する
•
以下のタスクを組み合わせて、対話型の保存データレコードフィルタを作成します。
a パラメータパネルに表示されるパラメータを作成する。
b 保存されたデータ選択式にパラメータを取り込む。
関連項目
• 481 ページの「パラメータパネルに表示されるパラメータを作成する」
• 482 ページの「保存されたデータ選択式にパラメータを取り込む」
21.12.9 パラメータパネルに表示されるパラメータを作成する
1 [表示]メニューで、[フィールドエクスプローラ]をクリックします。
481
2012-05-10
パラメータフィールドとプロンプト
ヒント
[標準]ツールバーの[フィールドエクスプローラ]ボタンをクリックする方法もあります。
[フィールドエクスプローラ]ダイアログボックスが表示されます。
2
[パラメータフィールド]を選択して、[新規作成]をクリックします。
[パラメータの新規作成]ダイアログボックスが表示されます。
3 [名前]フィールドにパラメータの名前を入力します。英数字で 255 文字まで入力できます。
4 適切な[タイプ]を一覧から選択します。
注
タイプが日付または日時のパラメータを作成すると、必要に応じて日付形式を変更できます。
5 [値フィールド]一覧で、値を選択します。
6 [アクション]をクリックし、[すべてのデータベース値を追加]を選択して適用可能なすべての値を[値]領域に
移動します。
この例では、ユーザが任意の値を選択できます。選択を制限する場合は、ユーザに選択させる値を手動で
入力します。
7 [(ビューア) パネルに表示]一覧から[編集可能]を選択します。
この例では、パラメータパネル上のパラメータの値をユーザが編集できます。パネル上にパラメータを表示
しても、ユーザに編集させないようにするには、このオプションで[読み取り専用]を選択します。
8 [OK]をクリックします。
9 [フィールドエクスプローラ]ダイアログボックスに戻り、パラメータをレポートにドラッグします。
[プロンプト値の入力]ダイアログボックスが表示されます。
注
レポートにドロップしたパラメータフィールドを表示しない場合は、レポートのヘッダやフッタなど、非表示に
できるセクションに配置します。
ヒント
条件付き書式設定式または選択式でパラメータを参照する予定がある場合は、パラメータをレポートにドラッ
グする必要はありません。パラメータパネルでパラメータオプションを[編集可能]または[読み取り専用]に設
定している場合は、式でパラメータを使用すると、パネルでパラメータが自動的にアクティブになります。
パラメータがパラメータパネルに表示されます。
21.12.10 保存されたデータ選択式にパラメータを取り込む
1 [レポート]メニューの[選択エキスパート]をポイントし、[保存データ]をクリックします。
[フィールドの選択]ダイアログボックスが表示されます。
2 レコード選択の基となるフィールドを選択し、[OK]をクリックします。
選択エキスパートが表示されます。
482
2012-05-10
パラメータフィールドとプロンプト
3 ドロップダウンリストを使用して、フィールドの選択条件を入力します。
4 その隣のドロップダウンリストからパラメータを選択して、[OK]をクリックします。
パラメータが初めて参照されている場合は、[値の入力]ダイアログボックスが表示されます。
5 初期値を選択し、[OK]をクリックします。
Crystal Reports では、選択基準に従って直ちにレポートデータがフィルタ選択されます。
21.12.11 パラメータフィールドを使用した動的グループ化機能の追加
ユーザがデータベースから情報を最新表示しなくても、レポートのグループの表示を変更できるようにレポート
を作成できます。たとえば、ユーザはレポートの顧客重視ビューから、地域重視ビューまたは注文重視ビュー
に移動できます。動的グループ化では、グループ選択式とパラメータパネルの使用が結合されます。
21.12.11.1 パラメータフィールドを使用して動的グループ化機能を追加する
1 サンプルデータの Xtreme.mbd を使用してレポートを作成し、次のフィールドを[詳細]セクションで横方向
に配置します。
{Customer.Customer Name}
{Customer.Country}
{Orders.Order ID}
{Orders.Order Date}
{Orders.Order Amount}
2 新しいパラメータフィールドを作成し、GroupBy という名前を付けます。
3 [種類]一覧で[文字列]を選択します。
4 次の値をパラメータに追加します。
• 顧客
• 国
• 順序
5 [(ビューア) パネルに表示]一覧から[編集可能]を選択し、[OK]をクリックします。
6 新しい式フィールドを作成し、GroupField という名前を付けます。
7 [式]テキストボックスに次の式を入力します。
If {?GroupBy} = 'Customer' then
{Customer.Customer Name}
Else if {?GroupBy} = 'Country' then
{Customer.Country}
Else if {?GroupBy} = 'Order' then
ToText({Orders.Order ID})
注
Crystal Reports 式では、条件でさまざまなデータ型を返すことはできません。顧客名フィールドと国フィー
ルドはどちらも文字列を返すため、ToText 関数を使用して受注番号を番号から文字列に変換する必要も
あります。
483
2012-05-10
パラメータフィールドとプロンプト
8 式を保存して、式ワークショップを閉じます。
9 グループエキスパートで、GroupField 式をグループフィールドとして選択し、[OK]をクリックします。
10 集計フィールドおよびセクションの書式設定を必要に応じてカスタマイズします。
これで、パラメータパネルで GroupBy パラメータの値を変更して、レポートのグループ化の表示を変更できま
す。
注
パラメータ値を変更しても、パラメータが非データパラメータである限り、データベースは最新表示されません。
関連項目
• 449 ページの「データパラメータと非データパラメータ」
484
2012-05-10
サブレポート
サブレポート
22.1 サブレポートの概要
サブレポートとは、別のレポートに含まれるレポートです。サブレポートを作成する過程は、通常のレポートを作
成する過程と同様です。サブレポートには、サブレポート自体のレコード選択条件を含め、レポートのほとんど
の特性が備わっています。サブレポートとプライマリレポートの違いは、次のことだけです。
•
サブレポートは、1 つのオブジェクトとしてプライマリレポートに挿入されます。サブレポートを 1 つのプライ
マリレポートとして保存することはできますが、サブレポート自体は独立していません。
•
サブレポートは、レポートの任意のセクションに配置できます。また、サブレポート全体がそのセクションに出
力されます。
•
サブレポートが別のサブレポートを含むことはできません。
•
サブレポートには、ページヘッダセクションやページフッタセクションはありません。
通常、サブレポートを使用するケースは、4 とおりあります。
•
関連のないレポートを組み合わせて単一のレポートに組する場合。詳細については、493 ページの 「サブ
レポートによる関連のないレポートの組み合わせ」を参照してください。
•
それ以外ではリンクできないデータを結合させる場合。詳細については、494 ページの 「リンクできないデー
タを持つサブレポートの使用」を参照してください。
•
単一のレポート内で、同じデータを異なる方法で表示する場合。詳細については、498 ページの 「レポート
のデータを異なるビューで表示」を参照してください。
•
参照フィールドにおいて、インデックスが付いていないフィールドから 1 対多の参照を行う場合。
注
サブレポートを含むレポートのパフォーマンスを向上させるには、通常のインプレイスのサブレポートではなく、
オンデマンドのサブレポートを使用します。
22.1.1 リンクされていないサブレポートとリンクされたサブレポート
485
2012-05-10
サブレポート
22.1.1.1 リンクされていないサブレポート
リンクされていないサブレポートは、独立しており、そのデータをプライマリレポートのデータと結合させることは
できません。
リンクされていないサブレポートでは、1 つのレポートのレコードが別のレポートのレコードと一致するかどうかを
試されることはありません。リンクされてないサブレポートでは、プライマリレポートと同じデータを使用する必要
はありません。同じデータソースを使用することも、まったく異なるデータソースを使用することもできます。また、
サブレポートの作成は、単一のテーブルに制限されてはいません。単一のテーブルを基にすることも、複数の
テーブルを基にすることもできます。基になるデータソースにかかわらず、それらのレポートは無関係のものとし
て扱われます。
22.1.1.2 リンクされたサブレポート
リンクされたサブレポートは、リンクされていないサブレポートとまさに正反対で、それらのデータを結合させるこ
とができます。サブレポートのレコードは、プライマリレポートのレコードと組み合わされます。顧客情報でプライ
マリレポートを作成し、注文情報でサブレポートを作成して、これらをリンクすると、顧客ごとのサブレポートを作
成し、そのサブレポートに各顧客のすべての注文を入れることができます。
22.1.1.3 1 対多の状況におけるデータベースのリンクとサブレポートの比較
レポート内の 2 つのテーブルに 1 対多のリレーションシップがある場合、次の点に応じて、異なる方法でデー
タが取得されます。
•
データソース
•
インデックスの状態
•
レコード選択条件
•
リンクされたテーブルを基にして単一のレポートを作成したか、サブレポートを含むプライマリレポートを作
成したか
サブレポートとリンクテーブルのどちらを使用するかを決めるには、それぞれの詳細を理解する必要がありま
す。この問題については、517 ページの 「1 対多のリンクの処理速度に関する留意点」に詳しく解説されていま
す。
原則として、インデックス付きテーブルまたはリンクされたインデックス付きフィールドがある場合や、インデック
ス付きフィールドに基づくレコード選択式を使って範囲を制限する場合、プログラムは、単一のレポートでテー
ブルをリンクしても、サブレポートを使用しても、同じ数のレコードを読み取る必要があります。ただし、各サブレ
486
2012-05-10
サブレポート
ポートは別々のレポートとして実行されるので、リンクテーブルの方が処理速度では有利です。詳細について
は、500 ページの 「インデックス付きテーブル」を参照してください。
22.1.2 サブレポートのリンク機構
サブレポートをプライマリレポートにリンクする場合は、パラメータフィールドを使ってリンクが作成されます。
サブレポートのリンクフィールドを選択すると、次の処理が行われます。
•
プライマリレポートから渡される値を取得するためのパラメータフィールドが作成されます。
•
パラメータフィールドを使ったレコード選択式が、サブレポートに作成されます。
•
この選択式により、サブレポートのレコードは、リンクフィールドの値がパラメータフィールドの値に等しいレ
コードに限定されます。
レポートを実行すると、プライマリレポートフィールドの最初のレコードが見つけられ、リンクフィールドの値がサ
ブレポートのパラメータフィールドに渡されます。次に、パラメータフィールド値を基にしてレコードを選択し、サ
ブレポートが作成されます。次はその例です。
•
顧客データを表示するレポートおよび注文データを表示するサブレポートを作成します。そして、"顧客番
号"フィールドを使って 2 つのレポートをリンクします。
•
レポートを実行すると、最初の顧客レコードが見つけられ、そのレコードの"顧客番号"の値がサブレポート
のパラメータフィールドに渡されます。
•
注文サブレポートが実行されます。サブレポートの選択式により、"顧客番号"の値がパラメータフィールドの
値と等しいレコードだけが選択され、そのパラメータフィールドの値は、プライマリレポートの最初のレコード
の"顧客番号"と等しいので、サブレポートには、"顧客番号"が同じレコードだけが含まれます。つまり、それ
らのレコードは、最初の顧客の注文です。
•
サブレポートが完了すると、プライマリレポートの 2 番目のレコードに移り、その顧客データが出力され、さ
らにこの顧客の番号がパラメータフィールドに渡されます。
•
2 番目の顧客の注文レコードだけを含むサブレポートが実行されます。
•
レポートが終了するまで、この過程が継続されます。
•
このパラメータフィールドの操作は、すべてバックグラウンドで行われます。プライマリレポートとサブレポー
トをリンクするフィールドを選択するだけで、残りの作業は、プログラムが行います。パラメータフィールドに
値が渡される際、ユーザに入力は求められません。
注
リンクされたサブレポートで、サブレポートの [デザイン] タブから [標準] ツールバーの [印刷プレビュー]
をクリックすると、サブレポートが単体で実行されます。プライマリレポートからのパラメータフィールド値の受け
取り、およびタブテキストの式の評価は行われません。この場合は、[パラメータ値の入力]ダイアログボックスが
表示され、値の入力を求められます。
ボックスに入力された値が、サブレポートの実行に使用される値です。
487
2012-05-10
サブレポート
22.2 サブレポートの挿入
1 [挿入]メニューの[サブレポート]をクリックします。
ヒント
[挿入ツール]ツールバーの[サブレポートの挿入]ボタンをクリックする方法もあります。
[サブレポートの挿入]ダイアログボックスが表示されます。
2 既存のサブレポートを選択するには、[既存のレポートを選択]をクリックし、名前をテキストボックスに入力し
ます。名前がわからない場合は、[参照]をクリックし、表示されたダイアログボックスで見つけてます。
新しくサブレポートを作成するには、[レポートウィザードを使用してサブレポートを作成]をクリックし、名前を
入力します。次に、[レポートウィザード]ボタンをクリックします。ウィザードを使ってレポートを作成する方法
については、72 ページの 「新しいレポートの作成」を参照してください。
3 サブレポートのデータを必要に応じて取得できるようにするには、[(ハイパーリンクに似た)オンデマンドサブ
レポート]をオンにします。そうでない場合は、サブレポートのすべてのデータがレポートに表示されます。
4 [OK]をクリックします。
オブジェクトフレームが表示されます。
5 レポート上の表示位置にフレームを移動し、一度クリックします。
プログラムにより、サブレポートの名前が付いたサブレポートのデザインタブが作成されます。レポートを編
集するには、デザインタブをクリックして、変更します。
488
2012-05-10
サブレポート
6 [プレビュー] タブをクリックすると、親レポートが表示されます。
7 [(ハイパーリンクに似た)オンデマンドサブレポート]オプションを選択した場合は、サブレポートのプレビュー
タブをクリックすると、サブレポートが表示されます。
このタブには、サブレポートの名前が付けられます。
注
オンデマンドのサブレポートを使用すると、サブレポートが含まれるレポートのパフォーマンスが向上します。
サブレポートのプレビュータブにカスタムキャプションを付ける方法については、497 ページの 「オンデマンドサ
ブレポートへのキャプションの追加」を参照してください。
22.2.1 サブレポートのプレビュー
メインレポートの一部としてサブレポートをプレビューするのではなく、サブレポート自体をプレビューする必要
があることもあります。たとえば、特定のパラメータ値に対するデータを表示および分析するには、サブレポート
をプレビューします。
22.2.1.1 サブレポートをプレビューする
1 プレビューするサブレポートに対応するデザインタブをクリックします。
このタブには、サブレポートの名前が付けられます。
2
[標準]ツールバーの[印刷プレビュー]ボタンをクリックします。
選択したサブレポートがプレビューされます。
489
2012-05-10
サブレポート
22.2.2 サブレポートをプライマリレポートとして保存
情報をさまざまな人々に配布することを考えると、サブレポートをプライマリレポートとして保存しておくと便利な
ことがあります。たとえば、サブレポートを含むプライマリレポートを会計年度末の株主総会向けに作成したとし
ます。このサブレポートに、管理職の日常業務向けのデータが含まれている場合、それをプライマリレポートと
して保存することは簡単です。
22.2.2.1 サブレポートをプライマリレポートとして保存する
1 [デザイン]タブでサブレポートを右クリックし、ショートカットメニューから[サブレポートに名前を付けて保存]
を選択します。
[名前を付けて保存]ダイアログボックスが表示されます。
2 [名前をつけて保存]ダイアログボックスで適切なディレクトリを検索します。
3 サブレポートの新しい名前を入力します。
4 [保存]をクリックします。
サブレポートがプライマリレポートとして保存され、必要なときに、それを個別に開くことができます。
22.2.3 サブレポートの更新
サブレポートを最新に維持するために、サブレポートデータを手動で更新できます。ただし、メインレポートを開
けたときに自動的にサブレポートを再インポートする必要がある場合があります。
注
再インポートは、レポートファイルから作成されたサブレポートだけで利用できます。
再インポートでは、データが更新されるだけでなく、サブレポートの書式設定、グループ化、構造などに変更が
あればすべて更新されます。サブレポートの基になっているレポートを変更した場合は、そのサブレポートを含
むレポートにそれらの変更を反映させることができます。
自動的な再インポートは、すべてのサブレポートにグローバルに指定することも、個別のサブレポートに設定す
ることもできます。
490
2012-05-10
サブレポート
22.2.3.1 サブレポートデータを手動で更新する
サブレポートのデータはいつでも更新できます。
1 [デザイン]タブでサブレポートを右クリックします。
2 ショートカットメニューの[サブレポートの再インポート]をクリックします。
3 [はい]をクリックしてサブレポートのデータを更新します。
22.2.3.2 メインレポートを開くときに、サブレポートをグローバルに更新する
1
2
3
4
[ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログボックスで、[レポート]タブをクリックします。
[レポートを開くときサブレポートを再インポートする]をクリックします。
[OK]をクリックします。
これで、メインレポートが開かれるか、最新表示されると、すべてのサブレポートが更新されます。
22.2.3.3 メインレポートを開くときに、特定のサブレポートを更新する
1 [書式]メニューの[サブレポートの書式設定]をクリックします。
2 書式エディタの[サブレポート]タブをクリックします。
3 [開くときに再インポートする]をクリックします。
これで、メインレポートが開かれるか、最新表示されると、現在のサブレポートが更新されます。
22.3 サブレポートをプライマリレポートのデータにリンク
通常、サブレポートのデータは、プライマリレポートの補足データです。たとえば、プライマリレポートに顧客デー
タがある場合は、サブレポートを使って顧客ごとの注文を表示します。
このような場合、プライマリレポートのデータとサブレポートのデータを統合して、サブレポートの注文を顧客と
正しく対応させる必要があります。
491
2012-05-10
サブレポート
それには、サブレポートおよびプライマリレポートに共通するフィールドを指定する必要があります。[サブレポー
トのリンク]ダイアログボックスを使って 2 つの共通フィールド間のリンクを作成します。Crystal Reportsでは、そ
のリンクを使用して、プライマリレポートのレコードをサブレポートのレコードへ対応させます。サブレポートの"注
文"データがプライマリレポートの対応する"顧客"データと同じ行に位置することが、このリンクによって保証さ
れます。
22.3.1 サブレポートをプライマリレポートのデータにリンクする
1 サブレポートをプライマリレポートのデータにリンクするには 新しいサブレポートを作成するか、既存のレ
ポートをサブレポートとしてインポートする場合は、[挿入]メニューの[サブレポート]をクリックします。レポー
トを作成または選択し、[リンク]タブをクリックします。
または
既にサブレポートをプライマリレポートに配置していて、まだリンクの設定を作成していない場合は、[編集]
メニューの[サブレポートのリンク]を選択して、[サブレポートのリンク]ダイアログボックスを表示します。
[サブレポートのリンク]ダイアログボックスが表示されます。
2 リンクするサブレポートが選択されていない場合は、[対象サブレポート]ドロップダウンリストから選択します。
3 [利用可能なフィールド]リストボックスで、プライマリレポートのリンクフィールドとして使用するフィールドを選
択します。
4 [>]ボタンをクリックします。
選択したフィールドが[フィールド(複数可)のリンク先]リストボックスに追加され、リンクフィールドとして選択さ
れています。
5 必要に応じてリンクを追加するには、手順 3 と 4 を繰り返します。
6 [フィールドリンク]セクションを使用して、リンクフィールドごとにリンクを設定します。このセクションは、リンク
フィールドを選択した場合にだけ表示されます。
• [使用するサブレポートパラメータフィールド]から、プライマリレポートにリンクするフィールドを選択しま
す。
•
特定のフィールドに基づいてサブレポートのデータを構成するには、[指定のフィールドに基づいてサブ
レポートのデータを選択]チェックボックスをオンにし、下のドロップダウンリストからフィールドを選択しま
す。これは、選択エキスパートを使用するのと同じです。フィールドを指定しない場合は、サブレポート
にはプライマリレポートの構成が適用されます。
7 [OK]をクリックします。
レポートを実行すると、プライマリレポートのデータとサブレポートのデータが統合されます。
注
コンテナレポートフィールドのフィールドの型により、表示できるサブレポートのフィールドが決定されます。Report
Designer は、文字列、日付、日付/時刻のいずれかの型としてデータを読み取ります。したがって、サブレポー
トのパラメータフィールドの型が、リンクするフィールドに対してメインレポートの[レポートオプション]ダイアログ
ボックスで設定されているフィールドの型と一致していることを確認する必要があります。
492
2012-05-10
サブレポート
22.4 選択式を変更しないサブレポートのメインレポートへのリンク
Crystal Reportsでは、パラメータフィールドの機能を利用してサブレポートをメインレポートにリンクしています。
パラメータフィールドではないメインレポートのフィールドをサブレポートのフィールドにリンクした場合は、次の
処理が行われます。
•
パラメータフィールドが自動的に作成され、リンクが完成されます。
•
サブレポートのレコード選択式が変更され、パラメータフィールドの値と等しいフィールドを持つサブレポー
トのレコードだけが選択されます。
パラメータフィールドは、ユーザの目から隠されます。これを"暗黙のリンク"と呼びます。
サブレポートでリンクされたパラメータフィールドを使用する際、それをサブレポートの選択式の一部としては使
用しないようにすることがあります。たとえば、メインレポートから渡した集計値をサブレポートで計算に使用した
り、メインレポートからサブレポートのタイトルを渡す場合です。
メインレポートのフィールドをサブレポートに作成したパラメータフィールドにリンクした場合は、ビジュアルリンク
エキスパートによって次の処理が行われます。
•
指定したリンクがチェックされます。
•
パラメータフィールドが追加して作成されることはありません。
•
サブレポートのレコード選択式が変更されることはありません。
このリンクを"明示的なリンク"と呼びます。
22.4.1 選択式を変更しないで、サブレポートをメインレポートにリンクする
1 サブレポートにパラメータフィールドを作成します。
2 メインレポートのフィールドをサブレポートのパラメータフィールドにリンクします。
22.5 サブレポートによる関連のないレポートの組み合わせ
関連のないレポートを組み合わせて、単一のレポートを作成することが必要な場合があります。たとえば、単一
のレポートを作成して次の内容を表示する場合です。
493
•
セールスマンごとにグループ化された売上高
•
項目でグループ化された売上高
2012-05-10
サブレポート
どちらのレポートも売上高のデータを扱っていますが、これらのレポートに直接の関係はありません。
このように、サブレポートを使用すると、関連のないレポートを組み合わせて単一のレポートにすることができま
す。それらのレポートは、同じデータセットを基にすることもできますが、必ずそうする必要もありません。各レ
ポートは、まったく異なるデータセットを基にすることもできます。
各レポートは、独立しています。レポートのどのデータも、他のレポートのデータとリンクされることはありません。
これは、最も作業の簡単なサブレポートの作成方法です。
22.5.1 関連のない 2 つのレポートを組み合わせるには
1 プライマリレポートとして最初に出力するレポートを作成します。
2 既存のレポートをインポートしてサブレポートに使用するか、新しくサブレポートを作成します。
3 サブレポートをレポートフッタに配置すると、プライマリレポートの直後に出力されます。
22.5.2 関連のない 3 つ以上のレポートを組み合わせるには
1 プライマリレポートとして最初に出力するレポートを作成します。
2 サブレポートとして使用する他のレポートをそれぞれインポートまたは作成します。
3 セクションエキスパートを使用して、作成するサブレポートの数に見合ったレポートフッタセクションを挿入し
ます。
たとえば、3 つのサブレポートを使用する場合は、新しく 2 つのレポートフッタセクションを挿入すると、合計
で 3 つのレポートフッタセクションになります。
4 レポートフッタ A には、プライマリレポートの直後に出力するサブレポートを、レポートフッタ B には、その次
に出力するサブレポートを配置し、その後も同様に続けます。
最初にプライマリレポートが出力され、次にレポートに配置した順序でサブレポートが出力されます。
注
サブレポートは、同じレポートフッタセクションに横に並べて配置できます。それらは、レポートの最後に続
けて出力されます。
5 サブレポートをレポートフッタセクションに配置すると、プライマリレポートの後に順次出力されます。
22.6 リンクできないデータを持つサブレポートの使用
次の条件を満たす限り、どのようなテーブルどうしも 1 つのレポート内でリンクできます。
494
2012-05-10
サブレポート
•
リンクフィールドがどちらもデータベースフィールドである。
•
リンクフィールドが同じ種類のデータを含んでいる。
•
リンクフィールドの長さが同じである。
•
参照テーブルのリンクフィールドがインデックス付きである(PC データベースの場合)。
テーブルのリンクで問題が起こることはまれです。ただし、リンクの条件を満たさないため、異なるテーブルの
データを統合できない場合があります。
たとえば、単一つのレポートで、式フィールドへ、または式フィールドからリンクしたり、または、インデックスのな
い 2 つのテーブルをリンクすることはできません。サブレポートを使用する必要があります。
22.6.1 式フィールドへのリンク、式フィールドからのリンク
式フィールドへ、または式フィールドからリンクする必要のある場合を考えます。たとえば、社員番号が 2 文字
の部門コードと、9 文字の社会保障番号で構成され、HR555347487 などのように、合わせて 11 文字でその値
が表されているとします。
式言語を使用すると、簡単にこのフィールドから社会保障番号を抽出できます。
{employee.EMPLOYEE ID} [-9 to -1]
または
{employee.EMPLOYEE ID} [3 to 12]
HR555347487 という値に対しては、どちらの式からも 555347487 の値が返されます。
戻り値は有効な社会保障番号になっていますが、式フィールドを使って他のテーブルの社会保障番号のフィー
ルドにリンクすることはできません。しかし、サブレポートを使用すれば、2 つのテーブルの値を使ってレポート
を作成し、それらを統合できます。
22.6.1.1 式フィールドへリンクする
1 社会保障番号のフィールドを含むテーブルを使用して、プライマリレポートを作成します。
2 ここでは、そのフィールドを{file.SSN}とします。社員番号のフィールドから社会保障番号を抽出する式を使っ
たサブレポートを作成またはインポートします。ここでは、その式を{@EXTRACT}とします。
488 ページの 「サブレポートの挿入」を参照してください。
3 プライマリレポートの表示位置にサブレポートを配置します。
4 サブレポート({@EXTRACT})をプライマリレポートにリンクします。プライマリレポート({file.SSN})にある社会保
障番号のフィールドを、サブレポートにある番号を抽出する式にリンクしてください。493 ページの 「選択式
を変更しないサブレポートのメインレポートへのリンク」を参照してください。
495
2012-05-10
サブレポート
22.6.2 インデックスのないテーブルのリンク
SQL または ODBC データベースではなく、PC データベースを使用する場合、有効なリンクを作成するには、
参照データベースのリンクフィールドにインデックスが付いている必要があります。2 つのテーブルが関連する
データを含んでいても、リンクフィールドとして使用するフィールドに、どちらもインデックスがない場合、または
主テーブルにインデックスが付いていても、参照テーブルにインデックスがない場合は、単一のレポートでそれ
らのテーブルをリンクすることはできません。両方のテーブルのデータを統合するには、サブレポートを使用す
る必要があります。
注
インデックスのないテーブルどうしをリンクしたり、インデックス付きの主テーブルからインデックスのない参照
テーブルにリンクすると、たいへん効率の悪いレポートになる可能性があります。使用するデータセットが大き
い場合、この種のレポートの実行には非常に時間がかかります。ほかに方法がない場合に限り、この方法を使
用してください。
22.6.2.1 インデックスのないテーブルをリンクする
1 プライマリレポートを作成します。
2 サブレポートを作成またはインポートし、プライマリレポートに挿入します。
488 ページの 「サブレポートの挿入」を参照してください。
3 インデックスのないフィールドどうし、または主テーブルのインデックス付きフィールドと参照テーブルのイン
デックスのないフィールドを使用して、サブレポートをプライマリレポートにリンクします。491 ページの 「サブ
レポートをプライマリレポートのデータにリンク」を参照してください。
22.7 オンデマンドサブレポートの作成
複数のサブレポートを含むレポートを作成する場合、オンデマンドサブレポートは特に有効です。この場合は、
それらのサブレポートを単にオブジェクトフレームとして表示するように選択できます。
実際のデータは、ユーザがハイパーリンクをドリルダウンした時点でデータベースから読み込まれます。このよ
うに、オンデマンドサブレポートでは、実際に表示されるデータだけがデータベースから取得されます。これで、
サブレポートが管理しやすくなります。
注
サブレポートを実際にプレビューウィンドウに開かない限り、オンデマンドのサブレポートのデータは保存されま
せん。
496
2012-05-10
サブレポート
22.7.1 オンデマンドのサブレポートを作成する
1 通常どおり、プライマリレポートにサブレポートを配置します。
2
[エキスパートツール]ツールバーの[書式]をクリックします。
書式エディタが表示されます。
3 [サブレポート]タブをクリックし、[オンデマンドサブレポート]チェックボックスをオンにします。
4 [OK]をクリックします。
22.8 オンデマンドサブレポートへのキャプションの追加
レポートを完成するために、サブレポートのプレビュータブおよびオンデマンドサブレポートのプレースホルダ
フレームに、キャプションを作成します。
キャプションは、式を使って書き込みます。プレースホルダフレームのキャプションおよびサブレポートのプレ
ビュータブのキャプションのどちらにも、メインレポートのフィールド名を入れることができます。
サブレポートのプレビュータブでは、サブレポートのファイル名がタブのテキストキャプションになっています。
注
タブのテキストキャプションは、オンデマンドのサブレポートおよび通常のサブレポートの両方に適用できます
が、サブレポートのプレースホルダフレームのキャプションは、オンデマンドサブレポートだけに適用できます。
通常のサブレポートのデータは、[プレビュー]タブのその場に表示されるので、通常のサブレポートにフレーム
キャプションは必要ありません。
22.8.1 キャプションを追加する
1
サブレポートを選択し、[エキスパートツール]ツールバーの[書式]をクリックします。
書式エディタが表示されます。
2 [サブレポート]タブをクリックします。
3 オンデマンドサブレポートのキャプションまたはプレビュータブのキャプションを入力するには、それぞれに
対応する[式]ボタンをクリックし、式ワークショップを開きます。
4 [式テキスト]ボックスに式を入力します。
497
2012-05-10
サブレポート
Crystal 構文の式の例
"More Information About " + {Customer.Customer Name}
Basic 構文の式の例
formula = "More Information About" + {Customer.Customer Name}
サンプルデータベース xtreme.mdb を使用している場合は、この式で"Pathfinders の詳細情報"や"
Rockshocks for Jocks の詳細情報"などのキャプションが表示されます。
5
[確認]ボタンをクリックして、式にエラーがないかどうかを確認します。エラーが見つかると、メッセージ
ボックスにエラーの詳細が表示されます。
6 エラーを修正したら、[保存して閉じる]ボタンをクリックします。
7 [OK]をクリックし、レポートに戻ります。
注
タブテキストの式は、サブレポートをドリルダウンしたときにだけ評価されます。プライマリレポートとは別にサブ
レポートをプレビューする場合、式は評価されません。
22.9 レポートのデータを異なるビューで表示
サブレポートを使用すると、プライマリレポートにデータを異なる方法で表示できます。たとえば、レポートの上
部に集計値を、下部に詳細を表示するとします。
これには、さまざまな方法を使用できますが、次の 2 つが簡単です。
•
プライマリレポートとして集計レポートを作成し、サブレポートとして詳細レポートを作成します。この方法で
は、レポートフッタセクションに詳細レポートを配置します。
•
プライマリレポートとして詳細レポートを作成し、サブレポートとして集計レポートを作成します。この方法で
は、レポートヘッダセクションに集計レポートを配置します。
適切なリンクフィールドを使ってレポートをリンクし、データを統合します。
498
2012-05-10
データベースの基礎
データベースの基礎
23.1 データベースの概要
数多くのデータベース管理システム(DBMS)が利用され、その違いはさまざまですが、Crystal Reports は、どの
データベースファイルに接続しても、その違いがわからなくなるほどの操作性を持ちます。データベースファイ
ルや、そのテーブル、フィールド、およびレコードを使用するために必要な手順は、アクセスする実際のデータ
ベースの種類に関係なく、ほぼ同じです。
この節では、データベースファイルを操作する場合に共通する概念と操作について解説します。データベース
エイリアスの使い方、移動したデータベースファイルや名前を変更したデータベースファイルの検索方法、イン
デックス付きテーブルの使い方、およびテーブルのリンク方法は、Crystal Reports でレポートをデザインする
ユーザにとって共通の課題です。503 ページの 「SQL および SQL データベースの使用」では、SQL データ
ベースや、ODBC でアクセスするそれ以外のデータベース形式のデータにアクセスする際の、重要な情報が
提供されています。
23.1.1 リレーショナルデータベースの基礎
企業で使われているデータベースファイルの最も一般的なアーキテクチャは、リレーショナルモデルに基づい
たものです。リレーショナルモデルに基づいたデータベースを作成するアプリケーションは、リレーショナルデー
タベース管理システム(RDBMS)と呼ばれています。
リレーショナルデータベースでは、システムの中のデータは行と列(Row と Column)で構成されます。行はレコー
ドと呼ばれ、列はフィールドと呼ばれます。それぞれのレコードは、関連するデータの集まりです。たとえば、あ
る 1 人の顧客に関連するすべての情報が 1 つのレコードになります。また、それぞれのフィールドには、すべ
てのレコードに共通に存在する同じ種類のデータが入ります。たとえば、顧客の名前が 1 つのフィールドにな
ります。レコードとフィールドは、データベーステーブルに保存されます。次の図は、基本的なリレーショナル
データベースモデルを説明しています。
499
2012-05-10
データベースの基礎
2 つの異なったテーブルにあるデータを共通のフィールドで関係付けられることがよくあります。たとえば、顧客
ごとに異なる顧客番号を含む Customer テーブルと、受注した顧客の顧客番号を含む Orders テーブルには、
テーブルの間に関係(リレーションシップ)があります。これら 2 つのテーブルは、共通のフィールドでリンクでき
ます。516 ページの 「テーブルのリンク」を参照してください。
次の図は、2 つのテーブルの間の関係を表しています。
23.1.2 インデックス付きテーブル
500
2012-05-10
データベースの基礎
データベーステーブルに対してインデックスを作成すると、データアクセスを高速化し、またデータの評価にか
かる時間を短縮できます。DBMS アプリケーションには、データベーステーブルに対して自動的にインデックス
を作成するものもありますが、自分でインデックスを作成する必要がある場合もあります。レポート生成の処理
速度を最適化するには、各データベーステーブルに適切なインデックスがあることを確かめる必要があります。
注
DBMS アプリケーションには、インデックス付きテーブルをサポートしていないものがあります。インデックスをサ
ポートしているかどうか、またインデックスを作成する方法については、各 DBMS アプリケーションのマニュアル
を参照してください。DBMS アプリケーションのマニュアルにインデックス付きテーブルに関する記述がない場
合は、インデックスをサポートしていない可能性があります。その場合は、通常のフィールドを基にしてテーブ
ルをリンクする必要があります。データベースエキスパートの[リンク]タブを使用して、テーブルにインデックスが
あるかどうかを調べることもできます。
インデックスは、データを簡単に探し出すことができるように、リレーショナルデータベーステーブルの中のレ
コードを構成します。たとえば、次のようなデータを持つテーブルがあるとします。
受注番号
顧客
限度額
10444
Allez Distribution
25141.50
10470
BG Mountain Inc.
19164.30
10485
Sierra Mountain
8233.50
10488
Mountain Toad
24580.50
10495
SFB Inc.
7911.80
10501
La Bomba de Bicicleta
1956.20
10511
BG Mountain Inc.
1683.60
10544
Sierra Bicycle Group
19766.20
10568
Mountain Tops Inc.
29759.55
10579
Sierra Bicycle Group
12763.95
このテーブルの情報は、"受注番号"フィールドの順番に構成されています。受注番号を基にしてテーブルの
情報を探す場合は、これで十分です。しかし、ある顧客に関する情報を探す場合はどうでしょうか。
501
2012-05-10
データベースの基礎
たとえば、Sierra Bicycle Group から受けたすべての注文を探し出すとします。データベースエンジンは、1 番
目のレコードの受注番号を見て、顧客の名前が Sierra Bicycle Group と一致するかどうかを調べることから始
める必要があります。一致しないと、2 番目のレコードの受注番号に進み、顧客の名前を調べます。この顧客
の名前を含んだ受注番号が見つかると、データベースエンジンは、その情報を取り出した後、次の注文番号の
処理に進みます。この方法では、テーブルにあるすべてのレコードに対して、"受注番号"フィールドと"顧
客"フィールドの両方のフィールドを読む必要があります。数千のレコード、あるいは数百万ものレコードを持つ
大きなデータベーステーブルを調べていく場合、長時間で大量のコンピュータ処理を必要としてしまいます。
その代わりに、このテーブルに"顧客"フィールドに基づくインデックスを作成します。この場合、インデックスは
次のようになります。
顧客
受注番号へのポインタ
Allez Distribution
10444
BG Mountain Inc.
10470
BG Mountain Inc.
10511
La Bomba de Bicicleta
10501
Mountain Toad
10488
Mountain Tops Inc.
10568
SFB Inc.
10495
Sierra Bicycle Group
10544
Sierra Bicycle Group
10579
Sierra Mountain
10485
このインデックスの情報は、受注番号ではなく、顧客の名前の順番に構成されています。また、2 番目の列に
は、元のテーブルにある受注番号へのポインタがそのまま格納されていることに注意してください。このインデッ
クスを使用すると、データベースエンジンは、該当する顧客、つまり Sierra Bicycle Group が見つかるまで、顧
客列にある情報だけを検索すればよくなります。
データベースエンジンは、インデックスの中で該当する顧客のエントリを見つけると、インデックスの 2 番目の列
にあるポインタを使ってテーブルの中の対応する注文を見つけます。つまり、該当する顧客の注文だけが読ま
れます。また、インデックスの中の情報は顧客の名前の順番に構成されているので、データベースエンジンは、
502
2012-05-10
データベースの基礎
該当する顧客と一致しないインデックスエントリが見つかった時点で、インデックスの検索を続ける必要がなくな
ります。
インデックスに従ってデータベーステーブルを検索する場合の利点は、スピードです。インデックスを使用する
と、データの取得とレポートの生成が高速化されます。大きなデータベースファイルからレポートを生成する場
合の重要な要素です。
23.2 SQL および SQL データベースの使用
最もよく使用され、しかも最も強力なデータベース形式のアプリケーションは、SQL(Structured Query Language)
に基づく DBMS アプリケーションです。SQL データベースは、通常、クライアント/サーバネットワークアーキテ
クチャで動作します。データベースファイル、テーブル、フィールド、およびレコードは、SQL サーバで作成、保
存、また操作されます。また、ワークステーションユーザは、SQL クライアントのインタフェースを使用して、デー
タベースファイルを設計および操作するだけでなく、日常業務の役に立つ重要なデータも取得できます。
23.2.1 SQL とは
SQL は、コンピュータネットワーク上で大規模なリレーショナルデータベースを構成、管理、開発、および参照
するために設計されたクエリ言語です。SQL は、情報科学の世界と情報処理の業界で共通の言語です。この
言語は、ANSI(American National Standards Institute)と ISO(International Standards Organization)で標準化さ
れました。つまり、公式に SQL 製品と呼ばれるには、必ずサポートしなければならない機能があるということで
す。言語を改良して顧客の関心を集めるために、多くのソフトウェアベンダが自社の SQL 製品に独自の機能
を追加しています。その場合でも、ANSI と ISO で決められた標準は、そのままサポートされている必要があり
ます。
SQL は、本当のコンピュータ言語ではないことに注意してください。独立したコンピュータアプリケーションやオ
ペレーティングシステムの開発に使用することはできません。SQL は、他の言語やアプリケーションの内部で使
用されるので、副言語と呼ばれることもあります。SQL 言語は、リレーショナルデータベースを操作することを目
的にして特化されている、ということが最も重要です。
SQL 言語の構文は、SQL 文を SQL データベースサーバに送る、というシステムの上に構築されています。各
文で、データベース操作の実行を要求します。たとえば、データベースファイルの作成、データベースへのテー
ブルやフィールドの追加、テーブルへのレコードの追加、データベースからのデータの取り出しなどを要求しま
す。SQL サーバは、SQL 文を分析し、要求された操作を実行します。たとえば、データを要求する文の場合、
サーバは、データを集め、それをクライアントワークステーションに返します。ユーザには、そのデータが表示さ
れます。
503
2012-05-10
データベースの基礎
SQL クエリは、1 つ以上の SQL データベースからデータを取得するために設計された SQL 文です。SQL ア
プリケーションには、テキストエディタを使って直接 SQL クエリを入力する必要のあるものもありますが、グラフィ
カルユーザインタフェースで提供しているものもあります。後者の場合、グラフィカルユーザインタフェースの情
報を基にして、アプリケーションが SQL 文を作成します。この文が、データを取り出すために実際に使用され
る SQL クエリです。Crystal Reports は、どちらの方法も利用できる、SQL に準拠したアプリケーションです。
23.2.1.1 クライアント/サーバアーキテクチャ
SQL DBMSアプリケーションの最も強力な機能の 1 つは、クライアント/サーバのネットワークアーキテクチャが
効果的に使用できるということです。
単純なネットワーク構造では、ネットワークサーバは、ネットワーク上のすべてのユーザがデータとアプリケーショ
ンを取り出す共通の場所になっています。また、多くのネットワークサーバには、ネットワークセキュリティやデー
タのバックアップなどの自動サービス、ネットワークリソースの監視機能などがあり、ネットワーク上のすべての
ワークステーションにできる限り最善のサービスを提供しています。ネットワークサーバには高度な処理が要求
されるので、多くの場合、サーバとして使用されるコンピュータは、マルチプロセッサ、複数のハードディスク、
複数の CD-ROM デバイスなどを持つ高速で強力なマシンになっています。
ネットワーククライアントとは、コンピュータワークステーションのことで、会社で日常使用されているものです。
ユーザは、クライアント上で作業し、ネットワークを介してサーバ上のデータとアプリケーションにアクセスします。
たくさんの時間とリソースを必要とする大掛かりな処理は、サーバで実行され、最終結果がクライアントに送り返
されます。これにより、ユーザは、時間を効率的に使用できます。ワークステーションでの処理時間を抑え、コン
ピュータの利用時間が増えるからです。
504
2012-05-10
データベースの基礎
最新のコンピュータアプリケーションの多くは、このクライアント/サーバアーキテクチャに基づいています。単純
なクライアント/サーバアプリケーションは、2 つの部分から成ります。ネットワークサーバマシンに置かれるサー
バアプリケーションと、ユーザのワークステーションに置かれるクライアントアプリケーションです。サーバアプリ
ケーションは、ネットワークサーバのパワーとリソースを利用して、複雑な処理や時間のかかる処理、つまりコン
ピュータパワーの必要な処理を実行します。クライアントアプリケーションは、使いやすいユーザインタフェース
を提供します。
多くの場合、クライアント/サーバアプリケーションでは、アプリケーションの価格によって使用できるクライアント
の数が決まっています。つまり、クライアント/サーバソフトウェアに接続できる、クライアントワークステーションの
数またはクライアントユーザの数のどちらかが決まっています。どちらになるかは、ソフトウェアベンダによりま
す。多くの場合、ソフトウェアベンダに追加料金を払うと、この数を増やすことができます。増やした数だけ、クラ
イアントアプリケーションソフトウェアのセットが届けられます。
サーバアプリケーションをネットワークサーバコンピュータと混同しないようにしてください。どちらもサーバと呼
ばれることがあります。サーバアプリケーションは、ネットワークサーバに置かれ、サーバマシンのハードウェア
とオペレーティングシステムの機能を利用します。ネットワークサーバは物理的なマシンで、ネットワーククライ
アントとケーブルやその他の接続デバイスで接続されます。
23.2.2 SQL DBMS
SQL データベース管理システムは、よく知られたクライアント/サーバ ソフトウェア パッケージの例です。標準
的な SQL DBMS には、SQL サーバ アプリケーションが含まれており、このアプリケーションが、データベース
とデータベース データの構築や操作など、すべての仕事を実際に処理します。また、DBMS には、少なくとも
1 セットの SQL クライアント ソフトウェアが含まれており、ネットワーク上の SQL サーバに接続できるようになっ
ています。SQL クライアント ソフトウェアは、SQL 文を記述して実行するために使用する SQL 文 エディタ、お
よびネットワーク上の SQL サーバ アプリケーションに接続する通信レイヤの 2 つを少なくとも備えています。
SQL 文を実行する場合、クライアント ソフトウェアがその文を通信レイヤに渡し、通信レイヤがその文をネット
ワーク上のサーバ ソフトウェアに送信します。SQL サーバは、文を分析し、要求された操作を実行します。そし
て、クライアント ソフトウェアに要求されたデータを返します。サーバからデータが返されると、クライアント ソフ
トウェアは、そのデータをユーザに表示します。
505
2012-05-10
データベースの基礎
23.2.2.1 ストアド プロシージャ
多くの SQL DBMS システムは、一般的なリレーショナル データベースの属性(テーブル、フィールド、レコード
など)のほかに、ストアド プロシージャをサポートしています。ストアド プロシージャは、コンパイルされた SQL
プログラムで、1つ 以上の SQL 文からできています。ストアド プロシージャは、繰り返し使用される SQL クエリ
の定義に使用できます。さらに、ストアド プロシージャの中で変数、条件付きの式、および変数の引数を定義
でき、また、ストアド プロシージャを実行する前に、情報の入力を求める表示を行うこともできます。
ストアド プロシージャは、実行後にデータの集合を返すことができます。Crystal Reports では、SQL データ
ベース上のストアド プロシージャを実行し、返されたデータをレポートのデザインに使用できるようになっていま
す。また、ユーザーからの情報を求めるプロンプトを表示し、それを基にクエリーを実行するようにストアド プロ
シージャを設計した場合、そのストアド プロシージャを選択してレポートを作成すると、Crystal Reports によっ
て情報を要求するプロンプトが表示されます。
23.2.2.1.1 SQL ストアドプロシージャを選択する
1 [ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログ ボックスが表示されます。
2 [データベース]タブをクリックし、[ストアド プロシージャ]が選択されていることを確認します。
[ストアド プロシージャ]オプションを選択すると、SQL データベースにログオンするとき、利用できるすべて
のストアド プロシージャが自動的に表示されます。
3 さらに、必要に応じて[テーブル名 LIKE]と[所有者 LIKE]の各オプションを指定します。
• [テーブル名 LIKE]オプションは SQL の LIKE 句を基にしています。このオプションを使用すると、[SQL
テーブルの選択]ダイアログ ボックスの中に表示するテーブル名の種類を指定できます。この関数で
は、アンダースコア( _ )やパーセント記号(%)をワイルドカードとして使用できます。アンダースコアは任
意の 1 文字を指定し、パーセント記号は任意の文字列を指定します。たとえば、DAV% は、DAVE と
506
2012-05-10
データベースの基礎
DAVID の両方に一致しますが、DAV_ は、DAVE だけに一致します。“テーブル名 LIKE C%”を指定す
ると、名前が文字 C で始まるテーブルだけを表示できます。
•
[所有者 LIKE]オプションも SQL の LIKE 句を基にしています。[所有者 LIKE]オプションを使用する
と、テーブル名自体ではなく、テーブルの所有者(作成者やエイリアス)を選択できます。たとえば、“所
有者 LIKE C%”を指定すると、所有者の名前が文字 C で始まるテーブルだけを表示できます。
注
SQL の LIKE 句の詳細については、SQL のマニュアルを参照してください。
4
5
6
7
8
9
[OK]をクリックし、[オプション]ダイアログ ボックスを閉じます。
[開始ページ]で、[空のレポート]をクリックします。
使用するストアド プロシージャを含む SQL Server データ ソースを見つけて選択します。
[次へ]をクリックして、[接続情報]ダイアログ ボックスを表示します。
ログインに必要な情報を入力します。
[完了]をクリックします。
23.2.2.1.2 ストアドプロシージャのパラメータを変更する
1 [ストアド プロシージャ]フォルダの SQL ストアド プロシージャを強調表示し、右矢印(>)をクリックして、[選
択したテーブル]リストに追加します。
[パラメータ値の入力]ダイアログ ボックスが表示されます。
2 [パラメータ フィールド]リストでパラメータを強調表示します。
3 [離散値]ボックスに値を入力して割り当て、[OK]をクリックします。
データベース エキスパートに戻ります。
4 [OK]をクリックし、ストアド プロシージャのフィールドを使用してレポートを作成します。
レポートのデータを初めて最新表示するとき、入力したパラメータが使用されます。この値を満たすレコードだ
けが、レポートに使用されます。以降の最新表示では、新しいパラメータ値を要求されます。
23.2.3 Crystal Reports が使用する SQL
SQL データベースや ODBC データベースに接続する場合、Crystal Reports は、SQL クライアントアプリケー
ションとして動作し、ネットワーク上の SQL サーバに接続します。
SQL データにアクセスするレポートをデザインする場合は、Crystal Reports が SQL クエリを作成します。この
クエリは、[データベース]メニューの[SQL クエリの表示]を選択すると表示できます。
この SQL クエリは、Crystal Reports が SQL サーバに送る SQL 文を表しています。レポートのデザインをでき
る限り SQL クエリに変換することにより、Crystal Reports は、レポート処理の負荷の多くをサーバマシンに移し
ます。Crystal Reports は、要求されたデータを探すとき、データベース全体をふるいにかける代わりに、サー
バにその選別を行わせ、小さなデータの集合だけを受け取るようにします。これで、レポートを完成するために
ワークステーションが消費する時間とリソースが削減されます。
507
2012-05-10
データベースの基礎
23.2.4 SQL 言語
Crystal Reports は、ODBC を介してクライアント/サーバデータベースにアクセスするために SQL 言語を使用
しているため、SQL 句 (コマンド) をいくつか理解しておくと、レポートの生成処理をよく理解できるようになりま
す。
23.2.4.1 SELECT
SELECT 句は、データベーステーブルから取得するデータ項目を指定します。データベースフィールド(列)の
値を取得することも、データの収集時 に実行した計算の結果を取取得することもできます。以下はその例で
す。
SELECT
TABLEA.'CUSTNAME',
TABLEA.'STATE'
23.2.4.2 DISTINCT
DISTINCT 句は、重複しない一意なデータセットだけを取得するように要求します。DISTINCT 句を使用する
と、同じ内容のレコード(行)は、一度しか取得されません。DISTINCT 句を使って前の SELECT 文を変更する
と、次のようになります。
SELECT DISTINCT
TABLEA.'CUSTNAME',
TABLEA.'STATE'
23.2.4.3 FROM
FROM 句は、SELECT 句で指示されるデータベースフィールドのソースを指定します。FROM には、必要な
データを含むフィールドとそのレコードを持つデータベーステーブルを指定します。Crystal Reports が生成す
る FROM 句では、テーブル名の前にエイリアスが付き、レポートの中のテーブルを識別しています。次の例で
は、SELECT 句と共に FROM 句を使用しています。
SELECT
TABLEA.'CUSTNAME',
TABLEA.'STATE'
FROM
'TABLEA' TABLEA
508
2012-05-10
データベースの基礎
23.2.4.4 WHERE
WHERE 句には、2 つの目的があります。
•
レコードの選択基準を指定します。
•
2 つのデータベーステーブルの結合方法を指定します。
レコードの選択基準を指定するために WHERE が使用される場合は、どのレコード(データ行)を取得するかを
決定する検索条件が WHERE に含まれます。以下はその例です。
SELECT
MYTABLE.'SALESPERSON',
MYTABLE.'SALESTOTAL'
FROM
'MYTABLE' MYTABLE
WHERE
MYTABLE.'SALESTOTAL' < 10000.00
2 つのテーブルのリンク方法を指定するために WHERE が使われる場合は、SQL の結合演算子が、2 つの
テーブル名の間に入ります。詳細については、526 ページの 「リンクオプション」を参照してください。
次の例では、WHERE 句で 2 つのテーブルを結合しています。
SELECT
CUSTOMER.'CUST_ID',
CUSTOMER.'CUST_NAME',
ORDERS.'AMOUNT'
FROM
'CUSTOMER' CUSTOMER,
'ORDERS' ORDERS
WHERE
CUSTOMER.'CUST_ID' = ORDERS.'CUST_ID'
23.2.4.5 ORDER BY
ORDER BY 句は、取得したデータベースレコードを特定のフィールドの値に基づいて並べ替えることを指定し
ます。ORDER BY 句を使用しない場合、レコードは、元のデータベースにある順番に取得されます。ORDER
BY 句の後ろに、複数のフィールドが指定された場合、プログラムは、最初に指定されたフィールドの値の順番
でレコードを並べ替えます。その後、最初の並べ替えで順番が同じだったレコードを 2 番目に指定されたフィー
ルドの値で並べ替えます。次の SQL 文では、ORDER BY 句を使用しています。
SELECT
MYTABLE.'COMPANY',
MYTABLE.'CITY',
MYTABLE.'STATE'
FROM
'MYTABLE' MYTABLE
ORDER BY
MYTABLE.'STATE' ASC,
MYTABLE.'CITY' ASC
509
2012-05-10
データベースの基礎
注
ASC は、フィールドの値が降順(DESC)ではなく、昇順に並べ替えられることを示しています。昇順では、アル
ファベットは A から Z の順に、数値は 0 から 9 の順に並べ替えられます。
23.2.4.6 GROUP BY
GROUP BY 句は、集計データセットを取得します。GROUP BY は、データ自体を取得する代わりに、データを
グループ化し、SQL の集計関数を使って各グループを集計します。サーバは、Crystal Reportsに各グループ
の集計情報だけを返します。
以下はその例です。
SELECT
MYTABLE.'STATE',
MYTABLE.'ZIPCODE',
SUM (MYTABLE.'SALES')
FROM
'MYTABLE' MYTABLE
GROUP BY
MYTABLE.'STATE',
MYTABLE.'ZIPCODE'
23.2.5 SQL コマンドの定義
使用中のデータベースで SQL などのクエリ言語がサポートされている場合は、Crystal Reports で Table オブ
ジェクトとして表示される独自のコマンドを作成できます。データベースユーザは、作成したコマンドを使って、
データベースサーバにプッシュダウンされるデータ処理を完全に制御できます。また、データベースと SQL 言
語に詳しいユーザであれば、高度に最適化されたコマンドを作成して、サーバから返されるデータセットのサイ
ズを大幅に削減できます。
データベースエキスパートの[コマンドの追加]ノードを使って独自のコマンドを作成し、コマンドの処理結果を
表示する仮想テーブルを作成できます。作成したコマンドを SAP BusinessObjects Enterprise リポジトリに保存
すると、複数のユーザがコマンドを共有できます。
コマンドとして作成された仮想テーブルを使用する場合、または SAP BusinessObjects Enterprise リポジトリの
コマンドを使用する場合、Crystal Reports では、サーバに送信される SQL の構文が変更されることはありませ
ん。つまり、自動的に引用符やエスケープ文字が追加されることはありません。これは、コマンド内で使用され
るパラメータにも当てはまります。したがって、ユーザは、データベースドライバに必要な引用符およびエスケー
プ文字を自分で追加する必要があります。
注
•
以下の一部の Crystal Reports のネイティブデータベースドライバは、[コマンドの追加] 機能をサポートし
ていません。
• DB2 Server
•
510
Sybase Server
2012-05-10
データベースの基礎
•
•
Informix Online Server
[コマンドの追加]機能を使用すると、SQL インジェクション攻撃を受けやすくなります。
SQL インジェクションを使用して、リレーショナルデータベースに対して実行される SQL クエリにユーザパ
ラメータを挿入する Web ページが多数あります。たとえば、あるログイン Web ページは、ユーザ名とパス
ワードを取得し、データベースに対する SQL インジェクションを実行して情報を認証します。攻撃者は、ユー
ザ名とパスワードのフィールドに値を入力して、データベースに対して実行される SQL クエリを不正に変更
できます。
23.2.5.1 コマンドオブジェクトを作成する
1 データベースエキスパートで[接続の新規作成]フォルダを展開し、サブフォルダからデータソースを探しま
す。
2 必要に応じて、データソースにログオンします。
3 データソースの下で、[コマンドの追加]ノードをダブルクリックします。
4 「Add Command to Report dialog box」で、開いたデータソースに対する適切なクエリまたはコマンドを入力
します。
以下はその例です。
SELECT
Customer.`Customer ID`,
Customer.`Customer Name`,
Customer.`Last Year's Sales`,
Customer.`Region`,
Customer.`Country`,
Orders.`Order Amount`,
Orders.`Customer ID`,
Orders.`Order Date`
FROM
Customer Customer INNER JOIN Orders Orders ON
Customer.`Customer ID` = Orders.`Customer ID`
WHERE
(Customer.`Country` = 'USA' OR
Customer.`Country` = 'Canada') AND
Customer.`Last Year's Sales` < 10000.
ORDER BY
Customer.`Country` ASC,
Customer.`Region` ASC
注
一重引用符または二重引用符(およびその他の SQL 構文)の使用方法は、レポートで使用するデータベー
スドライバによって異なります。ただし、構文の引用符などの要素はコマンドの作成時に手動で追加する必
要があります。
5 [作成]をクリックし、 「Command Parameter dialog box」に情報を入力して、コマンドのパラメータを作成する
こともできます。
パラメータ作成の詳細については、512 ページの 「コマンドオブジェクトのパラメータを作成する」を参照し
てください。
6 [OK]をクリックします。
511
2012-05-10
データベースの基礎
Report Designer に戻ります。フィールドエクスプローラの [データベースフィールド] の下に、指定したデー
タベースフィールドを示す Command テーブルが表示されます。
注
•
•
独自のコマンドから仮想テーブルを作成するには、コマンドを一度実行する必要があります。コマンドに
パラメータがある場合は、各パラメータの値を入力するよう求められます。
デフォルトでは、作成したコマンドには Command という名前が使用されます。コマンドのエイリアスを変
更するには、エイリアスを選択して F2 キーを押します。
23.2.5.2 コマンドオブジェクトを編集する
1 データベースエキスパートの[選択したテーブル]領域で、編集するコマンドを選択します。
2 コマンドを右クリックし、ショートカットメニューの[コマンドの編集]をクリックします。
注
BusinessObjects Enterprise リポジトリにコマンドが格納されている場合は、編集前にコマンドをリポジトリか
ら接続解除する必要があります。詳細については、103 ページの 「リポジトリのオブジェクトの変更」を参照し
てください。
3 [コマンドの変更]ダイアログボックスで変更を行い、変更終了後、[OK]をクリックします。
23.2.5.3 コマンドオブジェクトのパラメータを作成する
[レポートへのコマンドの追加]ダイアログボックスまたは[コマンドの変更]ダイアログボックスでパラメータフィー
ルドを作成できます。
1 該当するダイアログボックスの[パラメータリスト]領域で、[作成]をクリックします。
2 [コマンドパラメータ]ダイアログボックスで、表示されるフィールドに次の情報を入力します。
• パラメータ名
パラメータを識別するための名前を入力します。
•
プロンプトテキスト
プロンプトで表示するテキストを入力します。
•
値の型
パラメータフィールドのデータ型を選択します。
•
デフォルト値
新しい値を指定しない場合に、プログラムによって使用される値を入力します。この手順は必須ではあ
りません。
512
2012-05-10
データベースの基礎
3 [OK]をクリックします。
[パラメータリスト]にパラメータが追加されます。追加したパラメータを変更または削除するには、[コマンドの変
更]ダイアログボックスに戻ります。
23.2.5.4 コマンドオブジェクトにパラメータを追加する
1 パラメータを挿入する箇所のクエリテキストにカーソルを置きます。
2 [パラメータリスト]内のパラメータの名前をダブルクリックします。
パラメータはカーソルの位置に追加されます。次のようになります。
WHERE
Customer.`Country` = '{?CountryParam}'
注
構文の引用符などの要素は、コマンドの作成時に手動で追加する必要があります。
作成したパラメータフィールドを変更する場合は、 「Field Explorer dialog box」に移動して、[パラメータフィー
ルド]ノードから変更するフィールドを選択してください。詳細については、447 ページの 「パラメータフィールド
とプロンプト」を参照してください。
23.3 データソースの変更
データベース ファイルの移動や名前の変更があった場合、Crystal Reports は、次にレポートを出力するとき、
データを見つけることができなくなります。そのほか、データベースのすべてのデータが 1 つのディレクトリに保
存されているマシンで作成されたレポートを、異なったディレクトリにデータが保存されている他のマシンにコ
ピーして使用する場合にも、同じことが起こります。このような場合は、レポートがアクセスするデータベース ファ
イルの保存先を調べて、エイリアスのポインタをデータベースの新しい保存先や名前に設定し直す必要があり
ます。
513
2012-05-10
データベースの基礎
[データベース]メニューの[データベースの照合]コマンドは、レポートファイルに保存されているエイリアスポイ
ンタをチェックし、使用されているデータベースファイルが指定されたディレクトリにあるかどうかを調べます。
データベースが指定された場所にない場合は、その違いがユーザーに通知されます。
Crystal Reports が格納したエイリアスポインタを変更するには、[データベース]メニューの[データソースの保
存場所の設定]コマンドを使用します。[データソースの保存場所の設定]コマンドを使用すると、データベース
ファイルの新しい名前や保存場所を簡単に指定できます。さらに、[データソースの保存場所の設定]コマンド
では、データベースドライバが選択したデータソース用に自動的に変換されます。たとえば、このコマンドを使
用すると、ダイレクト アクセス データ ソースを ODBC データ ソースに自動的に変換することができます。
23.3.1 データソースを変更する
1 [データベース]メニューの[データソースの保存場所の設定]を選択します。
[保存場所の設定]ダイアログボックスが開き、レポートで現在使用されているデータベーステーブルが[現
在のデータソース]領域に表示されます。メインレポートは、ルートノードとして表示されます。
2 [現在のデータソース]領域で、置き換えるデータベースまたはテーブルを強調表示します。
ヒント
データベースの保存場所を現在開いているレポートの場所に設定する場合は、レポートの[プロパティ]ノー
ドを展開し、[データベース名]フィールドを右クリックします。場所を手入力する場合は[編集]を、場所をロー
カルハードディスクに設定する場合は[レポートと同一]を、割り当てられたネットワークドライブに設定する場
合は[UNC へ変換]を選択します。
3 [置換先]で、代わりに使用するデータベースまたはテーブルを強調表示します。
4 [更新]をクリックします。
このボタンは、同種の項目を選択した場合にだけ使用できます。つまり、上のリストでテーブルを選択する
場合は、下のリストでもテーブルを選択する必要があります。
[更新]ボタンをクリックすると、[現在のデータソース]リスト内のデータソース情報が更新されます。
514
2012-05-10
データベースの基礎
5 必要に応じて、手順 2 と 4 を繰り返します。
23.4 エイリアスの操作方法
さまざまな理由で、データベースの名前や保存先が変わることがあります。レポートを作成した後で、テーブル
やファイルの名前や保存先が変わった場合、Report Designer は、新しい名前や保存先を探す必要がありま
す。これは、レポートの中でテーブルにアクセスする式を作成した後で、そのテーブルの名前や保存先が変
わった場合に、特に重大です。特定のフィールドを参照している特定の式を修正することは簡単かもしれませ
んが、そのフィールドを使用しているすべての式を探し出すことは、難しくて時間のかかる仕事です。
この問題を解決するために、Report Designer では、データベースのテーブルとファイルの参照にエイリアスを
使用しています。エイリアスはポインタで、プログラムにデータベースフィールドを探す場所を教えるための内
部的なしくみです。データベースの名前や保存先を変更した場合、単にポインタを設定し直します。詳細につ
いては、513 ページの 「データソースの変更」を参照してください。エイリアスの名前は変わらないので、式は影
響を受けません。Report Designer は、エイリアスにある保存先と名前を見て、データベースフィールドの新しい
保存先を探し、問題なく式を実行します。
Report Designerでは、最初にテーブルやファイルを選択したときに、自動的にデータベーステーブルにデフォ
ルトのエイリアス名が割り当てられます。デフォルトでは、エイリアスは、テーブルの名前になります。データベー
ステーブルが別々のファイルになっているデータベース(たとえば、dBASE)では、拡張子を取り外したデータ
ベースファイルの名前が使われます。たとえば、COMPANY.DBF という dBASE のデータベースファイルを使
用している場合は、COMPANY というデフォルトのエイリアス名が割り当てられます。このデフォルトのエイリア
スを使用することも、別のエイリアス名をデータベーステーブルに割り当てることもできます。
データベースエキスパートを使うと、エイリアスをいつでも変更できます。ただし、元のエイリアス名を使った式
が既にレポートに作成されている場合は、新しいエイリアス名を使って式を修正する必要があります。
515
2012-05-10
データベースの基礎
23.5 テーブルのリンク
あるテーブルのレコードと、他のテーブルにある関係するレコードを一致させるために、テーブルをリンクしま
す。あるテーブルのレコードと、他のテーブルにある関係するレコードを一致させるために、テーブルをリンクし
ます。たとえば、Orders テーブルと Customer テーブルを使用する場合は、Orders テーブル内の各注文の発
注者が、Customer テーブル内の顧客名と対応するように、テーブルをリンクします。
リンクするときは、両方のテーブルに共通のフィールドを使用します。Crystal Reports では、リンクを使って、あ
るテーブルのレコードと別のテーブルのレコードが対応付けられます。この例では、レポートの各行のデータが
同じ注文を参照していることは、リンクによって保証されます。
23.5.1 参照元のテーブルと参照先のテーブル
2 つのテーブルをリンクする場合、あるテーブル"から(From)"他のテーブル"へ(To)"リンクします。テーブルを
リンクする場合、この概念を理解しておく必要があります。"From"テーブルは参照元テーブルとして使用さ
れ、"To"テーブルは参照先テーブルの役割を果たします。参照先テーブルのレコードが、参照元テーブルに
よって参照されます。単純なリンクの場合、Report Designer は、主テーブルの最初のレコードを取り出して、参
照テーブルにあるすべての一致するレコードを探します。参照元テーブルの最初のレコードに対して、参照先
テーブルにあるすべての一致するレコードを探し終わると、参照元テーブルの次のレコードに対して、参照先
テーブルにあるすべての一致するレコードを探します。
23.5.2 リンクリレーションシップ
あるテーブルから他のテーブルにレコードをリンクする場合、そのレコードの関係は、1 対 1 または 1 対多の
2 種類の関係のどちらかになります。
23.5.2.1 1 対 1 のリレーションシップ
リンクされた 2 つのテーブルに 1 対 1 のリレーションシップがある場合は、主テーブルの任意のレコードに対
して、リンクフィールドを基にして一致する参照テーブル内のレコードが 1 つだけあります。たとえば、xtreme.mdb
データベースの Employee テーブルと Employee Addresses テーブルは、それぞれのテーブルにある "社員番
号" フィールドを基にしてリンクすることができます。Employee テーブルには、その会社の社員の役職、給料、
採用時の情報などの情報が入っています。Employee Addresses テーブルには、社員の住所が入っています。
これら 2 つのテーブルには、社員 1 人に対して 1 つのレコードがあります。したがって、Employee テーブルか
516
2012-05-10
データベースの基礎
ら Employee Addresses テーブルにリンクした場合、Employee テーブルにある 1 つのレコードに対して、Employee
Addresses にある 1 つのレコードが見つかります。これが、1 対 1 のリレーションシップです。
23.5.2.2 1 対多のリレーションシップ
リンクされた 2 つのテーブルに 1 対多のリレーションシップがある場合は、参照元テーブルの任意のレコード
に対して、リンクフィールドを基にして一致する参照先テーブルのレコードが複数ある可能性があります。
xtreme.mdb データベースの Customer テーブルと Orders テーブルは、それぞれのテーブルにある "顧客番
号" フィールドを基にしてリンクすることができます。Customer テーブルには、この会社の顧客についての情報
が入っています。Orders テーブルには、顧客から受けた注文の情報が入っています。1 人の顧客から何度も
受注できるので、Customer テーブルにある 1 人の顧客のレコードに対して、Orders テーブルには、複数の注
文がある可能性があります。これが、1 対多のリレーションシップです。
23.5.3 1 対多のリンクの処理速度に関する留意点
この項では、レポートを実行するときの処理時間とネットワークトラフィックを最小にするための情報を紹介しま
す。選択式とインデックスの最善の使い方を習得できるので、1 対多の状況で効率的にレポートを生成できる
ようになります。この項の情報を活用すれば、レポートを生成する際、必要な数以上のレコードを処理しなくて
済みます。
1 対多のリレーションシップがある 2 つのデータベーステーブルから、一致するレコードを取り出す場合、プロ
グラムが読み込んで評価するレコード数を決定する要因は、たくさんあります。
以下の表は、最終的にプログラムが読み込む必要があるレコード数に、いくつかの要因が影響していることを
表しています。ここでは、次のような例を使用しています。
•
テーブル A には、26 のレコードがあります。アルファベットの 26 文字でできています。
•
テーブル B には、2600 のレコードがあります。テーブル A の各レコードに対して、一致するレコードが 100
ずつあります。
•
テーブル A にある特定の 2 つのレコード、およびこれら 2 つのレコードと一致するテーブル B の 200 の
レコード(100 + 100)を探し出し、レポートを作成するのが目的です。
うまく行うと、およそ 200 レコード読み取るだけで作業を終了できます。
最悪の場合、同じ作業でおよそ 67,600 レコード読み取ることになります。
注
データファイルの処理速度に関して考慮する点は、SQL データベースの場合と異なります。データファイルと
は、Crystal Reportsから直接アクセスできるデータベースで、SQL 以外のデータベースのことです。この場合
の SQL データベースとは、Crystal Reports から直接、または ODBC を介してアクセスできる、SQL コマンドの
処理が可能なデータベース、および ODBC を介してアクセスできる SQL 以外のデータベースのことです。
517
2012-05-10
データベースの基礎
直接アクセスできるデータベースと ODBC データソースとの違いについて詳しく知るには、オンラインヘルプ
の「データソースへのアクセス」を参照してください。
23.5.3.1 表にある列の説明
処理効率の図には、以下の列が使われています。
•
リンクまたはサブレポート
リンクされたデータベースからレポートを作成しているのか、またはサブレポートを挿入して、それをプライマ
リレポートの中のデータとリンクしているのか。
•
選択式
プライマリレポートにレコード選択式が含まれていて、それによってテーブル A の(インデックス付きの)キー
フィールドの範囲が限定されているか。
•
インデックス A
テーブル A では、使用するフィールドに、レコードを一致させるためのインデックスが付いているか。
•
インデックス B
テーブル B では、使用するフィールドに、レコードを一致させるためのインデックスが付いているか。
•
A の読み込み数
目的の 2 つのレコードを見つけるために、テーブル A からいくつのレコードを読み込む必要があるか。
•
各 A に対する B の読み込み数
目的の 200 のレコードを見つけるために、テーブル B からいくつのレコードを読み込む必要があるか。
•
読み込むレコードの総数
タスクを完了するには、プログラムで合計いくつのレコードを処理する必要があるか。
PC データ
518
リンクまたは
サブレポート
選択式
インデックス
A
インデックス
B
A の読み込
み数
各 A に対す
る B の読み
込み数
読み込むレ
コードの総数
リンク
×
○/×
○
26
100 (26*100)
2600
リンク
○
×
○
26
100 (26*100)
2600
リンク
○
○
○
2
100 (2*100)
200
2012-05-10
データベースの基礎
リンクまたは
サブレポート
選択式
インデックス
A
インデックス
B
A の読み込
み数
各 A に対す
る B の読み
込み数
読み込むレ
コードの総数
サブレポート
×
×
×
26
2600
(26*2600)
67,600
サブレポート
×
○
×
2
2600
(26*2600)
67,600
サブレポート
×
○
○
26
100 (26*100)
2600
サブレポート
○
×
×
2
2600
(2*2600)
5200
サブレポート
○
×
○
26
100 (26*100)
2600
サブレポート
○
○
○
2
100 (2*100)
200
SQL データ
リンクまたはサブレ
ポート
選択式
A の読み込み数
各 A に対する B
の読み込み数
読み込むレコード
の総数
リンク
×
26
100 (26*100)
2600
リンク
○
2
100 (2*100)
200
サブレポート
×
26
100 (26*100)
2600
サブレポート
○
2
100 (2*100)
200
23.5.4 データファイルに関する留意点
519
2012-05-10
データベースの基礎
データファイルを使用する場合、レポートの中でテーブルをリンクしたり、レポートにサブレポートを追加すると、
1 対多のリンクが起こる可能性があります。
23.5.4.1 データファイルのリンク
1 対多の状況でリンクされたデータファイルからデータを取り出す場合、プログラムは以下の処理を行います。
•
選択式がある場合、プログラムは、選択式を解析し、渡すことのできる部分をデータベース DLL に渡しま
す。これは、通常、範囲を限定する情報です。次のレコード選択式を考えてみます。
{customer.REGION} in "CA" to "IL" AND
Remainder ({customer.CUSTOMER ID},2)=0
この式では、"and"演算子より前の部分に、"地域"フィールドに対する範囲選択の基準があります。"地
域"フィールドの値は、アルファベット順で"CA"と"IL"の間にあることが必要です。このような条件は、PC
データの場合はデータベース DLL に、SQL データの場合はサーバに渡されます。詳細については、129
ページの 「レコードの選択」を参照してください。
この選択式の後半は、Report Engine で処理する必要があります。ここでは、組み込みの関数を使ってフィー
ルド値を操作および評価しており、データベース DLL やサーバでは処理できないからです。このような条
件は、データベース DLL には渡されません。
•
テーブル A にインデックスがあり、範囲を限定する選択条件がそのインデックス付きフィールドに基づいて
いる場合(この例では、{customer.地域})、プログラムは、テーブル A の目的のレコード(最初の CA レコー
ド)に直接到達し、それを読み込みます。
•
そのレコードに対して、テーブル B のインデックスを使用して、テーブル B の中の最初に一致するレ
コードを探し出します。
•
プログラムは、このレコードをマージ(A + B)して Report Designerに返します。そこで、このレコードが選
択式全体を満たしているかどうかが評価されます。
•
その後、プログラムは、2 番目に一致するレコードを読み込み、マージしたレコードを返します。その後、
3 番目に一致するレコードを読み込み、処理を続けていきます。この処理は、一致するレコードをすべ
て読み込み終わるまで続けられます。
•
その後、テーブル A に戻り、次のレコードを読み込みます。このレコードが、CA の条件を満たしている
かどうかを評価する必要はありません。このフィールドにはインデックスがあり、レコードはアルファベット
順になっているからです。しかし、このレコードが IL の条件を超えたかどうかは評価されます(たとえば、
Mississippi や Tennessee は、条件を超えています)。レコードがまだ指定された範囲に含まれている場
合、プログラムは、再びこのレコードに対して一致するレコードを探す処理を開始します。
•
テーブル A の目標になっているすべてのレコードと、それと一致するテーブル B のすべてのレコード
を見つけるまで、処理が続けられます。
テーブル A の 2 つのレコードと、テーブル A のレコードと一致するテーブル B の 100 のレコードを見
つけるために、プログラムは 200 のレコードを読み込みます。
•
520
インデックスがないテーブルはリンクできません。テーブル A にインデックスがない場合、またはインデック
スがあっても、範囲を限定する選択条件がインデックス付きフィールドに基づいていない場合、プログラム
は、見つけた最初のレコードを読み込みます。
2012-05-10
データベースの基礎
•
そのレコードに対して、テーブル B のインデックスを使用して、テーブル B の中の最初に一致するレ
コードを探します。
•
プログラムは、このレコードをマージ(A+B)してレポートエンジンに返し、そこで全体の選択式を満たすか
どうかが評価されます。
•
その後、プログラムは、テーブル B の 2 番目に一致するレコードを見つけて、マージしたレコードを返
します。テーブル A の最初のレコードと一致するテーブル B のすべてのレコードを見つけ、マージして
返し終わるまで、3 番目、4 番目と処理を続けていきます。
•
その後、テーブル A の次のレコードに移り、一致するものを探してマージする処理を繰り返します。
テーブル A の 2 つのレコードと、テーブル A のレコードと一致するテーブル B の 100 のレコードを見
つけるために、プログラムは 2600 のレコードを読み込みます。
23.5.4.2 サブレポートとデータファイル
プライマリレポートがテーブル A を、サブレポートがテーブル B を基にしていて、そのレコードがリンクされてい
る場合は、主に次のことを考慮します。
•
•
プログラムが実行するサブレポートの数は、プライマリレポートのインデックスと選択式の状態で決まります。
•
テーブル A にインデックスがあり、そのインデックスフィールドの範囲を限定する条件を含んだ選択式
がプライマリレポートにある場合、プログラムは、2 つのサブレポートを実行します。
•
テーブル A にインデックスがない場合、またはテーブル A にインデックスがあっても、選択式がそのイ
ンデックスフィールドの範囲を限定する条件を含んでいない場合、プログラムは、26 のサブレポートを実
行します。
サブレポートに対して読み込まれるレコードの数は、テーブル B のインデックスの状態で決まります。
•
テーブル B にインデックスがある場合、プログラムは、1 つのサブレポートを実行するために、一致する
レコード(100)だけを読み込みます。
•
テーブル B にインデックスがない場合、プログラムは、1 つのサブレポートを実行するために、テーブル
B のすべてのレコード(2600)を読み込みます。
23.5.5 SQL データベースに関する留意点
SQL データでは、インデックスは重要ではありません。リンクされたテーブルとサブレポートの両方に対する主
な考慮点は、テーブル A の範囲を限定する選択式がプライマリレポートにあるかどうかです。520 ページの
「データファイルのリンク 」を参照してください。
521
2012-05-10
データベースの基礎
23.5.5.1 リンクされた SQL テーブル
選択式に範囲を限定する条件がある場合、プログラムは、その条件をサーバに渡します。
•
テーブル A の範囲を限定する選択式がある場合、サーバは、選択基準を満たすテーブル A のレコード(2)
を見つけ、それらのレコードと一致するテーブル B のレコード(100)を読み込みます。そして、レポートエン
ジンに 200 のマージしたレコードを返します。
•
選択式がない場合、または選択式があってもテーブル A の範囲を限定するものでない場合、サーバは、
テーブル A のすべてのレコード(26)と、それらのレコードと一致するテーブル B のレコード(100)を読み込
み、レポートエンジンに 2600 のマージしたレコードを返します。
どちらの場合も、その後、レポートエンジンは、マージされたレコードに選択式全体を適用します。
23.5.5.2 サブレポートと SQL データベース
サブレポートテーブル A を基にしてプライマリレポートを作成し、テーブル B を基にしてサプレポートを作成し
た場合は、次のようになります。
•
•
実行されるサブレポートの数は、プライマリレポートにある選択式の状態で決まります。
•
選択式があり、それがテーブル A の範囲を限定している場合、プログラムは、範囲を限定している条件
を満たすレコード(2)に対してだけサブレポートを実行します。
•
選択式がない場合、または選択式があってもテーブル A の範囲を限定するものでない場合、プログラ
ムは、テーブル A のすべてのレコード(26)に対してサブレポートを実行します。
サブレポートが読み込むレコードの数は、テーブル A の範囲を限定する選択式があるかどうかに関係なく、
同じです。サブレポートは、テーブル A で読み込まれたそれぞれのレコードに一致するテーブル B のレ
コード(100)だけを読み込みます。
23.5.6 任意のレポートにおける処理速度に関する留意点
23.5.6.1 その 1
522
2012-05-10
データベースの基礎
データファイルと SQL データベースの両方に対して、プログラムは、選択式全体を選択基準を表す部分に分
解し、渡すことのできる選択基準の部分はすべて渡します。それが、物理的に式のどこにあるかは関係ありま
せん。たとえば、渡す選択基準、渡さない選択基準、渡す選択基準の 3 つの部分でできている式の場合、最
初の部分は渡され、2 番目の部分はとばされ、そして 3 番目の部分は渡されます。
•
データファイルの場合、プログラムは、渡すことのできる選択基準をデータベースのトランスレーションレイヤ
に渡します。
•
SQL データベースの場合、プログラムは、渡すことのできる選択基準を WHERE 句の形式でサーバに渡し
ます。
例外はありますが、一般に、レコード選択式の中でフィールドと定数を比較している部分は、すべて渡すことの
できる部分です。つまり、選択エキスパートの中で設定できるレコードの選択基準("と等しい値"、"のいずれか
の値"、"未満の値"、"より大きい値"、"以下の値"、"以上の値"、"の間の値"、"で始まる値"、"に似た値"およ
び定数)は、通常すべて渡すことができます。
次に、参考になる 2 とおりの特別な選択式の例を挙げます。これらの例では、レコード選択式に複数の条件が
含まれていますが、その中に渡されるものと渡されないものがあります。
•
AND の例
{customer.REGION} = "CA" and
{customer.CUSTOMER ID}[3 to 5] = "777")
この場合、プログラムは、And 演算子の前の条件は渡すことができ、後ろの条件は渡すことができないと判
断します。2 番目の条件を満たすレコードだけが 1 番目の条件も満たす必要があるので、プログラムは、1
番目の条件を渡して、この条件を満たすデータの集合を取り出します。その後、取り出されたデータだけ
に、2 番目の条件を適用します。渡すことができる条件は、どのような条件でも渡す、というのが AND を使
用する場合の規則です。
注
サーバまたはデータベース DLL で、AND のすべての条件を満たすことができる場合は、それらすべてが
渡されます。
•
OR の使用例
{customer.REGION} = "CA" or
{customer.CUSTOMER ID}[3 to 5] = "777")
この場合も、プログラムは、Or 演算子の前の条件は渡すことができ、後ろの条件は渡すことができないと判
断します。1 番目の条件を満たさなくても、2 番目の条件を満たすレコードがあるので、1 番目の条件を渡
すことは、不完全なデータの集合を取り出すことになり、意味がありません。つまり、1 番目の条件を満たす
データをすべて取り出しても、再び Report Designerで 2 番目の条件を適用するため、テーブルにあるす
べてのデータを取り出す必要があります。そこで、プログラムは、何も渡さないことによってデータを重複し
て取り出すことを防ぎます。すべてのデータを取り出し、Report Designerの中で両方の評価を実行します。
すべての条件を渡すか、何も渡さないかのどちらかである、というのが OR を使用する場合の規則です。
注
サーバまたはデータベース DLL で、OR のすべての評価を実行できる場合は、それらすべてが渡されま
す。
523
2012-05-10
データベースの基礎
23.5.6.2 その 2
処理効率を向上するために、プログラムが必ずテーブル A のインデックスを使用するようにするには、次のこと
を確かめてください。
•
選択式がある。
•
選択式にテーブル A の(インデックス付きの)キーフィールドの範囲を限定する部分がある。
•
[オプション]ダイアログボックスの[インデックスを使用]オプションがオンになっている。
23.5.6.3 その 3
現在使用しているテーブル A のフィールドにはインデックスがないが、テーブル A にレコードの選択に使用で
きるインデックス付きフィールドがある場合は、そのフィールドを使用するようにします。たとえば、3 つの製品(商
品 1、商品 2、商品 3)があり、商品 2 の米国でのすべての取り引きを調べるとします。"商品"フィールドにはイ
ンデックスがありませんが、"受注日"フィールドにはインデックスがあります。商品 2 が、1995 年 7 月までは出
荷されていなかったことがわかっている場合は、選択式を使用して、1995 年 7 月以降に受けた注文だけにレ
ポートを限定すると、処理速度が向上します。このような場合、プログラムは、受注日のインデックスを使って
1995 年 7 月以降の注文だけ(データベース全体からみると、小さなサブセット)を取り出し、データベース全体
ではなく、このサブセットに対して商品 2 があるかどうかを調べることができます。
23.5.7 データベースエキスパートの[リンク]タブ
データベースエキスパートの[リンク]タブを使用すると、複数のテーブルを簡単にリンクできます。[データベー
ス]メニューの[データベースエキスパート]を選択して現在のテーブルをすべて表示し、[リンク]タブを選択して
現在のリンクをすべて表示します。
データベーステーブルをリンクする最も簡単な方法は、データベースエキスパートの[リンク]タブの[自動リンク]
をクリックすることです。自動リンクは、テーブルの中の共通フィールド、またはデータベースがインデックス付き
フィールドをサポートしている場合は、インデックス付きフィールドを基にして、テーブルのリンクを自動的に選
択します。
23.5.8 インデックス付きテーブルのリンク
524
2012-05-10
データベースの基礎
ダイレクトアクセスデータベーステーブルをリンクする場合は、主テーブルから参照テーブルのフィールドにリン
クします。主テーブルのリンクフィールドには、インデックスがあってもなくてもかまいません。参照テーブルのリ
ンクフィールドにもインデックスを付ける必要はありません。ただし、接続にネイティブドライバを使用している場
合に限ります。
さらに、2 つのテーブルをリンクするために使われるフィールドは、同じデータ型である必要があります。たとえ
ば、あるテーブルの文字列フィールドを他のテーブルの文字列フィールドにリンクすることができます。あるテー
ブルの数値フィールドを他のテーブルの数値フィールドにリンクすることもできます。しかし、あるテーブルの数
値フィールドを他のテーブルの文字列フィールドにリンクすることはできません。
•
DBMS アプリケーションには、インデックスの中で、フィールド値を別のデータ型に変換できるものがありま
す。たとえば、テーブル内のフィールドが数値であっても、インデックスの中では、このフィールド値を文字
列に変換できます。しかし、他のテーブルにリンクするためにそのフィールドを使用する場合は、元のデー
タ型を持つフィールドにリンクする必要があります。つまり、インデックスの中で文字列に変換されている数
値フィールドに、文字列をリンクすることはできません。
•
たとえば、MS SQL Server と Oracle のように、2 つの異なる ODBC データソースのテーブルをリンクする場
合、テーブルのリンクに使用できるのは、文字列フィールドだけです。文字列フィールドは、データソースに
関係なく、同じ方法でデータベースに保存されています。しかし、その他のデータ型の値は、データソース
が異なると、同じ方法で保存されていない可能性があります。したがって、Crystal Reports では、文字列以
外のフィールドを使って異なるデータソースをリンクすることはできません。
•
ネイティブドライバ(SQL 以外)を使用してダイレクトアクセスデータベーステーブルをリンクするときは、結合
タイプとして Left Outer だけを使用できます。
23.5.8.1 リンクに使用されているインデックスの変更
マルチインデックス(2 つまたはそれ以上)のコンポーネントであるフィールドを使用して、テーブルをスマートリ
ンクの機能でリンクする場合、Crystal Reports は、インデックスの中の 1 つを選択してリンクします。選択され
たインデックスは、使用したいものである可能性もありますが、そうでないこともあります。スマートリンク機能で作
成したリンクを削除し、テーブルを手動でリンクしてください。詳細については、74 ページの 「複数のテーブル
のリンク」を参照してください。
注
すべての DBMS アプリケーションが、インデックス付きテーブルをサポートしているわけではありません。リンク
用のインデックスを選択する前に、データベースがインデックスを使用しているかどうかを確認してください。
DBMS アプリケーションでインデックスを使用できるかどうか、またインデックスの作成方法については、DBMS
アプリケーションのマニュアルを参照してください。
23.5.9 リンクの処理順序
525
2012-05-10
データベースの基礎
複数のリンクがある場合、Crystal Reports にリンクの処理順序を示す必要があります。デフォルトでは、[リンク]
タブにリンクが表示される順序が処理順序になります。デフォルトの順序は、[リンクの順序]ダイアログボックス
の矢印ボタンで変更できます。
たとえば、Xtreme サンプルデータベースから Credit、Customer、Orders、Orders Details の各テーブルを選
択した場合、[リンク]タブには次のような順序で、リンクされたテーブルが表示されます。
その場合、まず Credit テーブルと Customer テーブル間のリンクが最初に処理され、次に Customer テーブ
ルと Orders テーブル、そして最後は Orders テーブルと Orders Details テーブル間のリンクが処理されます。
[リンクの順序]ダイアログボックスには、このデフォルトの順序が表示されます。必要に応じて、順序を変更でき
ます。
注
リンクの順序に応じて、レポートで使用するために返されるデータセットは異なる場合があります。さらに、リンク
の順序はパフォーマンスに多大な影響を与えます。
23.5.10 リンクオプション
Crystal Reports では、テーブルをリンクするときに使用する結合の種類とリンクの種類を指定できます。また、
結合にあるテーブルの使用を強制することもできます。レコードを読み込むときに 2 つのテーブルのリンクフィー
ルドをどのように比較するかを、結合とリンクで指定します。結合、結合の取り込み、およびリンクのオプション
は、[リンクオプション]ダイアログボックスで指定できます。さまざまな結合の取り込みオプションを使用して、テー
ブル内のフィールドをレポートで使用していない場合でも、リンクテーブルを SQL クエリに含めることができま
す。
注
結合を使ってフィールドをリンクする場合、インデックスフィールドは必要ありません。
次のような結合の種類があります。
526
2012-05-10
データベースの基礎
•
•
•
•
Inner 結合
Left Outer 結合
Right Outer 結合
Full Outer 結合
次のような結合の取り込みオプションがあります。
•
•
•
•
取り込まない
参照元テーブルを取り込む
参照先テーブルを取り込む
両方とも取り込む
次のようなリンクの種類があります。
•
•
•
•
•
•
Equal[=]リンク
Greater Than[>]リンク
Greater Than Or Equal[>=]リンク
Less Than[<]リンク
Less Than Or Equal[<=]リンク
Not Equal [!=] link
23.5.10.1 Inner 結合
Inner 結合は、標準的な結合です。Inner 結合の結果の集合には、両方のテーブルの中でリンクフィールドの
値が完全に一致するすべてのレコードが含まれています。たとえば、Inner 結合を使用すると、注文を受けた
顧客をすべて表示できます。注文を受けていない顧客のレコードは表示されません。
527
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
52
Allez Distribution
25141.50
53
BG Mountain Inc.
19164.30
53
BG Mountain Inc.
1683.60
57
Hansen MTB Inc.
15716.40
58
La Bomba de Bicicleta
1956.20
2012-05-10
データベースの基礎
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
60
Mountain Toad
24580.50
62
SFB Inc.
7911.80
63
Sierra Bicycle Group
19766.20
63
Sierra Bicycle Group
12763.95
64
Sierra Mountain
8233.50
23.5.10.2 Left Outer 結合
Left Outer 結合の結果の集合には、両方のテーブルの中でリンクフィールドの値が完全に一致するすべての
レコードが含まれています。さらに、参照テーブルの中にリンクフィールドの値が一致するものがない主(左側)
テーブルのすべてのレコードも含まれます。たとえば、Left Outer 結合を使用すると、注文を受けたすべての
顧客とその注文を表示できます。さらに、注文を受けていない顧客についてもレコードが取り出されます。注文
を受けていない顧客は、注文情報を表示するフィールドが空になり、リストの最後に表示されます。
528
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
52
Allez Distribution
25141.50
53
BG Mountain Inc.
19164.30
53
BG Mountain Inc.
1683.60
57
Hansen MTB Inc.
15716.40
2012-05-10
データベースの基礎
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
58
La Bomba de Bicicleta
1956.20
60
Mountain Toad
24580.50
62
SFB Inc.
7911.80
63
Sierra Bicycle Group
19766.20
63
Sierra Bicycle Group
12763.95
64
Sierra Mountain
8233.50
54
Bicicletas Aztecas
55
Deely MTB Inc.
注
SQL 言語では、Left Outer 結合と Right Outer 結合は、他の種類の結合とは異なる取り扱いになっています。
ODBC を介してデータベースにアクセスする場合、Crystal Reports では、SQL 文に ODBC の構文が使用さ
れます。ODBC を通さないで直接 SQL データベースに接続する場合、Crystal Reports では、データベース
のネイティブの構文が使用されます。SQL 文の Outer 結合の詳細については、Microsoft の ODBC マニュア
ルまたは SQL データベースのマニュアルを参照してください。
23.5.10.3 Right Outer 結合
Right Outer 結合の結果の集合には、両方のテーブルの中でリンクフィールドの値が完全に一致するすべて
のレコードが含まれています。さらに、主テーブルの中にリンクフィールドの値が一致するものがない参照(右
側)テーブルのすべてのレコードも含まれます。Customer テーブルを Orders テーブルにリンクした場合、顧客
から受けた注文ごとにテーブルの中に 1 行のデータが作成されます。さらに、顧客にリンクできないすべての
注文に対しても、注文ごとに 1 行のデータが作成されます。これは、理論的には起こらないはずですが、不慣
れな営業担当者が注文に"顧客番号"を割り当てることを忘れたような場合に起こります。Right Outer 結合を
使用すると、このような注文をすばやく見つけることができます。結果のテーブルでは、顧客の指定されていな
い注文の"顧客番号"フィールドは、空になります。
529
2012-05-10
データベースの基礎
Customer テーブル
Orders テーブル
Orders テーブル
顧客番号
受注番号
受注額
52
6
25141.50
53
11
19164.30
53
21
1683.60
57
4
15716.40
58
20
1956.20
60
16
24580.50
62
19
7911.80
63
28
19766.20
63
32
12763.95
64
14
8233.50
25
10320.87
注
SQL 言語では、Left Outer 結合と Right Outer 結合は、他の種類の結合とは異なる取り扱いになっています。
ODBC を介してデータベースにアクセスする場合、Crystal Reports では、SQL 文に ODBC の構文が使用さ
れます。ODBC を通さないで直接 SQL データベースに接続する場合、Crystal Reports では、データベース
のネイティブの構文が使用されます。SQL 文の Outer 結合の詳細については、Microsoft の ODBC マニュア
ルまたは SQL データベースのマニュアルを参照してください。
23.5.10.4 Full Outer 結合
530
2012-05-10
データベースの基礎
Full Outer 結合は、リンクされたテーブルのすべてのレコードを表示できる双方向の外部結合です。Full Outer
結合の結果の集合には、両方のテーブルの中でリンクフィールドの値が完全に一致するすべてのレコードが
含まれています。さらに、参照テーブルの中にリンクフィールドの値が一致するものがない主(左側)テーブルの
すべてのレコードと、主テーブルの中にリンクフィールドの値が一致するものがない参照(右側)テーブルのす
べてのレコードも含まれます。Customer テーブルを Orders テーブルにリンクした場合、顧客から受けた注文
ごとにテーブルの中に 1 行のデータが作成されます。さらに、顧客にリンクできないすべての注文に対しても
注文ごとに 1 行のデータが作成され、注文が見当たらない顧客に対しても顧客ごとに 1 行のデータが作成さ
れます。
Customer テーブル
Orders テーブル
Orders テーブル
顧客番号
受注番号
受注額
52
6
25141.50
53
11
19164.30
53
21
1683.60
57
4
15716.40
58
20
1956.20
60
16
24580.50
62
19
7911.80
63
28
19766.20
63
32
12763.95
64
14
8233.50
25
10320.87
65
66
531
2012-05-10
データベースの基礎
23.5.10.5 取り込まない
このオプションを選択すると、作成したリンクは、Select 文で明示的に必要とされる場合にのみ使用されます。
選択したテーブルを基にして、制限なく(他のテーブルを基にした取り込みを行わずに)レポートを作成すること
ができます。これはデフォルトオプションです。
23.5.10.6 参照元テーブルを取り込む
このオプションを選択した場合、リンクの参照先テーブルを使用すると、そのリンクが取り込まれます。たとえば、
[参照元テーブルを取り込む]を使用して TableA から TableB へのリンクを作成する場合、TableB のフィール
ドのみを選択すると、TableA への結合が取り込まれるため、Select 文にも TableA への結合が取り込まれます。
逆に、同じ結合条件を持った TableA のフィールドを選択しても、TableB への結合は取り込まれません。
注
参照元テーブルと参照先テーブルについての説明は、516 ページの 「参照元のテーブルと参照先のテーブ
ル」を参照してください。
23.5.10.7 参照先テーブルを取り込む
このオプションを選択した場合、リンクの参照元テーブルを使用すると、そのリンクが取り込まれます。たとえば、
[参照先テーブルを取り込む]を使用して、TableA から TableB へリンクを作成して、TableA のフィールドのみ
を選択する場合、TableB を参照先とする結合が取り込まれ、作成される Select 文には、どちらのテーブルも取
り込まれます。
注
参照元テーブルと参照先テーブルについての説明は、516 ページの 「参照元のテーブルと参照先のテーブ
ル」を参照してください。
23.5.10.8 両方とも取り込む
このオプションを選択した場合、リンクの参照元テーブルまたは参照先テーブルを使用すると、そのリンクが取
り込まれます。
532
2012-05-10
データベースの基礎
23.5.10.9 Equal[=]リンク
Equal リンクの結果の集合には、両方のテーブルの中でリンクフィールドの値が完全に一致するすべてのレコー
ドが含まれています。次の例では、Customer テーブルが Orders テーブルに"顧客番号"フィールドでリンクさ
れています。プログラムが Customer テーブルの中の顧客番号に一致する Orders テーブルの中の顧客番号
を見つけると、両方のテーブルの対応するレコードの情報が表示されます。
SQL では、Equal リンクを表すために次の構文を使用します。
SELECT Customer.'Customer ID',
Customer.'Customer Name',
Orders.'Order Amount'
FROM 'Customer' Customer,
'Orders' Orders
WHERE Customer.Customer ID =
Orders.Customer ID
この文により、次のようなデータが生成されます。
533
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
52
Allez Distribution
25141.50
53
BG Mountain Inc.
19164.30
53
BG Mountain Inc.
1683.60
57
Hansen MTB Inc.
15716.40
58
La Bomba de Bicicleta
1956.20
60
Mountain Toad
24580.50
62
SFB Inc.
7911.80
63
Sierra Bicycle Group
19766.20
63
Sierra Bicycle Group
12763.95
2012-05-10
データベースの基礎
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
64
Sierra Mountain
8233.50
23.5.10.10 Greater Than[>]リンク
Greater Than リンクの結果の集合には、主テーブルのリンクフィールドの値が参照テーブルのリンクフィールド
の値より大きいすべてのレコードが含まれます。たとえば、ある会社ですべての営業担当者の給料とすべての
営業課長の給料を比較するとします。その会社の経営者は、課長の給料より高い給料を受け取っている営業
担当者がいないことを確かめます。
この場合は、Greater Than リンクを使用して、両方のテーブルの"給料"フィールドで SalesRep テーブルを
Manager テーブルにリンクします。
SELECT SalesRep.'Last Name',
SalesRep.'Salary',
Manager.'Last Name',
Manager.'Salary'
FROM 'SalesRep' SalesRep,
'Manager' Manager
WHERE SalesRep.'Salary' >
Manager.'Salary'
この SQL 文により、次のようなデータが生成されます。
534
SalesRep テーブル
SalesRep テーブル
Manager テーブル
Manager テーブル
姓
給料
姓
給料
Davolio
$35,000.00
Fuller
$32,000.00
Davolio
$35,000.00
Brid
$30,000.00
Davolio
$35,000.00
Buchanan
$29,500.00
Dodsworth
$48,300.00
Hellstern
$45,000.00
Dodsworth
$48,300.00
Fuller
$32,000.00
2012-05-10
データベースの基礎
SalesRep テーブル
SalesRep テーブル
Manager テーブル
Manager テーブル
姓
給料
姓
給料
Dodsworth
$48,300.00
Brid
$30,000.00
Dodsworth
$48,300.00
Buchanan
$29,500.00
Dodsworth
$48,300.00
Martin
$35,000.00
Patterson
$30,000.00
Buchanan
$29,500.00
このテーブルでは、営業担当者と営業課長の間にリレーションシップは設定されていません。課長は全員、す
べての営業担当者より役職が上なので、改善が必要な給料上の問題を明らかにするために、課長より給料の
多い担当者がいるかどうかを調べる必要があるかもしれません。
23.5.10.11 Greater Than Or Equal[>=]リンク
Greater Than Or Equal リンクの結果の集合には、主テーブルのリンクフィールドの値が参照テーブルのリンク
フィールドの値より大きいか等しいすべてのレコードが含まれます。次の例は、Greater Than Or Equal リンクを
使用していることを除くと、Greater Than 結合の例と同じです。
SELECT SalesRep.'Last Name',
SalesRep.'Salary',
Manager.'Last Name',
Manager.'Salary'
FROM 'SalesRep' SalesRep,
'Manager' Manager
WHERE SalesRep.'Salary' >=
Manager.'Salary'
この文により、次のようなデータが生成されます。
535
SalesRep テーブル
SalesRep テーブル
Manager テーブル
Manager テーブル
姓
給料
姓
給料
Davolio
$35,000.00
Fuller
$32,000.00
Davolio
$35,000.00
Brid
$30,000.00
2012-05-10
データベースの基礎
SalesRep テーブル
SalesRep テーブル
Manager テーブル
Manager テーブル
姓
給料
姓
給料
Davolio
$35,000.00
Buchanan
$29,500.00
Davolio
$35,000.00
Martin
$35,000.00
Dodsworth
$48,300.00
Hellstern
$45,000.00
Dodsworth
$48,300.00
Fuller
$32,000.00
Dodsworth
$48,300.00
Brid
$30,000.00
Dodsworth
$48,300.00
Buchanan
$29,500.00
Dodsworth
$48,300.00
Martin
$35,000.00
Patterson
$30,000.00
Brid
$30,000.00
Patterson
$30,000.00
Buchanan
$29,500.00
23.5.10.12 Less Than[<]リンク
Less Than リンクの結果の集合には、主テーブルのリンクフィールドの値が参照テーブルのリンクフィールドの
値より小さいすべてのレコードが含まれます。Less Than リンクを使用すると、営業担当者と営業課長の順番を
逆にして比較できます。この場合も、両方のテーブルの"給料"フィールドがリンクフィールドとして使用されま
す。しかし、今度の場合は、Less Than リンクを使用し、"給料"をリンクフィールドとして Manager テーブルから
SalesRep テーブルにリンクします。
SELECT Manager.'Last Name',
Manager.'Salary',
SalesRep.'Last Name',
SalesRep.'Salary'
FROM 'Manager' Manager,
'SalesRep' SalesRep
WHERE Manager.'Salary' <
SalesRep.'Salary'
536
2012-05-10
データベースの基礎
この SQL 文は、Greater Than リンクで作成されたテーブルとは少し異なるテーブルを生成します。
Manager テーブル
Manager テーブル
SalesRep テーブル
SalesRep テーブル
姓
給料
姓
給料
Fuller
$32,000.00
Davolio
$35,000.00
Fuller
$32,000.00
Dodsworth
$48,300.00
Brid
$30,000.00
Davolio
$35,000.00
Brid
$30,000.00
Dodsworth
$48,300.00
Buchanan
$29,500.00
Davolio
$35,000.00
Buchanan
$29,500.00
Dodsworth
$48,300.00
Buchanan
$29,500.00
Patterson
$30,000.00
Martin
$35,000.00
Dodsworth
$48,300.00
Hellstern
$45,000.00
Dodsworth
$48,300.00
23.5.10.13 Less Than Or Equal[<=]リンク
Less Than Or Equal リンクの結果の集合には、主テーブルのリンクフィールドの値が参照テーブルのリンクフィー
ルドの値より小さいか等しいすべてのレコードが含まれます。次の例は、Less Than Or Equal リンクを使用して
いることを除くと、Less Than リンクの例と同じです。
SELECT Manager.'Last Name',
Manager.'Salary',
SalesRep.'Last Name',
SalesRep.'Salary'
FROM 'Manager' Manager,
'SalesRep' SalesRep
WHERE Manager.'Salary' <=
SalesRep.'Salary'
この SQL 文により、次のようなデータが生成されます。
537
2012-05-10
データベースの基礎
Manager テーブル
Manager テーブル
SalesRep テーブル
SalesRep テーブル
姓
給料
姓
給料
Fuller
$32,000.00
Davolio
$35,000.00
Fuller
$32,000.00
Dodsworth
$48,300.00
Brid
$30,000.00
Davolio
$35,000.00
Brid
$30,000.00
Dodsworth
$48,300.00
Brid
$30,000.00
Patterson
$30,000.00
Buchanan
$29,500.00
Davolio
$35,000.00
Buchanan
$29,500.00
Dodsworth
$48,300.00
Buchanan
$29,500.00
Patterson
$30,000.00
Martin
$35,000.00
Davolio
$35,000.00
Martin
$35,000.00
Dodsworth
$48,300.00
Hellstern
$45,000.00
Dodsworth
$48,300.00
23.5.10.14 Not Equal [!=] link
Not Equal リンクの結果の集合には、主テーブルのリンクフィールドの値が参照テーブルのリンクフィールドの
値と等しくないすべてのレコードが含まれます。このリンクは、テーブルをそのテーブル自体に結合(Self Join)
し、あらゆる項目の組み合わせを見つけるために使用できます。たとえば、ある会社が販売している全商品を
538
2012-05-10
データベースの基礎
含むテーブルがあるとします。商品を 1 つ買うと、2 つ目の商品は半額で買えるというセールを行う場合、2 つ
の商品の可能なあらゆる組み合わせのリストが必要になります。
SELECT Product1.'Product Name',
Product2.'Product Name',
FROM 'Product' Product1
'Product' Product2
WHERE Product1.'Product Name' !=
Product2.'Product Name'
この SQL 文では、Product テーブルが 2 度開かれます。1 番目のものは、エイリアス名が Product1 になって
います。2 番目のものは、エイリアス名が Product2 になっています。その後、"商品名"フィールドを使って
Product1 テーブルから Product2 テーブルにリンクします。両方が同じテーブルを指していますが、異なった
エイリアス名を使って 2 度開かれているので、Crystal Reports は、これが 2 つの別々のテーブルであると見な
します。Not Equal リンクを使用し、"商品名"フィールドでこの 2 つのテーブルがリンクされています。この場合、
各製品に対して、それ自身を除くすべての製品との組み合わせが作成されます。それ自身との組み合わせは
作成されません。
539
Product1
Product2
製品名
製品名
Xtreme Adult Helmet
Xtreme Mtn Lock
Xtreme Adult Helmet
InFlux Lycra Glove
Xtreme Adult Helmet
Roadster Micro Mtn Saddle
Xtreme Mtn Lock
Xtreme Adult Helmet
Xtreme Mtn Lock
InFlux Lycra Glove
Xtreme Mtn Lock
Roadster Micro Mtn Saddle
InFlux Lycra Glove
Xtreme Adult Helmet
InFlux Lycra Glove
Xtreme Mtn Lock
InFlux Lycra Glove
Roadster Micro Mtn Saddle
Roadster Micro Mtn Saddle
Xtreme Adult Helmet
Roadster Micro Mtn Saddle
Xtreme Mtn Lock
2012-05-10
データベースの基礎
Product1
Product2
製品名
製品名
Roadster Micro Mtn Saddle
InFlux Lycra Glove
注
記号 != は、データにアクセスするための ODBC データソースドライバがこの記号をサポートしている場合は、
Not Equal リンクを表すために使用されます。それ以外の場合は、デフォルト記号の <> が Not Equal リンクを
表すために使用されます。
23.6 サーバサイドプロセス
サーバサイドプロセスでは、サーバ上で処理の大部分を実行し、クライアントでは処理の一部だけを実行する
ようにレポートを設定できます。
サーバサイドプロセスには、次のような利点があります。
•
サーバへの接続時間が短縮される。
•
より少量のメモリでレポートを処理できる。
•
サーバからクライアントへの転送時間が短縮される。
サーバサイドプロセスでは、SQL パススルー技術を使用して SQL 文をデータベースサーバに送り、データの
初期集合を取得します。Crystal Reports では、データの取得と並べ替え作業の負荷の大部分をサーバシステ
ムに移すことができます。したがって、クライアントのメモリやリソースをより重要な作業に使用できます。つまり、
並べ替えやグループ化のあるレポートだけにサーバサイドプロセスがあります。並べ替えやグループ化のない
レポートの場合(たとえば、単なる一覧表のレポートの場合)は、サーバサイドプロセスはありません。また、サー
バサイドプロセスを行うのは、SQL データソースに基づいたレポートだけであることにも注意してください。
注
•
•
この説明は、グループ化と並べ替えをサーバに移行する場合にだけ当てはまります。
グループ化をサーバに移行するとき、一時データベースのために多くのサーバリソースが使用されることが
あります。
サーバ上でグループ化を実行するには、レポートが、次の条件を満たしている必要があることに注意してくださ
い。
540
•
[オプション]ダイアログボックスの[サーバ上でグループ化を実行]オプションが有効になっている。詳細につ
いては、542 ページの 「サーバサイドプロセスの有効化」を参照してください。
•
レポートが、何らかの形でグループ化を使用している。
2012-05-10
データベースの基礎
•
少なくともレポートの一部が非表示になっている(最低限、詳細セクションは非表示)。非表示のセクションは
サーバが処理するので、表示する部分の多いレポートほど、クライアント側の処理量が大きくなります。詳細
セクションが表示されている場合、サーバサイドプロセスを行うことはできません。
•
式フィールドをクライアント側で処理することが必要な場合があります。たとえば、式フィールドに基づいてグ
ループ化している場合や、集計フィールドに式が使用されている場合は、式を評価する前にすべてのレコー
ドがクライアント側に転送されている必要があります。これは、レポートを実行するために必要な時間を増や
します。そのため、式の代わりに SQL 式を使用することがあります。
注
レコード選択に使用する式は例外です。この式はサーバにプッシュダウンできます。
•
レポートがサーバ上で処理されるには、レポートに表示される積算合計が、すべて集計フィールドに基づい
ている必要があります。つまり、集計に必要なデータがクライアント側に送られないようにします。
•
レポートがサーバ上で処理されるには、レポートに、合計、最大値、最小値、件数の集計フィールドのみが
含まれている必要があります。
•
レポートが指定した値によるグループ化を含んでいないことが必要です。
注
•
•
処理がサーバで行われている場合、レポートの非表示セクションをドリルダウンすると、サーバへの接続が
自動的に開始されます。たとえば、レポートをノート PC にダウンロードし、遠隔地で作業しているような場合
など、クライアントがサーバから切り離されている場合、データベースが利用できないため、データのドリル
ダウンはエラーになります。
部分的にサーバで処理されているレポートを[レポートとともにデータを保存]オプションを使って保存する場
合は、クライアント側に転送されたレコードだけが保存されます。たとえば、非表示セクションをドリルダウン
し、そのデータに対するタブが Crystal Reports にある場合、データが転送されたことを意味し、それらのレ
コードはレポートと共に保存されます。
23.6.1 サーバ側のグループ化が SQL クエリに及ぼす影響
レポートの処理のほとんどをサーバに任せる場合は、必然的に SQL クエリが変化します。[サーバで上グルー
プ化を実行]オプションが有効になっている場合は、サーバサイドプロセスに関係する設定によって、SQL 文が
変更されます。
541
•
[レポートオプション] ダイアログボックスの [インデックスまたはサーバを使用して高速化] オプションが有効
になっている場合、プログラムは、可能な場合、SQL 文に ORDER BY 句を、レコード選択式に WHERE 句
を追加します。
•
DBMS のリンク可能なデータ型に対してグループ化を行う場合、プログラムは、SQL 文に GROUP BY 句を
追加します。プログラムは、サーバ上でグループ化を実行するために GROUP BY 句を使用します。
•
リンク可能なデータ型に対して集計をとる場合、プログラムは、SQL 文の SELECT 句に集計フィールドを追
加します。
•
リンク可能なデータ型に対してドリルダウンを行う場合、プログラムは、SQL 文に WHERE 句を追加します。
•
リンク可能なデータ型に対して降順にグループ化を行う場合、プログラムは、SQL 文に ORDER BY 句を追
加します。
2012-05-10
データベースの基礎
タブによっても文は変更されます。
•
[プレビュー]タブを使って作業している場合、文には、サーバに任せる集計と共に、GROUP BY 句が追加
されます。
•
ドリルダウンする場合、文は、下層のデータとドリルダウンの深さによって変わります。ドリルダウンを行うごと
に、WHERE の基準が変化します。また、詳細までドリルダウンする場合、文には、GROUP BY 句が追加さ
れません。そのドリルダウンタブには、グループがなくなるからです。
現在のタブに対する SQL 文を表示するには、[データベース]メニューの[SQL クエリの表示]を選択します。
[SQL クエリの表示]ダイアログボックスが表示され、SQL 文が示されます。
注
式ワークショップ を使用すると、サーバで処理される SQL 式を編集できます。
23.6.1.1 サーバサイドプロセスの有効化
1 [ファイル]メニューの[レポートオプション]をクリックします。
2 [レポートオプション]ダイアログボックスが表示されます。
[インデックスまたはサーバを使用して高速化]がオフの場合、このチェックボックスは使用できません。
3 [OK]をクリックします。
注
このオプションは、[データベース]メニューの[サーバ上でグループ化を実行]コマンドの横のチェックマークを
オンまたはオフにすることで、簡単に有効または無効に切り替えることができます。[レポートオプション]ダイア
ログボックスの[インデックスまたはサーバを使用して高速化]がオフになっている場合、このコマンドは使用でき
ません。
23.7 データベースフィールドのマップ
データベースの構造を変更した場合や、テーブルとフィールドの構造が同じであるデータベースに基づいて作
成したレポートをテンプレートにして、他のデータベースに基づくレポートを作成した場合は、[フィールドのマッ
プ]ダイアログボックスを使用して、レポートのフィールドを対応するデータベースのフィールドにリンクできます。
このように、このダイアログボックスを使用すると、現在のアクティブデータベースを使ってレポートを出力できる
ことを確認できます。
レポートを最初に作成する場合、レポートは、その時点で存在しているデータベースフィールドを使用します。
レポートを作成した後でデータベースの構造を変更すると、レポートを新しい構造に適合させる必要がありま
す。
542
2012-05-10
データベースの基礎
23.7.1 [フィールドのマップ]ダイアログボックスの使用
[フィールドのマップ]ダイアログボックスには、4 つのボックスがあります。
•
左上のボックスには、マップされていないレポートフィールドの名前がすべて表示されます。これは、アクティ
ブデータベースに検出された変更に対応するフィールドです。デフォルトでは、一番上の名前が選択され
ています。
•
右上のボックスには、マップされていないデータベースフィールドの名前が表示されます。これは、変更が
検出されたフィールドです。デフォルトでは、[型の一致]チェックボックスがオンになっているので、このリス
トボックスには、マップされていないデータベースフィールドのうち、左上のリストボックスで選択されている
マップされていないレポートフィールドと同じ型のフィールド名だけが表示されます。型に関係なく、マップ
されていないデータベースフィールドをすべて表示するには、[型の一致]チェックボックスをオフにしてくだ
さい。
•
左下のボックスには、マップされているレポートフィールドの名前が表示されます。上のリストボックスにある
フィールドがマップされると、そのフィールドは下のリストボックスに表示されます。
•
右下のボックスには、マップされているデータベースフィールドの名前が表示されます。上のリストボックスに
あるフィールドがマップされると、そのフィールドは下のリストボックスに表示されます。
変更したデータベースフィールドに対して、上のセクションのレポートフィールドとデータベースフィールドを選
択し、[マップ]をクリックします。フィールドの名前が、上のボックスから下のボックスに移動します。
すべてのレポートフィールドをマップし直す必要はありません。たとえば、データベースフィールドを削除して
も、レポートの中にそのフィールドが必要ない場合は、必ずしも対応するレポートフィールドをマップし直す必
要はありません。[OK]をクリックすると、左上のリストボックスに表示されているフィールドをマップし直さないで、
ダイアログボックスを閉じることができます。
既にマップされたレポートとデータベースのフィールドをマップされていない状態にしなければならない場合が
あります。たとえば、間違って他のフィールドにマップしてしまった場合や、既にマップされているデータベース
フィールドにレポートフィールドをマップする場合です。このような場合は、下のリストボックスにあるレポートフィー
ルドを選択します。対応するデータベースフィールドが自動的に選択されるので、[マップ解除]をクリックしま
す。フィールドの名前が、下のリストボックスから上のリストボックスに移動します。
注
[フィールドのマップ]ダイアログボックスを閉じても、レポートのデータは、Crystal Reports によって自動的には
最新表示されません。データを最新表示するには、[標準]ツールバーの[最新表示]ボタンをクリックします。
23.7.2 再マップの手順
アクティブデータベースまたはユニバースのフィールドを変更して、対応するレポートのフィールドをマップし直
す必要が生じた場合は、[データベース]メニューから次のコマンドのいずれかを選択すると、[フィールドのマッ
プ]ダイアログボックスが表示されます。
543
2012-05-10
データベースの基礎
•
データベースの照合
•
最初の最新表示時に照合
•
データソースの保存場所の設定
注
[データベースドライバ更新時に照合]というグローバルオプションもあります([オプション]ダイアログボックスの
[データベース]タブで設定)。このオプションを使用すると、データベースドライバを更新した後で初めてレポー
トのデータを最新表示するときに、[フィールドのマップ]ダイアログボックスが表示されます。
これらのコマンドには、それぞれ独自の機能があります。しかし、レポートの中のフィールド名とデータベースま
たはユニバースの中のフィールド名が一致していないことをプログラムが検出した場合は、どのコマンドを選択
しても、[フィールドのマップ]ダイアログボックスが表示されます。一致しているかどうかを検出するため、プログ
ラムは、レポートにあるフィールド名を 1 つずつデータベースまたはユニバースにあるフィールド名と比較しま
す。データベースまたはユニバースのフィールド名と一致しないフィールド名が見つかると、[フィールドのマッ
プ]ダイアログボックスが表示されます。
注
マップされずに残ったレポートフィールドは、レポートから削除されます。
23.7.2.1 [データベースの照合]コマンドの使用
[データベース]メニューの[データベースの照合]を選択した場合、プログラムは、アクティブのデータベースま
たはユニバースとレポートをチェックします。変更が検出された場合は、レポートを適合させて、エラーにならな
いようにする必要があります。
データベースまたはユニバースに次のどちらかの変更が検出された場合は、[フィールドのマップ]ダイアログ
ボックスが表示されます。
•
レポートで使用されているフィールドの名前が変更された。
•
データベースまたはユニバースが PC データソースから SQL データソースに変更された。
[フィールドのマップ]ダイアログボックスの操作手順については、545 ページの 「変更されたデータベースフィー
ルドの再マップ」を参照してください。次のいずれかの変更が検出された場合、Crystal Reportsは、自動的に
レポートを適合させます。[フィールドのマップ]ダイアログボックスは、表示されません。
544
•
データベースまたはユニバースにフィールドが追加された。
•
レポートで使用されていないフィールドがデータベースまたはユニバースから削除された。
•
データベースまたはユニバースの中でフィールドの位置が変更された。
•
データベースまたはユニバースのフィールドのデータ型が変更された。
2012-05-10
データベースの基礎
23.7.2.2 [最初の最新表示時に照合]コマンドの使用
[最初の最新表示時に照合]は、セッションごとにレポートデータを最初に最新表示するときに、[データベース
の照合]コマンドを起動します。
•
[最初の最新表示時に照合]の横にチェックマークが付いている場合は、このオプションが有効です。新しい
レポートではデフォルトで有効になっています。
•
チェックマークがない場合、このオプションは無効です。
23.7.2.3 [データソースの保存場所の設定]コマンドの使用
[データベース]メニューの[データソースの保存場所の設定]を選択して、アクティブデータベースまたはユニ
バースに対して新しい場所を指定すると、プログラムは、データベースまたはユニバースの変更をチェックしま
す。
[データソースの保存場所の設定]を選択し、次のいずれかのデータベース構造の変更が検出された場合は、
[フィールドのマップ]ダイアログボックスが表示されます。
•
フィールドが削除された。
•
フィールドの名前が変更された。
•
データベースまたはユニバースが完全に新しくなった。
注
これらの変更がチェックされるのは、データベース名またはユニバース名の組み合わせが以前と異なっている
場合、またはデータベースまたはユニバースの名前が変更された場合だけです。データベースまたはユニバー
スの名前が同じ場合、[フィールドのマップ]ダイアログボックスは表示されないので、保存場所の設定が終わっ
た後に、正しいデータベースまたはユニバースであるかどうかを確認する必要があります。詳細については、
544 ページの 「[データベースの照合]コマンドの使用」を参照してください。
23.7.3 変更されたデータベースフィールドの再マップ
使用中のデータベースまたはユニバースに変更があった場合は、[フィールドのマップ]ダイアログボックスを使
用して、既存のレポートフィールドをマップし直します。
545
2012-05-10
データベースの基礎
23.7.3.1 変更されたデータベースフィールドを再マップする
1 [デザイン]タブにレポートを表示し、[データベース]メニューの[データベースの照合]を選択します。
[データベースの照合]メッセージボックスが表示されます。
•
アクティブデータベースに変更が検出されなかった場合は、メッセージボックスに"データベースは更新
されています"と表示されます。この場合は、[OK]をクリックして作業に戻ります。
•
アクティブデータベースに変更が検出された場合は、メッセージボックスに"データベースファイル‘テー
ブル名’に変更がありました。レポートの修正を行います"というメッセージが表示されます。
2 [OK]をクリックします。
アクティブデータベースにフィールド名の変更が検出された場合は、[フィールドのマップ]ダイアログボック
スが表示されます。
注
フィールドの数、フィールドの位置、データ型など、その他のデータベース内のデータの変更に対しては、
レポートは自動的に適合します。このような変更があったフィールドをマップし直す必要はありません。
3 左上のボックスで、最初にマップし直すレポートフィールドを強調表示します。
4 右上のボックスで、選択したレポートフィールドのマップ先となる、マップされていないデータベースフィール
ドを強調表示します。
5 [マップ]をクリックします。
強調表示したレポートフィールドとデータベースフィールドは、上のリストボックスから消えます。代わりに、そ
れぞれ下のリストボックスに表示されます。
6 マップし直すレポートフィールドに対して、それぞれ手順 3 から 5 までを繰り返します。
注
左上のボックスにレポートフィールドの名前を残したまま、ダイアログボックスを閉じた場合、それらのフィー
ルドはレポートから削除されます。
7 [OK]をクリックします。
レポートフィールドは、変更されたデータベースフィールドにマップし直されます。
23.8 保存データのインデックス
保存したデータにインデックスを付けることで、Crystal レポートのパフォーマンスを向上できます。特定のフィー
ルドに対して保存データのインデックスを作成すると、Crystal Reports では、より効率的にそのフィールドのフィ
ルタ処理ができます。特に、レコード選択式から参照されているフィールドにインデックスを作成すると、大きな
レポートの場合にパフォーマンスが大幅に向上します。
546
2012-05-10
データベースの基礎
注
レポートのレコード選択によって返されるレコードが 10,000 レコード未満の場合、保存データのインデックスの
効果はほとんど感じられません。
保存データのインデックスが特に効果を発揮するのは、SAP BusinessObjects Business Intelligence プラット
フォームで Crystal レポートを表示するようにスケジュールする場合です。たとえば、北米の年間売上高の情報
をユーザに提供するため、レポートを作成するとします。各販売担当者には自分の担当地域の数字だけを見
せて、他の担当者の数字を知らせたくない場合は、選択式を作成してレポートを制限します。SAP BusinessObjects
Business Intelligence プラットフォームでレポートをスケジュールすると、各販売担当者がレポートのインスタン
スを見るときには、自分の担当地域の数字のみが表示されます。保存データのインデックスも作成すると、販売
担当者は、すべてのレコードが読み取られるまで待たずに自分のレコードを見ることができます。
つまり、保存データのインデックスを使用すると、ユーザはレポートのデータの一部にアクセスすることができま
す。表示するときに SAP BusinessObjects Business Intelligence プラットフォームで選択式を使用する (選択式
によって、インデックス付けされたフィールドにフィルタが適用される) と、インデックスが使用されます。選択式
を適用するには、選択式をレポートビューアまたはレポート処理拡張で設定します。レポート処理拡張の詳細
については、 『SAP BusinessObjects Business Intelligence プラットフォーム .NET SDK 開発者ガイド 』を参照
してください。
23.8.1 レポートのインデックスのしくみ
インデックスのないレポートでは、指定された条件を満たす値を探すために、Crystal Reports はすべてのレコー
ドを走査する必要があります。たとえば、ユーザが保存データの特定のサブセットを要求する場合、あるいは要
求したレポートの一部のレコードにしかアクセス権限を持たない場合、Crystal Reports は保存データをフィル
タ処理するために、各レコードが適切な値を持っているかどうかをチェックします。
しかし、保存データの 1 つ以上のフィールドにインデックスを付けた場合、Crystal Reports は特定の値を持つ
レコードを既に知っていることになります。その結果、ユーザがインデックス付きフィールドから保存データの特
定のサブセットにアクセスするとき、Crystal Reports は該当するレコードの検索と書式設定をより効率的に行う
ことができます。
一度保存データのインデックスを作成すると、インデックスは完全にバックグラウンドで動作します。保存データ
にインデックスが付いていることをユーザが意識することはなく、レポートのグループ化、並べ替え、書式設定
の処理にも変化はありません。インデックスは単に、Crystal Reports が保存データ全体を走査することなく特
定のレコードをすばやく検索するための機能です。
23.8.2 保存データのインデックスを使用する場合の留意点
保存データのインデックスを使用する場合、留意する点がいくつかあります。
•
547
保存データのインデックスは、大量のデータセットから構成されたレポートのごく一部のデータだけを一度
に表示するというシナリオで最も効果を発揮します。
2012-05-10
データベースの基礎
•
サイズが大きくて複雑なレポートの場合、Crystal Reports レポートエンジンに過剰な負荷がかかることがあ
ります。
たとえば、レポートのデータの 90% が返される選択式を使用した大きなサイズのレポートは、インデックスの
ないレポートより多くのメモリとディスク容量を使用します。このような場合、レポートの処理時間は遅くなりま
す。
•
インデックスはディスク容量を必要とするため、データ自体に必要な容量よりも多くの領域を使用します。選
択式の適用時間がスピードアップする代わりに、レポートファイルのサイズは大きくなります。
•
Crystal Page Server と RAS サーバには、選択式の適用時に各ユーザに対して使用するキャッシュの制限
があります。したがって、選択式のあるレポートを表示することにより Page Server で一定量の RAM が必要
になる場合、ユーザ数が増えると Page Server での RAM の使用量が増える可能性があります。
23.8.3 適切なフィールドのインデックス付け
次のガイドラインは、保存データにインデックスを付ける最適な方法と、インデックスを付けるときに避けた方が
よい事柄を示しています。
•
ユーザがレコード選択式によく追加するフィールドに対してインデックスを付けます。
•
レポートのレコード選択式で参照されるフィールドにインデックスを付けます。
•
レポートのすべてのフィールドにインデックスを付けることは避けてください。
すべてのフィールドにインデックスを付けると、処理時間が増える場合があります。上記の条件を満たす
フィールドにだけインデックスを付けてください。すべてのフィールドが条件を満たす場合は、フィールドに
優先順位を付けて、一部のフィールドにだけインデックスを付けます。
•
一意の値しか持たないフィールドには、インデックスを付けないでください。
たとえば、"前年度取引高"フィールドのように、値が互いに異なる可能性の高いフィールドには、インデック
スを付けないでください。このようなフィールドにインデックスを付けると、フィールドの各値のすべてを持つ
インデックスが別途作成されることになってしまいます。
23.8.3.1 保存データにインデックスを付けるには
1 Crystal Reports でレポートを開きます。
2 [レポート]メニューの[保存データのインデックス作成]をクリックします。
3 [保存データのインデックス作成]ダイアログボックスで、インデックスを付ける保存データのフィールドを選択
します。
4 [OK]をクリックして Crystal Reportsに戻ります。
5 すぐにインデックスを作成する場合は、レポートを最新表示して保存します。
548
2012-05-10
データベースの基礎
23.9 Crystal Reports での Unicode のサポート
Crystal Reports は、Unicode 対応でないデータベースにアクセスするときにはデータベースのデータを変換す
ることによって、Unicode をサポートします。このデータ変換は、Crystal Reports の内部で行われるので、デー
タベースのデータには影響しません。変換には、非 Unicode データの識別子とマシンのロケール設定(通常、
[コントロールパネル]の[地域のオプション]に設定されている)が使用されます。Crystal Reports の Unicode サ
ポートを有効に利用するには、Crystal Reports を使用する各マシンのロケール設定が正しいことを確認しま
す。
23.10 データベースの操作
このセクションでは、Crystal Reports からデータベース ファイルにアクセスする場合によく行われる作業をいく
つか紹介します。実用的な場面では、詳細な手順を説明しています。
23.10.1 Access のクエリーの使用
23.10.1.1 DAO を介して Access のクエリーを開く
Crystal Reports では、Microsoft Access のテーブルと同じように、Microsoft Access のクエリーを独立したデー
タ セットとして使用できます。DAO エンジンを使って Access データベースを開く場合は、データベース内の
どのクエリーも自動的に読み込むことができます。
23.10.1.1.1 DAO を介して Access のクエリーを開くには
1 [開始ページ]で、[空のレポート]をクリックします。
2 [データベース エキスパート]ダイアログ ボックスで、レポートで使用するクエリーを含む Microsoft Access
のデータベース ファイル(*.mdb)を見つけ、強調表示および展開します。
注
データベースにユーザー名やパスワードなどのログオン情報が必要な場合は、[ログオン]ダイアログ ボッ
クスが表示されます。
3 レポートに入れる[ビュー]フォルダのクエリーおよびテーブルを強調表示し、右矢印(>)をクリックします。
549
2012-05-10
データベースの基礎
4 [データベース エキスパート]ダイアログ ボックスでの作業を完了したら、[OK]をクリックします。
[フィールド エクスプローラ]ダイアログ ボックスが表示されます。
注
クエリーおよびテーブルを選択した場合は、データベース エキスパートに[リンク]タブが表示されます。
Access データベースから選択したすべてのテーブルとクエリーが、[フィールド エクスプローラ]ダイアログ
ボックスに表示されます。
5 データベース タブでクエリーを探し、その名前をダブルクリックします。クエリーは、テーブルの後のリストの
最後に表示されます。
クエリーが展開され、クエリーに含まれているすべてのフィールドが表示されます。
6 レポートで使用するフィールドをすべて選択し、[デザイン]タブに挿入します。
注
Crystal Reportsでは、アクション クエリーおよび更新クエリーは使用できません。ただし、Access の選択クエ
リー、クロスタブ クエリー、およびパラメータ クエリーは使用できます。パラメータ クエリーの詳細については、
551 ページの 「Access のパラメータ クエリーを開く」を参照してください。
23.10.1.2 ODBC を介して Access のクエリーを開く
ODBC では、データベースの中の使用する部分をさらに細かくコントロールできます。そのため、ODBC を介
して Access のクエリーを使用する場合は、いくつか追加の手順が必要です。
23.10.1.2.1 ODBC を介して Access のクエリーを開くには
1 [ファイル]メニューの[オプション]を選択します。
2 [データベース]タブをクリックします。
3 [表示]チェック ボックスがオンになっていることを確認します。
[ビュー]オプションを選択すると、Access データベースにあるすべてのクエリーが自動的に表示されます。
4 さらに、必要に応じて[テーブル名 LIKE]と[所有者 LIKE]の各オプションを指定します。
• [テーブル名 LIKE]オプションは SQL の LIKE 句を基にしています。このオプションを使用すると、[SQL
テーブルの選択]ダイアログ ボックスの中に表示するテーブル名の種類を指定できます。この関数で
は、アンダースコア( _ )やパーセント記号(%)をワイルドカードとして使用できます。アンダースコアは任
意の 1 文字を指定し、パーセント記号は任意の文字列を指定します。たとえば、DAV% は、DAVE と
DAVID の両方に一致しますが、DAV_ は、DAVE だけに一致します。“テーブル名 LIKE C%”を指定す
ると、名前が文字 C で始まるテーブルだけを表示できます。
•
[所有者 LIKE]オプションも SQL の LIKE 句を基にしています。[所有者 LIKE]オプションを使用する
と、テーブル名自体ではなく、テーブルの所有者(作成者やエイリアス)を選択できます。たとえば、“所
有者 LIKE C%”を指定すると、所有者の名前が文字 C で始まるテーブルだけを表示できます。
5 [OK]をクリックし、[オプション]ダイアログ ボックスを閉じます。
550
2012-05-10
データベースの基礎
6 新しいレポートを作成し、Access データベースのデータ ソースとして[ODBC]を選択します。
7 使用する Access クエリーを含むデータ ソースを見つけて選択します。
注
データベースにユーザー名やパスワードなどのログオン情報が必要な場合は、[次へ]をクリックして[接続
情報]ダイアログ ボックスを表示します。
ヒント
データ ソースとして ODBC を選択し、接続情報を入力した場合は、自動的にサーバーにログオンします。
8 [ビュー]フォルダのクエリーを強調表示し、右矢印(>)をクリックしてから、[OK]をクリックします。
[デザイン]タブが[フィールド エクスプローラ]ダイアログ ボックスと共に開きます。Access のクエリーおよび
そのクエリーに関連するすべてのフィールドが、[データベース フィールド]の下に表示されます。
注
Crystal Reportsでは、アクション クエリーおよび更新クエリーは使用できません。Access の選択クエリーとクロ
スタブ クエリーは使用できますが、
23.10.1.3 Access のパラメータ クエリーを開く
ODBC を介して Access データベースを開く場合に限り、Access のパラメータ クエリーを開くことができます。
この手順を行う前に、Access データベースが ODBC データ ソースとして設定されていることを確認してくださ
い。詳細については、553 ページの 「ODBC データ ソースのセットアップ」を参照してください。
注
Access でパラメータ クエリーを設計する場合、クエリーにはプロンプトを用意し、パラメータにはデータ型の指
定が必要です。まず、クエリーを Microsoft Access のデザイン ビューで開き、パラメータとして使用するフィー
ルドの[抽出条件]のセルにプロンプトを入力します。次に、Access の[クエリー]メニューの[パラメータ]を選択
し、作成したパラメータにデータ型を指定します。[抽出条件]のセルに指定したとおりに、プロンプトが表示さ
れることを確認してください。詳細については、Access のマニュアルを参照してください。パラメータ クエリーが
適切に設定されていない場合は、Crystal Reportsでそのクエリーを使用することはできません。
23.10.1.3.1 Access のパラメータ クエリーを開くには
1 Crystal Reportsの[ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログボックスが開きます。
2 [データベース]タブをクリックします。
3 [ストアド プロシージャ]チェック ボックスがオンになっていることを確認します。
[ストアド プロシージャ]オプションを選択すると、ODBC データ ソースにログオンするとき、利用できるスト
アド プロシージャが自動的にすべて表示されます。Crystal Reportsは、Access のパラメータ クエリーを
SQL ストアド プロシージャとまったく同様に処理します。したがって、パラメータ クエリーを使用するには、
[ストアド プロシージャ]オプションがオンになっている必要があります。
4 さらに、必要に応じて[テーブル名 LIKE]と[所有者 LIKE]の各オプションを指定します。
551
2012-05-10
データベースの基礎
•
[テーブル名 LIKE]オプションは SQL の LIKE 句を基にしています。このオプションを使用すると、[SQL
テーブルの選択]ダイアログ ボックスの中に表示するテーブル名の種類を指定できます。この関数で
は、アンダースコア( _ )やパーセント記号(%)をワイルドカードとして使用できます。アンダースコアは任
意の 1 文字を指定し、パーセント記号は任意の文字列を指定します。たとえば、DAV% は、DAVE と
DAVID の両方に一致しますが、DAV_ は、DAVE だけに一致します。“テーブル名 LIKE C%”を指定す
ると、名前が文字 C で始まるテーブルだけを表示できます。
•
[所有者 LIKE]オプションも SQL の LIKE 句を基にしています。[所有者 LIKE]オプションを使用する
と、テーブル名自体ではなく、テーブルの所有者(作成者やエイリアス)を選択できます。たとえば、“所
有者 LIKE C%”を指定すると、所有者の名前が文字 C で始まるテーブルだけを表示できます。
5 [OK]をクリックし、[オプション]ダイアログ ボックスを閉じます。
6 [開始ページ]で、[空のレポート]をクリックします。
7 使用する Access パラメータ クエリーを含む ODBC データ ソースを見つけて選択します。
注
データベースにユーザー名やパスワードなどのログオン情報が必要な場合は、[次へ]をクリックして[接続
情報]ダイアログ ボックスを表示します。
ヒント
データ ソースとして ODBC を選択し、接続情報を入力した場合は、自動的にサーバーにログオンします。
8 [ストアド プロシージャ]フォルダのパラメータ クエリーを強調表示し、右矢印(>)をクリックしてから、[OK]を
クリックします。
9 パラメータ クエリーのフィールドを使ってレポートを作成します。
10
[標準]ツールバーの[最新表示]をクリックして、レポートのデータを更新します。
プロンプト値の入力を求めるダイアログ ボックスが表示されます。
11 フィールドに値を入力して割り当て、[OK]をクリックします。
レポートが表示されます。[パラメータ値の入力]ダイアログ ボックスで指定したパラメータ値に合致するレ
コードだけがレポートで使用されます。
ヒント
[データベース]メニューの[ストアド プロシージャ パラメータ]を選択すると、いつでもパラメータ値を変更で
きます。
注
Crystal Reportsでは、アクション クエリーおよび更新クエリーは使用できません。Access の選択クエリーとクロ
スタブ クエリーは使用できますが、
23.10.2 ODBC データ ソースの使用
552
2012-05-10
データベースの基礎
23.10.2.1 ODBC データ ソースのセットアップ
ODBC データ ソースをセットアップするには、まず、使用するデータの種類に合った ODBC ドライバがインス
トールされている必要があります。多くの DBMS アプリケーションでは、ODBC ドライバは自動的に導入されて
セットアップされます。使用するデータに合った ODBC ドライバがインストールされているかどうかが不明な場
合は、DBMS アプリケーションに付属するマニュアルを参照してください。
23.10.2.1.1 ODBC データベースをセットアップする
1 ODBC データ ソース アドミニストレータを開きます。これは通常、[スタート]>[すべてのプログラム]>[管理
ツール]>[データ ソース(ODBC)]、または[スタート]>[設定]>[コントロール パネル]>[データ ソース
(ODBC)]にあります。
注
Crystal Reports では、ODBC データ ソース アドミニストレータのバージョン 3.520 がインストールされます。
それとは違うバージョンがインストールされている場合、以下の手順はわずかに異なることがあります。
2 新しい ODBC データ ソースを追加するには、[追加]をクリックします。
[データ ソースの新規作成]ダイアログ ボックスが表示されます。
3 リストから、データの種類に合った ODBC ドライバを選択します。
4 選択したら、[完了]をクリックします。
データの種類に合ったドライバが表示されていない場合、その ODBC ドライバは、正常にインストールされ
ていません。DBMS アプリケーションのマニュアルを参照してください。
選択した ODBC ドライバによって異なる ODBC データ ソース セットアップ用のダイアログ ボックスが表示
されます。
注
セットアップ用のダイアログ ボックスではなく、エラー メッセージが表示された場合は、選択したデータの種
類に合った ODBC ドライバが、正常にシステムにインストールされていません。
5 新しい ODBC データ ソースの名前を[データ ソース名]ボックスに入力します。
注
表示されるダイアログ ボックスは、使用するデータの種類によって、ここに表示されているものとは異なる可
能性があります。このダイアログ ボックスは、Access ODBC ドライバに固有のものです。それぞれのデータ
に対して表示されるダイアログ ボックスの使い方については、[ヘルプ]をクリックして調べてください。
6 終了したら、[OK]をクリックします。
23.10.2.2 ODBC データ ソース設定の確認
553
2012-05-10
データベースの基礎
1 ODBC データ ソース アドミニストレータを開きます。これは通常、[スタート]>[すべてのプログラム]>[管理
ツール]>[データ ソース(ODBC)]、または[スタート]>[設定]>[コントロール パネル]>[データ ソース
(ODBC)]にあります。
2 [ユーザー DSN]タブの[ユーザー データ ソース]リストで目的のデータ ソースを強調表示します。
3 [構成]をクリックします。
表示される ODBC データ ソース セットアップ用のダイアログ ボックスは、選択したデータ ソースに固有の
もので、データ ソースを設定するためのコントロールと情報を含んでいます。
4 このダイアログ ボックスで設定を調べ、その情報が、使用するシステムやデータベースと一致していることを
確認します。
5 必要に応じて変更し、[OK]をクリックします。
6 [OK]をクリックして[ODBC データ ソース アドミニストレータ]ダイアログ ボックスを閉じます。
23.10.2.3 ODBC データ ソースへのログオン
1 [データベース]メニューの[サーバーにログオン/ログオフ]を選択します。
開いているレポートがない場合は、[ファイル]メニューの[サーバーにログオン/ログオフ]を選択します。
[データ エクスプローラ]ダイアログ ボックスが表示されます。
2 開く ODBC データベース ファイルを選択し、[ログオン]をクリックします。
データ ソースにユーザー名やパスワードなどのログオン情報が必要な場合、[ログオン]ダイアログ ボックス
が表示されます。
3 このデータベースへのアクセスで通常使用しているログオン情報を入力し、[OK]をクリックします。
ODBC データ ソースでデータベースを指定しなかった場合は、[データベースの選択]ダイアログ ボックス
が表示されます。データベース ファイルを選択し、[OK]をクリックします。
23.10.2.4 ODBC データベース テーブルのレポートへの追加
1 [データベース]メニューの[データベース エキスパート]を選択します。
[データベース エキスパート]が表示されます。
2 [接続の新規作成]フォルダを展開してから、[ODBC(RDO)]フォルダを展開します。
[ODBC(RDO)]ダイアログ ボックスが表示されます。
3 開くデータ ソースを[データ ソース名]または[ファイル DSN]で選択します。
4 データ ソースにユーザー名やパスワードなどのログオン情報が必要な場合は、[次へ]をクリックします。
554
2012-05-10
データベースの基礎
5 このデータベースへのアクセスで通常使用しているログオン情報を入力し、[完了]をクリックします。
ODBC データ ソースでデータベースを指定しなかった場合は、[データベースの選択]ダイアログ ボックス
が表示されます。データベース ファイルを選択し、[OK]をクリックします。
6 データベース エキスパートで通常どおりにデータベース テーブルを選択し、リンクします。
23.10.2.5 ODBC データ ソースからのログオフ
1 [データベース]メニューの[サーバーにログオン/ログオフ]を選択します。
開いているレポートがない場合は、[ファイル]メニューの[サーバーにログオン/ログオフ]を選択します。
[データ エクスプローラ]ダイアログ ボックスが表示されます。
2 リスト ボックスで、ログオフする ODBC データ ソースを強調表示します。
3 [ログオフ]をクリックします。
4 終了したら、[完了]をクリックします。
23.11 高度なデータベース機能
23.11.1 1 対多のリンク
このチュートリアルでは、サンプル データベース xtreme.mdb の Customer、Credit、Orders の各テーブルを使
用して、“A to B、A to C”レポートを設定する方法を紹介しています。独自のデータベース ファイルを使って
“A to B、A to C”レポートを作成する場合は、ここでの説明を参考にしてください。
1 [開始ページ]で、[空のレポート]をクリックします。
2 [データベース エキスパート]ダイアログ ボックスで、[接続の新規作成]フォルダを展開し、[データベース
ファイル]フォルダを展開します。
3 [データベース ファイル]フォルダで、[データベース ファイルの検索]をダブルクリックします。
4 [開く]ダイアログ ボックスで Xtreme.mdb データベース ファイルを探して強調表示し、その[テーブル]フォ
ルダを展開します。
5 Credit テーブルを強調表示し、[選択したテーブル]領域に追加します。
6 Customer テーブルと Orders テーブルの両方について前の手順を繰り返します。
7 3 つのテーブルをすべて追加した後、[データベース エキスパート]ダイアログ ボックスの[リンク]タブをク
リックします。
555
2012-05-10
データベースの基礎
8 デフォルトでテーブルがリンクされている場合は、[リンクのクリア]をクリックします。
9 Credit テーブルの“顧客クレジット番号”フィールドを、他の 2 つのテーブルに存在する“顧客番号”フィー
ルドにそれぞれ手動でリンクします。
10 [リンクの順序]をクリックします。
[リンクの順序]ダイアログ ボックスが表示されます。
11 リンクを選択し、上矢印または下矢印を使用して、処理する順序にリンクを並べ替えます。
12 [OK]をクリックし、データベース エキスパートの[リンク]タブに戻ります。
13 [OK]をクリックしてデータベース エキスパートを閉じます。
これで、3 つのテーブルの間に“A to B、A to C”リレーションシップが成立しました。
23.11.2 ACT! データベース
ACT! は、すべての連絡先情報を xBASE データベース(dBASE、Clipper、FoxPro)に類似したデータベース
形式に格納することができる強力な連絡先管理アプリケーションです。
注
バージョン 2 以前の ACT! では、Crw.act というファイルを使用する必要があります。それよりも新しいバージョ
ンではこのファイルを使用する必要はありません。使用している ACT! のバージョンに従って、適切な手順を選
択してください。
23.11.2.1 ACT! 2 データベースを使用する
1 [開始ページ]で、[空のレポート]をクリックします。
2 [データベース エキスパート]ダイアログ ボックスで、[接続の新規作成]フォルダを展開し、[データベース
ファイル]フォルダを展開します。
3 [データベース ファイル]フォルダで、[データベース ファイルの検索]をダブルクリックします。
4 [開く]ダイアログ ボックスで Crw.act ファイルを探してから選択します。デフォルトでは、このファイルは、
Windows または Winnt System 32 のディレクトリにインストールされています。終了したら、[開く]をクリック
します。
ACT! データベース ファイルを選択するダイアログ ボックスが表示されます。
5 このダイアログ ボックスで ACT! データベースを探してから選択します。
6 [OK]をクリックします。
[デザイン]タブがアプリケーション ウィンドウに表示されます。ACT! データベースのフィールドを使用して
レポートを作成します。
556
2012-05-10
データベースの基礎
23.11.2.2 ACT! を使用するバージョン 2 より新しいデータベース
1 [開始ページ]で、[空のレポート]をクリックします。
2 [データベース エキスパート]ダイアログ ボックスで、[接続の新規作成]フォルダを展開し、[ACT! 3.0]フォ
ルダを展開します。
3 [開く]ダイアログ ボックスで ACT! データベースを探してから選択します。終了したら、[開く]をクリックしま
す。
選択したデータベースが[データベース エキスパート]ダイアログ ボックスに表示されます。
4 レポートで使用するテーブルを強調表示し、[追加]をクリックします。
5 データベース エキスパートの[閉じる]をクリックします。
[デザイン]タブがアプリケーション ウィンドウに表示されます。ACT! データベースのフィールドを使用して
レポートを作成します。
23.11.3 NT イベントログに基づくレポートの作成
Windows NT システムを使用している場合は、Crystal Reports で NT イベント ログを基にしたレポートを生成
できます。
1 [開始ページ]で、[空のレポート]をクリックします。
2 [データベース エキスパート]ダイアログ ボックスで、[接続の新規作成]フォルダを展開します。
3 [NT アーカイブ イベント ログ]または[NT カレント イベント ログ]をダブルクリックします。
• 以前にアーカイブされた NT イベント ログを基にしてレポートを作成する場合は、[NT アーカイブ イベ
ント ログ]を選択します。これを選択した場合は、[アーカイブ イベント ログの選択]ダイアログ ボックス
が表示され、レポート作成の基にするファイルを探すことができます。
•
最新の NT イベント ログを基にしてレポートを作成する場合は、[NT カレント イベント ログ]を選択しま
す。
4 [NT カレント イベント ログ]を選択した場合は、[カレント イベント ログの選択]ダイアログ ボックスが表示さ
れます。
5 [コンピュータ(複数可)]ボックスで参照されているコンピュータは、サンプル レポートの基になっているコン
ピュータです。コンピュータを変更する場合は、[Microsoft Windows ネットワーク]ツリーを展開します。
ディレクトリ構造が展開され、使用しているコンピュータが接続されているネットワーク グループが表示され
ます。
6 ネットワーク グループを展開して、そのグループに接続されている個々のマシンを表示します。
7 NT イベント ログ レポートの対象とする NT マシンを選択します。
557
2012-05-10
データベースの基礎
マシンを選択すると、その名前が[コンピュータ(複数可)]ボックスに表示されます。
[データベース エキスパート]ダイアログ ボックスで、次の 3 つのテーブルが使用できるようになります。
•
アプリケーション
•
セキュリティ
•
システム
これらのテーブルを使用して、NT カレント イベント ログを基にしたレポートを作成します。
注
•
•
Security テーブルを基にしてレポートを作成するには、NT ポリシーのユーザー権利の割り当てに“監査と
セキュリティ ログの管理”が追加されている必要があります。
表示されるデータは、NT のイベント ビューアに表示されるデータと同じです。
23.12 その他の情報について
この節では、データベースアクセス、リレーショナルデータベース、および SQL に関する重要な点を部分的に
説明しました。データベースに関してさらに学習する場合は、DBMS アプリケーションに添付されているマニュ
アルを参照してください。
注
そのほかにも、データベースの理論とデザインについて詳細に解説している書籍は数多く市販されています。
書店のコンピュータ関連の売り場を探してみてください。
558
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
ビジネスアプリケーションと Crystal Reports の統合
Crystal Reports は、Crystal レポートの作成や書式設定に使用するプログラムです。また、SAP BusinessObjects
Business Intelligence プラットフォームは、セキュリティで保護されたマネージド環境の Web 全体に Crystal レ
ポートを配布するための多層構成システムです。SAP BusinessObjects Business Intelligence プラットフォーム
4.0 と以下のビジネスアプリケーションの統合は、Crystal Reports および SAP BusinessObjects Business
Intelligence プラットフォーム 4.0 の機能を統合し、選択したビジネスアプリケーションで使用するためのコンポー
ネントを提供します。
•
•
•
•
•
SAP
JD Edwards (JDE) システム
Oracle E-Business Suite (EBS)
PeopleSoft (PSFT)
Siebel
以前のリリースとは異なり、上記の各アプリケーションの統合は、SAP BusinessObjects Business Intelligence プ
ラットフォーム 4.0 インストールと統合されています。SAP BusinessObjects Business Intelligence プラットフォー
ム 4.0 インストールプログラムは、SAP、JDE、EBS、PSFT および Siebel の統合を提供します。SAP
BusinessObjects Business Intelligence プラットフォームを使用して管理タスクを設定でき、Crystal Reports を
使用してアプリケーションのデータへのアクセスを設定できます。Crystal Reports や SAP BusinessObjects
Business Intelligence プラットフォーム 4.0 のさまざまなアプリケーションからデータを使用できるようになります。
各アプリケーションの管理タスクの実行方法については、以下のガイドを参照してください。
• 『SAP BusinessObjects Business Intelligence プラットフォーム管理者ガイド 』
• 『SAP BusinessObjects Business Intelligence プラットフォームユーザーズガイド 』
• 『SAP BusinessObjects Business Intelligence Suite マスタガイド 』
• 『SAP BusinessObjects Business Intelligence Platform 4.0 インストールガイド 』
24.1 SAP との統合
24.1.1 はじめに
SAP BusinessObjects 3.x Integration for SAP Solutions は、特定の SAP BusinessObjects Business Intelligence
プラットフォーム製品へのサポートを提供し、使いやすさ、実装、管理面を強化します。
559
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
この節では、SAP BusinessObjects Enterprise XI Integration for SAP Solutions を Crystal Reports で使用す
る際の特有の主な新機能と拡張機能について概説します。
SAP BusinessObjects Enterprise XI Integration for SAP Solutions は強力なレポート作成ツールと、Web を介
してレポートを管理、スケジュール、配布するためのフレームワークを提供します。これにより、SAP Business
Information Warehouse(BW)と R/3 データから価値ある追加情報を抜粋し、組織全体のユーザとデータを共有
することができます。
Crystal Reports 2011 の新機能の詳細については、 『Crystal Reports 2011 ユーザガイド 』の 「Crystal Reports
2011 の新機能」の章を参照してください。SAP BusinessObjects Business Intelligence プラットフォームの新機
能の詳細については、 『SAP BusinessObjects Business Intelligence プラットフォーム管理者ガイド 』の SAP
BusinessObjects Business Intelligence プラットフォームの新機能に関する章を参照してください。
24.1.1.1 SAP データを使用したレポーティング
ここでは、Crystal Reports から SAP への接続方法、データアクセスコンポーネントを使用して SAP データから
レポートを作成する方法、および BI 起動パッド を使用したレポートへのアクセス方法について説明します。ま
た、この節では、Crystal Reports のサンプルレポートや設定オプションについても説明します。
24.1.1.1.1 データアクセスコンポーネントドライバの概要
データアクセスコンポーネントは、インフォセットクエリドライバ、OLAP ABAPI ドライバ、オープン SQL ドライバ、
ODS ドライバ、および BW MDX クエリドライバで構成されています。これらのドライバを使用して、SAP テーブ
ル、ABAP プログラム、ABAP データクラスタ、ABAP クエリ、インフォセット、オペレーショナルデータストア、
キューブによるレポートを作成することができます。BW MDX クエリドライバで、SAP ビジネスインフォメーション
ウェアハウス(BW)に格納されたデータを基に、書式設定付きの Crystal レポートを作成できます。
作成した Crystal レポートは、Crystal Reports のドライバをインストールしたユーザなら誰でも、最新の SAP
データに対して最新表示することができます。また、これらのレポートを SAP BusinessObjects Business Intelligence
プラットフォームでスケジュールすると、ユーザは、最新のデータを含むカスタマイズされたレポートにいつでも
アクセスできるようになります。
この節では、次のことについて説明します。
•
560 ページの 「Crystal Reports での SAP への接続」
•
561 ページの 「Crystal Reports 設定オプション」
注
ここでの手順は、Crystal Reports 2011 に基づいています。
24.1.1.1.2 Crystal Reports での SAP への接続
Crystal Reports 2011 をインストールした後、Crystal Reports を起動してレポートに使用するドライバを選択で
きます。Crystal Reports でドライバを選択するには、いずれかのレポートウィザードを使用する方法と、[ファイ
ル]メニューまたは[データベース]メニューの[サーバにログオン]を選択する方法の 2 つがあります。以下で、
両方の方法を説明します。
560
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
注
Crystal Reports には、ユーザデータからレポートするための統合ツールが複数含まれています。
[サーバにログオン]コマンドの使用
1 Crystal Reports を起動します。
2 [ファイル]メニュー(レポートがすでに開いている場合は[データベース]メニュー)の[サーバにログオン/ログ
オフ]をクリックします。
3 データエクスプローラで、[接続の新規作成]を展開します。使用するドライバに対応するフォルダを展開し
ます。
• インフォセットドライバを使用するには、[SAP インフォセット]を展開します。
•
オープン SQL ドライバを使用するには、[SAP テーブル、クラスタ、プログラム]を展開します。
•
ODS ドライバを使用するには、[SAP オペレーショナルデータストア(ODS)]を展開します。
•
BW MDX クエリドライバを使用するには、[SAP BW MDX クエリ]を展開します。
ドライバを選択すると、[SAP システムログオン]ダイアログボックスが表示されます。詳細については、561
ページの 「SAP サーバへのログオン」を参照してください。
SAP サーバへのログオン
どの SAP ドライバを選択した場合でも、レポートで使用する SAP システムを指定し、そのシステムで有効な R/3
または BW ユーザ認証情報を入力する必要があります。どちらのドライバでも、このログオン情報を入力するプ
ロンプトがまず表示され、その後でレポートに含める要素を選択できるようになります。ユーザ認証情報は、SAP
データソースから作成された既存のレポートを実行するときにも要求されます。
24.1.1.1.3 Crystal Reports 設定オプション
Crystal Reports をインストールするときには、SAP からのレポート作成を向上させるために、全般的なレポート
オプションの変更が必要になることがあります。この節では、テーブルとフィールドを名前と説明の両方を基準
にして一覧表示するように、Crystal Reports を設定する手順について説明します。また、データエクスプロー
ラに表示されるテーブルをフィルタリングする方法についても説明します。
SAP システムには、それぞれが定義済みの技術名称を持つテーブルが多数含まれている場合があります。こ
の項で説明するオプションを設定すると、レポート対象のテーブルを選択する際に、長いリスト全体を検索する
必要がありません。
設定オプションを変更する
1 [ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログボックスが表示されます。
561
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
2 [データベース]タブをクリックします。
3 データエクスプローラで、レポートで利用可能にするデータの種類のチェックボックスをオンにします。
4 [テーブル名 LIKE]または[所有者 LIKE]フィールドで、利用可能なデータの種類のサブセットのみを選択
します。以下のいずれの方法でもフィルタリングを行えます。
• 完全なテーブル名か、またはその一部を入力します。
•
ワイルドカードを追加して、複数のクエリまたはインフォセットを選択します。パーセンテージ記号(%)は任
意の数の文字、アンダースコア(_)は任意の 1 文字を示します。ワイルドカード"%"と"_"は、Windows で
使用されるワイルドカード"*"と"?"にそれぞれ相当します。
•
両方のフィールドをクリアし、[OK]をクリックしてフィルタリングをせずに続行します。ただし、データエク
スプローラに表示できるオブジェクト数には制限があることに注意してください。SAP 内のクエリまたはイ
ンフォセットの数がこの制限(デフォルトで 8000)を超える場合、メモリ不足のエラーまたは空のデータエ
クスプローラが表示される場合があります。
5 [テーブルおよびフィールド]エリアで、[両方を表示]を選択します。
6 [OK]をクリックします。
562
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
24.1.2 アドオン
アドオン配布メディアには、SAP システムに統合するコンポーネント用のセットアッププログラムと追加マニュア
ルが収録されています。セットアッププログラムは、インストール済みの SAP BusinessObjects Business Intelligence
プラットフォーム製品を確認し、必要に応じてアドオンコンポーネントをインストールします。
アドオンコンポーネントには次のものがあります。
•
データアクセス
このコンポーネントは、SAP データを使用したレポーティング専用に設計されたデータベースドライバを提
供します。OpenSQL、インフォセット、BW MDX、ODS 用の Crystal Reports ドライバが含まれています。
Crystal Reports サーバをホストするマシンには、Crystal Reports ドライバをインストールする必要がありま
す。
•
Crystal Reports SAP ツールバー
Crystal Reports 内に組み込まれた[SAP ツール]ツールバーにより、BW クエリのレポートに関連するタスク
を容易に行うことが可能です。BW へのログオン、BW のデータソースでの作業、BW へのレポートの保存、
BW を介したレポートの SAP BusinessObjects Business Intelligence プラットフォームへの即時公開が可能
です。
注
SAP Business Explorer は、Crystal Reports SAP ツールバーが正常に動作する SAP Crystal Reports 2011
と同じマシンにインストールする必要があります。
関連項目
• 563 ページの「インフォセット、オペレーショナルデータストア、MDX キューブのレポーティング」
• 590 ページの「その他の SAP データソースによるレポーティング」
24.1.3 SAP を使用したレポーティング
この節では、SAP システムからレポーティングするための Crystal Reports 2011 の主要機能について説明しま
す。
24.1.3.1 インフォセット、オペレーショナルデータストア、MDX キューブのレポーティング
563
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
Crystal Reports 2011 からは、インフォセットドライバ、ODS ドライバ、MDX ドライバの 3 種類のデータベースド
ライバを介して、SAP データに接続できます。
注
BW クエリドライバは、現在および将来のリリースではサポートされていません。MDX ドライバは、拡張のある
BW クエリドライバと同じ機能セットを提供します。既存の BW クエリレポートを MDX ドライバに移行できます。
•
インフォセットドライバは、Crystal Reports に、SAP データソースにアクセスする別の方法を提供します。こ
のドライバにより、以前は機能領域とも呼ばれていた R/3 インフォセット、および ABAP クエリにアクセスで
きます。このドライバには、Crystal Reports のデータエクスプローラからアクセスできます。
•
オペレーショナルデータストア(ODS)ドライバを使用すると、お使いの BW データウェアハウスの既存の ODS
オブジェクトを Crystal Reports のデータソースとして利用することができます。
•
SAP BW MDX クエリドライバを使用すると、BW キューブおよびクエリを使用してレポートを作成できます。
MDX クエリドライバを使用してレポートを作成すると、BW キューブ、表示属性、および複数構造に直接ア
クセスできます。Crystal ReportsC++ スタックで MDX ドライバを介して、SAP BW システムをデータソースと
して使用できるようになります。必要な SAP システム情報と認証情報を提供することによって、SAP システ
ムへの接続を作成したり、レポートの作成など、MDX ドライバを介してデータソースとして SAP システムの
共通機能を実行したり、SAP システムでレポートの作成、表示、スケジュールなどを実行したりできるように
なります。
これらのドライバの長所の 1 つは、ビジネス ユーザーが SAP データの定義済みのビューをレポートできること
です。テーブルとフィールドは、まず SAP コンテンツ担当者によりクエリー、インフォセットなどに論理的にグ
ループ化されます。次に、Crystal Reports を使用してレポートを作成するユーザーがこれらのデータ ソースに
対してアクセスできるようにします。
これらのドライバは、SAP BusinessObjects Business Intelligence プラットフォームのアドオン (データアクセス機
能) にも含まれているため、SAP BusinessObjects Business Intelligence プラットフォームの処理サーバは、SAP
システム用のレポートを適切に実行できます。これらのドライバを使用すると、Crystal Reports で作業を行うこ
とができます。
注
インフォセットドライバまたは OpenSQL ドライバを使ってレポートを作成または処理するためには、対応する移
送ファイルを事前に SAP システムにインストールする必要があります。
関連項目
• 563 ページの「アドオン」
• http://help.sap.com
24.1.3.1.1 BW クエリおよびキューブを使用したレポーティング: MDX クエリドライバ
ここでは、Crystal Reports と MDX クエリドライバ の統合機能について紹介します。BW クエリや階層レポート
のフォーマット方法、作成方法について説明します。
MDX クエリドライバの概要
SAP BW MDX クエリドライバを使用すると、BW キューブおよびクエリを使用してレポートを作成できます。MDX
クエリドライバを使用してレポートを作成すると、BW キューブに直接アクセスすることができます。また Crystal
レポートで、表示属性、複数構造、および自由特性を使用することもできます。
564
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
さらに、MDX クエリドライバを使用して、階層変数および階層ノード変数を含むクエリからレポートを作成できま
す。ドライバが作成した特定のフィールドを使用して、Crystal Reports で変数のピックリストを指定できます。
書式設定付きレポーティングの概要
BW MDX クエリドライバで、SAP ビジネスインフォメーションウェアハウス(BW)に格納されたデータを基に、書
式設定付きの Crystal レポートを作成できます。これらのレポートの基として、SAP のビジネスエクスプローラ
(BEx)クエリデザイナまたはキューブで直接作成したクエリを使用します。Crystal レポートを作成したら、それを
SAP BusinessObjects Business Intelligence プラットフォームに保存できます。必要に応じてその翻訳を作成
し、複数の言語のユーザが利用できるようにすることができます。
ここでは、主として、Crystal Reports と、MDX クエリドライバを使用して BW クエリとキューブを Crystal レポー
トのデータソースとして選択する手順について説明します。この節の最後に、サンプルクエリを使用してレポー
トを作成するためのチュートリアルがあります。
注
各チュートリアルでは、前のチュートリアルで作成したクエリおよびレポートを使用するため、チュートリアルは決
められた順序で進めてください。
SAP BusinessObjects Business Intelligence プラットフォームでは、Web 上で Crystal レポートを共有できるの
で、書式設定したコンテンツをすべてのユーザが表示できます。SAP BusinessObjects Business Intelligence
プラットフォームへのレポート公開の詳細については、618 ページの 「レポートの公開」を参照してください。
BW クエリには、SAP BusinessObjects Business Intelligence プラットフォームや Crystal Reports でパラメータ
として表示される SAP 変数が含まれていることがあります。BI プラットフォームでこれらの変数に対応するため、
BusinessObjects Integration for SAP Solutions ではダイナミックピックリストを使用します。ダイナミックピックリス
トは、パラメータ(変数)として選択可能な値の一覧を提供します。さらに、ダイナミックピックリストに表示される値
はユーザの権限に対応しているため、SAP BW のセキュリティ設定によって定義されている、使用権限のある
ピックリスト値のみが表示されます。
注
Crystal Reports ではピックリストは静的ですが、SAP BusinessObjects Business Intelligence プラットフォームで
は動的です。
Crystal Reports の新しいクエリの作成
[クエリデザイナ] を開くには、[プログラム] メニューを使用します。
BEx クエリデザイナから直接 BW クエリを作成する
1 [スタート]>[プログラム]>[Business Explorer]>[クエリデザイナ]の順にクリックします。
2 プロンプトが表示されたら、SAP BW システムにログオンします。
3 クエリデザイナのツールバーの[新規クエリ]ボタンをクリックします。
[新規クエリ: インフォプロバイダ選択]ダイアログボックスに、システムで利用できるインフォエリアとインフォ
プロバイダが表示されます。
4 クエリの基となるインフォプロバイダを選択し、[OK]をクリックします。
5 [キー数値]および[次元]リストから値と特性を選択し、[列]領域にドラッグしてクエリを定義します。
565
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
注
レポーティング用の新しいクエリを作成する場合は、クエリデザイナの[列]領域にキー数値、および[行]領
域に特性を設定することをお勧めします。
6 [クエリプロパティ]をクリックします。
7 [拡張済]タブをクリックし、[このクエリへの外部アクセスを許可]が選択されていることを確認します。
このオプションを使用すると、Crystal Reports などの他のプログラムもこのクエリにアクセスできるようになり
ます。
8 [クエリ保存]をクリックします。
9 [クエリの保存]ダイアログボックスの[ロール]をクリックし、クエリを保存するロールを選択します。
10 クエリの[内容説明]および[技術名称]を入力し、[保存]をクリックします。
技術名称は、クエリを一意に識別できるものにする必要があります。すなわち、BW のすべてのインフォプロ
バイダを通じて、この名前は 1 度しか使用できません。技術名称は英文字で始め、最長 30 文字まで入力
できます。
レポートに使用する BW クエリの選択
Crystal Reports のデータソースとして使用する BW クエリにアクセスするには 2 つの方法があります。Crystal
Reports 内で[SAP ツール]ツールバーを使用するか、Crystal Reports でデータベースエクスプローラを使用し
ます。
[SAP ツール]ツールバーを使用した MDX クエリの選択
注
•
以下のチュートリアルでは、[SAP ツール]ツールバーを使用して、レポーティングに使用する新しいクエリを
作成します。ただし、新しいクエリを作成する場合は、どちらの方法も使用できます。
• データベースエクスプローラでクエリを表示する前に、プロパティで[クエリへの外部アクセスを許可]オプショ
ンを設定する必要があります。
1 [SAP]メニューの[クエリから新しいレポートを作成]をクリックします。
2 プロンプトが表示されたら、SAP BW システムにログオンします。
[Crystal レポートのクエリの選択]ダイアログボックスに、BW の[お気に入り]、[ロール]、[インフォエリア]から
利用できるクエリが表示されます。
3 レポートに使用するデータを持つクエリを選択し、[OK]をクリックします。
Crystal Reports は、指定したクエリをデータソースとして使用するレポートを生成します。レポートは、Crystal
Reports の[デザイン]タブに表示されます。ここで、フィールド、タイトル、チャートなどのオブジェクトをレポー
トに追加できます。
データベースエクスプローラを使用した MDX クエリの選択
1 Crystal Reports の[ファイル]メニューで、[新規作成]、[空のレポート]の順にクリックします。
データベースエキスパートが表示されます。
566
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
2 [利用可能なソース]の下にある[接続の新規作成]を展開し、[SAP BW MDX クエリ]を展開します。
[SAP システムログオン]ダイアログボックスが表示されます。
3 対応する BW システムを選択し、[次へ]をクリックします。
次に表示される[SAP のログオン]ダイアログボックスにユーザの認証情報を入力します。
4 [クライアント]、[ユーザ名]、[パスワード]の各フィールドに、通常使用する SAP ユーザの認証情報を入力
し、[次へ]をクリックします。
ヒント
ログオン言語を設定するには、[表示] > [優先表示ロケール]で Crystal Reports 内の優先表示ロケールを
指定する必要があります。
次に表示される[SAP ログオン]ダイアログボックスで、RFC トレースファイルを生成するかどうかを指定しま
す。
5 SAP Communication ライブラリに、(トラブルシューティングのための)すべてのクライアント/サーバ通信のト
レースファイルの作成を希望する場合、[RFC トレースファイルの生成] チェックボックスをオンにします。
6 [完了]をクリックします。
[データベースエキスパート]に戻ります。これで、SAP BW MDX クエリ接続の下に 2 つのエントリが生成さ
れます。1 つには[CU(キューブ)]、もう 1 つには[QC(クエリ)]というラベルが付いています。
7 [QC(クエリ)]を展開し、レポートのデータソースとして使用可能な定義済みの MDX BW クエリを表示しま
す。
ヒント
項目が見つからない場合は、データエキスパートの[オプション]設定を確認します。
a [QC(クエリ)]を右クリックし、[オプション]をクリックします。
これで、[データベース]タブだけの[オプション]ダイアログボックスが表示されます。
b [データエクスプローラ]領域で、[ストアドプロシージャ]が選択されていることを確認し、[OK]をクリックし
ます。
データベースエキスパートに戻ります。
c [SAP BW MDX クエリ]を選択し、F5 キーを押してデータベースエキスパートを最新表示します。
d [現在の接続]を展開し、[QC(クエリ)]を展開します。
これで、使用可能なクエリの一覧が表示されます。
8 レポートに使用するクエリを選択し、右矢印ボタンをクリックします。
9 [OK]をクリックします。
Crystal Reports は、指定したクエリをデータソースとして使用する空のレポートを生成します。これで、レ
ポートにオブジェクトを追加できます。
567
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
フィールドの内容説明と技術名称の表示
Crystal Reports では、説明、名前、またはその両方でフィールドを識別できます。両方を表示するのが適切な
場合と、一方だけを表示するのが適切な場合があります。たとえば、複数構造を使用している場合は、説明の
みを表示することをお勧めします。SAP で複数構造に割り当てられているグローバル一意識別子(GUID)が
Crystal Reports に反映されるので、複数構造の使用が困難になる場合があります。
フィールドの名前と説明の設定を調整する
1 [ファイル]メニューの[オプション]を選択します。
[オプション]ダイアログボックスの[レイアウト]タブが表示されます。
2 [データベース]タブをクリックします。
3 [テーブルおよびフィールド]領域で、[名前を表示]、[説明を表示]または[両方を表示]のいずれかを選択し
ます。
4 [OK]をクリックします。
ヒント
書式設定したレポートの作成の詳細については、[SAP ライブラリ]>[ビジネスインフォメーションウェアハウス]>[ビ
ジネスエクスプローラ]>[Formatted Reporting: Crystal Reports Integration]を参照してください。
Crystal Reports のフィールド名に関するヒント
Crystal Reports で属性名を表示しているときに、属性名の前に付いている番号は、フィールドに含まれている
情報の種類を表します。
•
2 は、属性がメンバーキーであることを示します。
•
1、4、または 5 は、属性がメンバーの説明であることを示します。
Crystal Reports で特性名を表示しているときに、特性名の後ろに多くのスペースと階層名が続く場合、特性に
はその階層が含まれています。
たとえば、[品目]特性に[HIGHTECH]階層が含まれている場合は、[0品目 HIGHTECH]と示されます。
次のフィールドは、特性に階層ノード変数が存在する場合に、階層のグループ化とパラメータのバインディング
に使用されます。これらのフィールドは、レポーティングには使用しないでください。
•
ノード ID
•
親ノード ID
•
メンバー固有名
注
レポートにメンバー固有名を挿入すると、パフォーマンスの問題が発生します。
クエリに階層変数が含まれている場合は、MDX クエリドライバによって Crystal Reports で階層と呼ばれる追
加フィールドが作成されます。このフィールドを使用して、変数の値の一覧を作成できます。
[階層]フィールドには、次の属性があります。
568
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
•
階層名
•
階層の説明
このフィールドは、階層変数の値の一覧を作成する以外の目的では使用しません。このフィールドは、レポー
ティングには使用しないでください。
レポートに使用するキューブの選択
1 つまたは複数のキューブが BW で既にレポーティング用に定義されている場合は、それらを新しい Crystal
Reports のデータソースとして選択できます。
既存のクエリをレポート用に選択する
1 Crystal Reports の [ファイル] メニューで、[新規作成]、[空のレポート] の順にクリックします。
データベースエキスパートが表示されます。
2 [利用可能なソース]の下にある[接続の新規作成]を展開し、[SAP BW MDX クエリ]を展開します。
[SAP システムログオン]ダイアログボックスが表示されます。
3 対応する BW システムを選択し、[次へ]をクリックします。
次に表示される[SAP のログオン]ダイアログボックスにユーザの認証情報を入力します。
4 [クライアント]、[ユーザ名]、[パスワード]の各フィールドに、通常使用する SAP ユーザの認証情報を入力
し、[次へ]をクリックします。
ヒント
ログオン言語を設定するには、[表示] > [優先表示ロケール]で Crystal Reports 内の優先表示ロケールを
指定する必要があります。
次に表示される[SAP ログオン]ダイアログボックスで、RFC トレースファイルを生成するかどうかを指定しま
す。
5 SAP Communication ライブラリに、(トラブルシューティングのための)すべてのクライアント/サーバ通信のト
レースファイルの作成を希望する場合、[RFC トレースファイルの生成] チェックボックスをオンにします。
6 [完了]をクリックします。
[データベースエキスパート]に戻ります。これで、SAP BW MDX クエリ接続の下に 2 つのエントリが生成さ
れます。1 つには[CU(キューブ)]、もう 1 つには[QC(クエリ)]というラベルが付いています。
7 [CU(キューブ)]を展開し、使用可能な定義済みの BW キューブを表示します。
ヒント
項目が見つからない場合は、データエキスパートの[オプション]設定を確認します。
a [CU(キューブ)]を右クリックし、[オプション]をクリックします。
b これで、[データベース]タブだけの[オプション]ダイアログボックスが表示されます。
c [データエクスプローラ]領域で、[ストアドプロシージャ]が選択されていることを確認し、[OK]をクリックし
ます。
d [データベースエキスパート]に戻ります。
e [SAP BW MDX クエリ]を選択し、F5 キーを押してデータベースエキスパートを最新表示します。
569
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
f [現在の接続]、[CU(キューブ)]の順に展開します。
g これで、使用可能なキューブの一覧が表示されます。
8 レポートに使用するキューブを選択し、右矢印ボタンをクリックします。
9 [OK]をクリックします。
Crystal Reports は、指定したキューブをデータソースとして使用する空のレポートを生成します。これで、レ
ポートにオブジェクトを追加できます。
複数構造と Crystal Reports
MDX クエリドライバは複数構造を認識します。この複数構造を Crystal レポートで使用することができます。複
数構造は、Crystal Reports に単一のディメンションとして表示されます。つまり、複数構造には属性は示されま
せん。構造は、クエリ内のメンバーのみで構成されます。
BW へのレポートの保存
クエリを基にしてレポートを作成したら、それを BW のロールに保存できます。同時に、レポートを翻訳用に準
備したり、SAP BusinessObjects Business Intelligence プラットフォームに自動的に公開したりすることができま
す。
レポートを保存する前に、[ファイル] メニューの [プロパティ] をクリックして、レポートのタイトルをチェックしま
す。ここに表示されるタイトルが、SAP BusinessObjects Business Intelligence プラットフォームでユーザに表示
されます。クエリの技術名称がデフォルトタイトルとして使用されますが、SAP ユーザにとってより意味のある説
明的なタイトルに置き換えることもできます。
ヒント
[ファイル]メニューの[名前を付けて保存]コマンドを使用して、レポートをディスクに保存します。
レポートを BW に保存する
1 [SAP]メニューの[レポートの上書き保存]をクリックします。
注
SAP システムへもう一度ログオンして、レポートを公開するロールを選択することが必要な場合があります。
この操作は、レポートを作成してから初めて SAP ツールバーにアクセスしたときに必要です。
2 [Crystal レポートを BW に保存]ダイアログボックスで、新しい Crystal レポートをどのロールに保存するか
を選択します。
3 レポートの[内容説明]を入力し、[保存]をクリックします。
接続設定によっては、[BW への保存オプション]ダイアログボックスが表示されます。
4 利用可能なオプションから選択します。
• サーバでレポートの翻訳準備をする
このオプションを選択すると、レポート内の文字列が抽出され、SAP 内での翻訳に利用できるようになり
ます。詳細については、616 ページの 「翻訳用レポートの作成」を参照してください。
•
570
SAP BusinessObjects Business Intelligence プラットフォームに自動的に公開する
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
レポートの公開方法については、618 ページの 「レポートの公開」を参照してください。
レポートを SAP BusinessObjects Business Intelligence プラットフォームに公開できない場合、ライセン
スについて管理者に確認する必要があります。
•
このダイアログを今後表示しない
このオプションを選択したら、これ以降は[SAP]メニューの[設定]をクリックする方法で、デフォルト設定を
変更します。
5 [OK]をクリックします。
BW クエリからのレポートの作成
このチュートリアルでは、BW MDX クエリドライバを使用したクエリからのレポーティングに関する概要を示しま
す。このチュートリアルでは、次のタスクを実行します。
•
クエリの作成
•
Crystal レポートのデータソースとしてのクエリの選択
•
データベースフィールドの挿入
•
データのグループ化および並べ替え
•
データの集計
•
レポートのプレビュー
簡単な BW クエリの作成方法
ここでは、クエリを作成し、BW に作成したクエリを保存して、それを Crystal Reports で使用できるようにリリー
スするプロセスを示します。
簡単な BW クエリを作成する
1 [スタート] > [プログラム] > [Business Explorer] > [クエリデザイナ] の順にクリックします。
2 プロンプトが表示されたら、SAP BW システムにログオンします。
クエリデザイナが開きます。
3 クエリデザイナのツールバーの[新規クエリ]ボタンをクリックします。
[新規クエリ: インフォプロバイダ選択]ダイアログボックスに、システムで利用できるインフォエリアとインフォ
プロバイダが表示されます。
4 [SDDEMO]を選択し、[OK]をクリックします。
注
[SDDEMO]キューブの場所が一定していないため、検索して探すことが必要な場合もあります。
5 [ディメンション]リストから、次の特性を選択し、[行]領域にドラッグします。
• 製品部門
571
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
•
品目
ヒント
[製品部門]は、[SDDEMO3]領域のデータディメンションの下に表示されます。
6 [キー数値]リストから次を選択し、[列]領域にドラッグします。
• 請求済数量
•
販売数量
7 [クエリプロパティ]をクリックします。
8 [拡張済]タブをクリックし、[このクエリへの外部アクセスを許可]が選択されていることを確認します。
このオプションを使用すると、Crystal Reports などの他のプログラムもこのクエリにアクセスできるようになり
ます。
BW にクエリを保存する
1
2
3
4
[クエリ保存]をクリックします。
[クエリの保存]ダイアログボックスの[ロール]をクリックし、クエリを保存するロールを選択します。
[内容説明]に、たとえば「品目クエリサンプル」など適切な説明を入力します。
[技術名称]に、たとえば「MATERIALSAMPLE01」など、適切な名前を入力します。
技術名称は、クエリを一意に識別できるものにする必要があります。すなわち、BW のすべてのインフォプロ
バイダを通じて、この名前は 1 度しか使用できません。技術名称は英文字で始め、最長 30 文字まで入力
できます。
5 [保存]をクリックします。
Crystal Reports でクエリを使用する
•
[終了してクエリを使用]をクリックします。
Crystal Reports は、指定したクエリをデータソースとして使用するレポートを生成します。レポートは、Crystal
Reports の[デザイン]タブに表示されます。ここで、フィールド、タイトル、チャートなどのオブジェクトをレポー
トに追加できます。
クエリを基にして新しいレポートを作成する方法
ここでは、前節571 ページの 「簡単な BW クエリの作成方法」で作成したクエリを基にして新しいレポートを作
成する手順について説明します。
新しいレポートを作成する
•
[表示]メニューで、[フィールドエクスプローラ]をクリックします。
フィールドエクスプローラが表示されます。[データベースフィールド]と[品目クエリサンプル]を展開し、レポー
トで使用可能なフィールドの一覧を表示します。
572
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
ヒント
Crystal Reports でフィールドの指定方法を変更する方法については、568 ページの 「フィールドの内容説
明と技術名称の表示」を参照してください。
レポートのフィールドを選択する
1 クエリを展開します。
2 フィールドエクスプローラから[請求済数量]をレポートの[詳細]セクションへドラッグして挿入します。
3 [最新表示]ボタンをクリックして、結果セットを表示します。
レポートには 1 つの値のみ返されます。この値は、キューブ内のすべての特性におけるこのキー数値の集
計値を表します。さらに詳細な結果を表示する場合は、1 つまたは複数の次元のデータをグループ化する
必要があります。
データをグループ化して並べ替える
注
属性値でグループ化すると、レポートのパフォーマンスが低下します。パフォーマンスの低下は、MDX クエリの
データを返す速度が遅いために発生します。処理速度を上げるには、このチュートリアルで説明しているよう
に、可能な場合は必ず[メンバーキャプション]フィールドでグループ化することをお勧めします。
1 [挿入]メニューで、[グループ]をクリックします。
[グループの挿入]ダイアログボックスが表示されます。
2 最初のリストで、[製品部門]をクリックします。
このフィールドは、[製品部門]のメンバーキャプションです。
3
4
5
6
次のリストで、[昇順]をクリックします。
[OK]をクリックします。
[挿入]メニューで、[グループ]をクリックします。
最初のリストで、[品目]をクリックします。
このフィールドは、[品目]のメンバーキャプションです。
7 次のリストで、[昇順]をクリックします。
8 [最新表示]ボタンをクリックして、結果セットを表示します。
このレポートを表示するときに、まず、[製品部門]特性の値に従ってレコードがグループ化されます。グルー
プは、レポートに文字順の昇順で表示されます。それぞれの[製品部門]グループのレコードは、[品目]次元
の値に基づいて、さらにグループ分けされます。結果のグループも、文字順の昇順で並べ替えられます。
ヒント
MDX クエリドライバがサーバに渡している MDX クエリ文を参照する場合は、CR で[SQL クエリの表示]オプ
ションを使用します。クエリを表示するには、[データベース]メニューで、[SQL クエリの表示]をクリックします。
この MDX 文は、トランザクション mdxtest を使用して SAP BW に対して直接テストできます。
573
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
データの集計およびレポートの保存方法
ここでは、前節572 ページの 「クエリを基にして新しいレポートを作成する方法」で作成したレポートを基にデー
タを集計し、レポートを保存する手順について説明します。
データを集計する
1
2
3
4
5
[挿入]メニューの[集計]をクリックします。
[集計の挿入]ダイアログボックスが表示されます。
[集計するフィールドを選択]リストで、[請求済数量]を選択します。
[集計方法]リストで、[合計]を選択します。
[集計の保存場所]リストで、[グループ #1:[フィールド名]]を選択します。
この場合、"(フィールド名)"は、グループの基になっているフィールドの名前を示します。
6 [最新表示]ボタンをクリックして、結果セットを表示します。
レポートを表示すると、グループフッタ 1 に 1 つの集計が示されます。この集計は、各"部門"の"請求数
量"の合計を表しています。
レポートを保存する
•
[SAP]メニューの[レポートの保存]をクリックし、BW のロールにレポートを保存します。
詳細については、570 ページの 「BW へのレポートの保存」を参照してください。
レポートの要素のサイズ変更や再配置、またはレポートの作成の再修正も可能です。たとえば、[プレビュー]タ
ブで列および列見出しの境界線をドラッグしてサイズを変更したり、選択エキスパートでレコードにフィルタを適
用してデータのサブセットだけをすばやく表示したりすることができます。
『Crystal Reports オンラインヘルプ 』には、Crystal Reports の活用に役立つ概念や手順についての情報、
チュートリアル、およびサンプルが用意されています。ヘルプを表示するには、Crystal Reports で F1 キーを
押します。
BW 階層を使用したレポートの作成
このチュートリアルでは、Crystal Reports で MDX クエリドライバを使用して、階層のある BW クエリからレポー
トを作成する方法を紹介します。
このチュートリアルでは以下を実行します。
574
•
階層のある簡単な BW クエリを作成します。
•
新しいレポートを作成し、そのデータを階層的にグループ化します。
•
集計を挿入します。
•
オブジェクトの配置を動的に調整します。
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
注
このチュートリアルは、571 ページの 「BW クエリからのレポートの作成」の内容に基づいています。SAP システ
ムへのログオン、SAP デモキューブの選択、クエリの保存などの詳しい手順については、前節を参照してくだ
さい。
階層のある簡単な BW クエリを作成する方法
ここでは、前のチュートリアル571 ページの 「BW クエリからのレポートの作成」で作成したクエリーを使用しま
す。[品目]次元のクエリに階層を追加します。
階層のある BW クエリを作成する
1 [スタート] > [プログラム] > [Business Explorer] > [クエリデザイナ] の順にクリックします。
2 [クエリを開く]をクリックします。
3 前のチュートリアルで作成したクエリを選択します。
クエリを作成していない場合は、571 ページの 「BW クエリからのレポートの作成」を参照してください。
4 [行]領域の[品目]を右クリックし、[プロパティ]をクリックします。
[特性プロパティ]ダイアログボックスが表示されます。
5 [階層名]フィールドの隣にある[値]ボタンをクリックします。
[階層選択]ダイアログボックスが表示されます。
6 [利用可能な階層]で、[品目クラス]を選択し、[OK]をクリックします。
[特性プロパティ]ダイアログボックスに戻ります。
7 [OK]をクリックした後、[クエリに名前を付けて保存]をクリックして、クエリを適切な場所に保存します。
この例では、[説明] フィールドに「MDX の簡単な階層」と入力し、[技術名] フィールドに
「HIERARCHY_SIMPLE_MDX」と入力します。
8 [終了してクエリを使用]をクリックします。
これで、階層のレベル数が最大 3 の簡単なクエリが作成されました。このクエリは、SAP Business Explorer ア
ナライザで表示するか、データセットとして Crystal Reports で表示することができます。
BW 階層からレポートを作成する方法
この節で作成するレポートは、571 ページの 「BW クエリからのレポートの作成」で作成したレポートと同じフィー
ルドを使用して開始します。違いは、グループ化の部分です。前のチュートリアルで行ったデータのグループ
化とは異なり、データを階層化してグループ化します。この方法では、データに存在する階層がレポートに反
映されます。
このチュートリアルでは、次のフィールドを使用して階層の表示を作成します。
•
<階層名>ノード ID
このフィールドは、子の値を反映します。
•
575
<階層名>親 ID
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
このフィールドは、親の値を反映します。実際のノード ID と組み合わせることにより、Crystal Reports は
SAP BW クエリから受け取った情報に基づいて階層を識別します。
•
<階層名>
このフィールドには、階層メンバーのキャプションが含まれます。
BW 階層から階層レポートを作成する
•
[表示]メニューで、[フィールドエクスプローラ]をクリックします。
フィールドエクスプローラが表示されます。[データベースフィールド]を展開して、レポートで使用可能な
フィールドの一覧を表示します。
ヒント
フィールドの名前および説明の表示オプションを設定して、フィールドの選択を簡単にすることができます。
Crystal Reports でフィールドの指定方法を変更する方法については、568 ページの 「フィールドの内容説
明と技術名称の表示」を参照してください。
レポートのフィールドを選択する
1 クエリを展開します。
2 フィールドエクスプローラから[請求済数量]をレポートの[詳細]セクションへドラッグして挿入します。
データをグループ化して並べ替える
1 [挿入]メニューで、[グループ]をクリックします。
[グループの挿入]ダイアログボックスが表示されます。
2
3
4
5
最初のリストで、[品目クラスノード ID]をクリックします。
次のリストで、[昇順]をクリックします。
[オプション]タブをクリックし、[グループ名フィールドをカスタマイズする]フィールドを選択します。
[既存のフィールドから選択]リストから、[品目クラス]を選択します。
[品目クラス]は階層名、つまりメンバーキャプションです。
6 [OK]をクリックします。
7 [レポート]メニューの[階層グループ化オプション]をクリックします。
[階層グループオプション]]ダイアログボックスが表示されます。
8 [利用可能なグループ]領域で、[品目クラス]が選択されていることを確認します。
[品目クラス]は、リストされている唯一のグループになる可能性があります。
9 [データを階層に並べ替え]チェックボックスをオンにします。
10 [親 ID]フィールドで、[品目クラス親 ID]を選択します。
11 [グループのインデント]フィールドに、各階層レベルをインデントする数値を入力します。
このエントリは、レポートの表示方法および CR で使用している単位によって変わります。
576
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
12 [最新表示]ボタンをクリックして、結果セットを表示します。
これで、レポートの結果セットは、階層的に表示されます。
データの集計方法
ここでは、前節575 ページの 「BW 階層からレポートを作成する方法」で作成したクエリを基にデータを集計す
る手順について説明します。
データを集計する
1
2
3
4
5
[挿入]メニューの[集計]をクリックします。
[集計の挿入]ダイアログボックスが表示されます。
[集計するフィールドを選択]リストで、[請求済数量]を選択します。
[集計方法]リストで、[合計]を選択します。
[集計の保存場所]リストで、[グループ #1:[フィールド名]]を選択します。
この場合、"(フィールド名)"は、グループの基になっているフィールドの名前を示します。
注
この例では、データを正しく集計するために[階層全体の集計]を選択する必要はありません。これは、Crystal
Reports が、SAP BW データが提供する階層ノードの集計を識別できるためです。
これで、レポートにこの階層の集計データが表示されます。ただし、集計値はインデントされています。修正方
法については、577 ページの 「他のフィールドに影響を与えずに階層をインデントする方法」を参照してくださ
い。
グループの集計に関する重要な注意事項
階層グループ化と通常のグループ化を両方使用している場合に、通常のグループレベルに集計を挿入する
と、正しく集計されない場合があります。つまり、既存の集計が、詳細レコードと共に集計されてしまいます。
この場合、通常のグループレベルではサーバ側で計算された集計を使用する必要があります。
他のフィールドに影響を与えずに階層をインデントする方法
ここでは、レポートに含まれるすべてのフィールドを元の位置から動かすことなく、階層をインデントする手順に
ついて説明します。
他のフィールドに影響を与えずに階層をインデントする
1 [レポート]メニューの[階層グループ化オプション]をクリックします。
2 [グループのインデント]フィールドが 0 に設定されていることを確認します。
3 [OK]をクリックします。
これで、データがインデントなしでレポートに表示されます。
4 グループヘッダフィールドを右クリックし、[サイズと位置]をクリックします。
577
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
5 X 位置の値のフィールドの横の [条件式] ボタンをクリックします。
6 [式ワークショップ]に、次の式を入力します。
HierarchyLevel (GroupingLevel({[Hierarchy Name] Node ID})) * 250
注
•
•
•
{[階層名]実際のノード ID}フィールドは、技術名と共に、この式に入ります。
位置の単位は twip です。1 インチは 1440 twips になります。
これでレポートでは、集計データが元の位置に入り、グループ ヘッダーが階層的に表示されます。
階層ノード変数のある BW クエリからのレポートの作成
レポートを作成する際、Crystal Reports から返されるデータの量をユーザが制限できるようにしたい場合があ
ります。これを行うには、クエリ内に階層ノード変数を作成します。この変数は、Crystal Reports ではパラメータ
として扱われます。
このチュートリアルでは、次のタスクを実行します。
•
階層ノード変数のあるクエリの作成
•
このクエリに基づいた新しいレポートの作成
•
Crystal Reports での階層ノード変数のメンバー固有名フィールドへのバインド
•
レポートのプレビュー
注
このチュートリアルは、前のチュートリアルで作成したクエリに基づいています。クエリを作成していない場合は、
571 ページの 「簡単な BW クエリの作成方法」および575 ページの 「階層のある簡単な BW クエリを作成する
方法」の手順に従って作成してください。
階層ノード変数のあるクエリを作成する方法
ここでは、[製品品目]階層で階層ノード変数を作成するプロセスを示します。Crystal Reports を使用してこの
クエリーからレポートを作成すると、レポート データに使用する階層ノードを選択するためのプロンプトが表示
されます。
階層ノード変数を作成する
1 [スタート] > [プログラム] > [Business Explorer] > [クエリデザイナ] の順にクリックします。
2 [クエリを開く]をクリックします。
3 前のチュートリアルで作成したクエリを選択します。
注
クエリを作成していない場合は、571 ページの 「簡単な BW クエリの作成方法」および575 ページの 「階層
のある簡単な BW クエリを作成する方法」の手順を完了してください。
4 [行]領域の[品目]を右クリックし、[制限]をクリックします。
[次元]の選択ダイアログボックスが表示されます。
578
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
5 [選択]フィールドが[個別値]に設定されており、[階層]フィールドがこのディメンション用に作成した階層に
設定されていることを確認します。
この例では、階層は[品目クラス]です。
6 [変数]タブをクリックします。
7 空白の領域を右クリックし、[新規変数]をクリックします。
SAP BW 変数ウィザードが開きます。
8 [次]をクリックします。
9 [変数タイプ]フィールドが、[階層ノード]になっていることを確認します。
10 その他のフィールドを、次のように入力します。
• [変数名]フィールドに「HNV01」と入力します。
•
[内容説明]フィールドに、「階層ノード変数のテスト」と入力します。
•
[処理方法]フィールドで、値が[ユーザエントリ/初期値]になっていることを確認します。
•
[特性]フィールドで、値が[品目]になっていることを確認します。
11 [次へ]をクリックします。
[詳細]ウィンドウが表示されます。
12 [変数エントリ]リストで、[任意]または[必須]をクリックします。
13 [次]をクリックして、他のデフォルト値を使用します。
[初期値]ウィンドウが表示されます。
14 [次]をクリックして、デフォルト値を使用します。
15 [完了]をクリックして、変数を作成します。
[ディメンションの選択]ダイアログボックスに戻ります。変数の一覧に新しい階層ノード変数が表示されます。
階層ノード変数をクエリに追加する
1 [階層ノード変数のテスト]という名前の階層ノード変数をクリックします。
2 右矢印をクリックして、ダイアログボックスの[選択]領域に変数を移動します。
3 [OK]をクリックします。
BEx クエリデザイナに戻ります。新しい階層ノード変数が、[行]領域の[品目]特性の下に表示されます。こ
れで、クエリを保存します。
4 [クエリに名前を付けて保存]をクリックして、新しい名前と説明を指定してクエリを保存します。
この例では、[内容説明]フィールドに「ノード変数のある簡単な階層」と入力し、[技術名称]フィールドに
「HIERARCHY_SIMPLE_HNV」と入力します。
5 [終了してクエリを使用]をクリックします。
これで、[品目クラス]の簡単な階層と、[品目クラス]階層に基づく階層ノード変数のあるクエリが作成されました。
579
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
階層ノード変数のあるクエリからレポートを作成する方法
ここでは、Crystal Reports に表示されるパラメータのデフォルト値の一覧を作成するプロセスを示します。
1 575 ページの 「BW 階層からレポートを作成する方法」で作成したものと同じレポートを作成します。ここで
は、データソースとして[ノード変数のある簡単な階層]という名前のクエリを使用します。
2 レポートの作成が完了したら、[最新表示]ボタンをクリックします。
注
変数がオプションである場合は、パラメータ値を選択するときに[NULL に設定]チェックボックスがオフになって
いることを確認します。[NULL に設定]チェックボックスは、デフォルトパラメータ値の一覧から選択した値を上
書きします。パラメータ値を選択するときは、このチェックボックスは常にオフにします。
階層変数および階層ノード変数のある BW クエリからのレポートの作成
このチュートリアルでは、前のチュートリアルで作成したクエリに階層変数を追加する方法を示します。階層変
数を使用すると、データを表示するときに Crystal Reports で使用する階層をユーザが選択できます。階層ノー
ド変数を使用すると、データを参照する階層のノードをユーザが選択できます。
このチュートリアルでは、次のタスクを実行します。
•
既存のクエリへの階層ノードの追加
•
このクエリに基づいた新しいレポートの作成
•
階層ノード変数のメンバー固有名フィールドへのバインド
•
階層変数の階層フィールドへのバインド
•
レポートのプレビュー
注
このチュートリアルは、前のチュートリアルで作成したクエリに基づいています。クエリを作成していない場合は、
571 ページの 「簡単な BW クエリの作成方法」、575 ページの 「階層のある簡単な BW クエリを作成する方法」
および578 ページの 「階層ノード変数のあるクエリを作成する方法」の手順に従って作成してください。
階層変数を作成する方法
ここでは、既存のクエリで階層変数を作成し、この新しい階層変数に対応するように階層ノード変数をリセットす
るプロセスを示します。
前のチュートリアルでは、階層ノード変数を、クエリに存在していた[品目クラス]階層に設定しました。このチュー
トリアルでは、クエリの階層を、[品目クラス]階層から変数に変更します。予測しない動作を回避するために、階
層ノード変数はクエリと同じ階層に基づいている必要があります。そのため、このクエリで新しい階層変数を反
映するように階層ノード変数を変更します。
階層変数を作成する
1 [スタート] > [プログラム] > [Business Explorer] > [クエリデザイナ] の順にクリックします。
2 [クエリを開く]をクリックします。
580
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
3 前のチュートリアルで作成したクエリを選択します。
このクエリには既に階層および階層ノード変数が 1 つずつ含まれています。
クエリを作成していない場合は、571 ページの 「簡単な BW クエリの作成方法」、575 ページの 「階層のある
簡単な BW クエリを作成する方法」および578 ページの 「階層ノード変数のあるクエリを作成する方法」に示
す手順に従って作成してください。
4 [行]領域の[品目]を右クリックし、[プロパティ]をクリックします。
[品目特性のプロパティ]ダイアログボックスが表示されます。
5 [値]アイコンをクリックします。
[階層選択]ダイアログボックスが表示されます。
6 [変数]チェックボックスを選択し、[新規変数]アイコンをクリックします。
SAP BW 変数ウィザードが開きます。
7 [変数タイプ]フィールドが、[階層]になっていることを確認します。
8 その他のフィールドを、次のように入力します。
• [変数名]フィールドに「HV01」と入力します。
•
[内容説明]フィールドに「階層変数のテスト」と入力します。
•
[処理方法]フィールドで、値が[ユーザエントリ/初期値]になっていることを確認します。
•
[特性]フィールドで、値が[品目]になっていることを確認します。
9 [次へ]をクリックします。
[詳細]ウィンドウが表示されます。
10 [変数エントリ]リストで、[任意]または[必須]をクリックします。
[初期値]ウィンドウが表示されます。
11 [次]をクリックして、デフォルト値を使用します。
12 [完了]をクリックして、変数を作成します。
[階層選択]ダイアログボックスに戻ります。[名称]の一覧に新しい階層変数が表示されます。
13 [名称]の一覧から新しい階層変数を選択し、[OK]をクリックします。
この例の階層変数名は、「HV01(階層変数のテスト)」です。
表示階層が[品目クラス]階層ではなく変数に設定されているため、階層ノード変数を新しい階層変数にリセッ
トする必要があります。
階層ノード変数を設定する
1 [行]領域で、[階層ノード変数のテスト]をクリックし、[制限]をクリックします。
[品目の選択]ダイアログボックスが表示されます。
581
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
2
3
4
5
[選択]領域で、[階層ノード変数のテスト]を右クリックします。
[変数階層を選択]をクリックします。
[変数]チェックボックスをオンにして、[名称]の一覧に変数階層を表示します。
[名称]の一覧から、このチュートリアルで作成した階層変数をクリックします。
この例の階層名は、「HV01(階層変数のテスト)」です。
6 [クエリに名前を付けて保存]をクリックし、クエリに「HV 変数のある簡単な階層変数」という名前を付けます。
7 [終了してクエリを使用]をクリックします。
これで、結果を表示するときに使用する特定の階層を選択したり、結果セットを特定の階層ノードに制限するこ
とができるプロンプトを表示する簡単なクエリが作成できました。
階層変数および階層ノード変数のあるクエリからレポートを作成する方法
ここでは、新しいクエリから基本的なレポートを作成し、Crystal Reports で階層変数のデフォルト値の一覧を作
成するプロセスを示します。
階層変数および階層ノード変数のあるクエリからレポートを作成する
1 571 ページの 「BW クエリからのレポートの作成」で作成したものと同じレポートを作成します。ここでは、デー
タソースとして[HN 変数のある簡単な階層変数]という名前のクエリを使用します。
2 [最新表示]ボタンをクリックします。
2 つのパラメータプロンプトが表示されます。1 つは階層ノード変数の値を入力するためのプロンプトで、も
う 1 つは階層変数の値を入力するためのプロンプトです。
3 階層パラメータの値を選択します。
注
階層ノード値は、ここで指定した選択に基づいて設定されるため、この値は最初に選択してください。
4 階層ノードパラメータの値を選択します。
Crystal Reports と変数ピックリスト
Crystal Reports ではクエリ内にある BW 変数のデフォルトのピックリストは作成されません。
注
SAP BusinessObjects Business Intelligence プラットフォームでレポートを表示している場合は、これを実行する
必要はありません。SAP BusinessObjects Business Intelligence プラットフォームでは、ピックリストは動的です。
階層ノード変数のデフォルト値の一覧作成
階層ノード変数のデフォルト値の一覧を作成する
注
この手順は、580 ページの 「階層変数および階層ノード変数のある BW クエリからのレポートの作成」で作成し
たクエリに基づいています。
582
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
1 フィールドエクスプローラで、[パラメータフィールド]を展開し、[HNV01]を右クリックします。
パラメータ[HNV01]は、このクエリに作成した階層ノード変数を表します。
2 [編集]をクリックします。
パラメータの編集ダイアログボックスが開きます。
3 [値の一覧]フィールドが[静的]に設定されていることを確認します。
4 [値フィールド]の一覧で、[品目メンバーの固有名]を選択します。
この一覧には、属性名とその技術名称が示されます。
5 [説明フィールド]の一覧で、メンバーキャプションフィールドである[品目]を選択します。
この一覧には、属性名とその技術名称が示されます。
6 [アクション]、[すべてのデータベース値を追加]の順にクリックします。
[値]および[説明]の一覧に、BW システムからの値が設定されます。
7 [値オプション]領域の[プロンプトテキスト]に、パラメータプロンプトでユーザに表示されるメッセージを設定
します。
8 [カスタム値を許可]および[複数の値を認める]が[偽]に設定されていることを確認します。
9 [OK]をクリックします。
レポートを最新表示してパラメータプロンプトが表示されたら、値の一覧からパラメータ値を選択できます。
注
変数がオプションである場合は、パラメータ値を選択するときに[NULL に設定]チェックボックスがオフになって
いることを確認します。[NULL に設定]チェックボックスは、デフォルトパラメータ値の一覧から選択した値を上
書きします。パラメータ値を選択するときは、このチェックボックスは常にオフにします。
階層変数のデフォルト値の一覧作成
注
この手順は、580 ページの 「階層変数および階層ノード変数のある BW クエリからのレポートの作成」で作成し
たクエリに基づいています。
クエリに階層変数が含まれている場合は、MDX クエリドライバによって Crystal Reports で"H~"という文字で始
まる追加フィールドが作成されます。このフィールドを使用して、変数の値の一覧を作成できます。
1 フィールドエクスプローラで、[パラメータフィールド]を展開し、[HNV01]を右クリックします。
パラメータ[HV01]は、このクエリで作成した階層変数を表します。
2 [編集]をクリックします。
パラメータの編集ダイアログボックスが開きます。
3
4
5
6
583
[値の一覧]フィールドが[静的]に設定されていることを確認します。
[値フィールド]の一覧から[H~[0MATERIAL]~NODEID]を選択します。
[説明フィールド]の一覧から[H~[0MATERIAL]~NODEDESCRIPTION]を選択します。
[アクション]、[すべてのデータベース値を追加]の順にクリックします。
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
[値]および[説明]の一覧に、BW システムからの値が設定されます。
7 [値オプション]領域の[プロンプトテキスト]に、パラメータプロンプトでユーザに表示されるメッセージを設定
します。
8 [カスタム値を許可]および[複数の値を認める]が[偽]に設定されていることを確認します。
9 [OK]をクリックします。
階層ノード変数のデフォルト値の一覧を作成する
•
582 ページの 「階層ノード変数のデフォルト値の一覧を作成する 」の手順を繰り返します。
レポートを最新表示すると、2 つのプロンプトが表示され、それぞれにデフォルト値の一覧が示されます。
24.1.3.1.2 オペレーショナルデータストアを使用したレポーティング
ここでは、オペレーショナルデータストアドライバとレポートの作成方法について説明します。
オペレーショナルデータストアドライバの概要
オペレーショナルデータストア(ODS)ドライバを使用すると、お使いの BW データウェアハウスの既存の ODS
オブジェクトを Crystal Reports のデータソースとして利用することができます。ODS オブジェクトとは、一連の
Info オブジェクトです。BW データウェアハウスに保存されているデータのより小さな構造単位として動作しま
す。このドライバを使用して、同じ ODS オブジェクトをすばやく参照して複数のレポートを作成できます。
ODS オブジェクトを基にしたレポートの動作は、主流データベースのストアドプロシージャを基にしたレポート
の動作と類似しています。ODS オブジェクトに格納されたデータは多次元データではなく、パラメータを持たな
いため、すばやくアクセスしてレポートに使用することができます。また、このドライバによりサーバでレコード選
択が実行され、レポーティングプロセスをさらにスピードアップします。
ODS オブジェクトの選択
1 Crystal Reports を起動します。
2 561 ページの 「[サーバにログオン]コマンドの使用」の手順に従って SAP に接続します。
[データエクスプローラ] で [SAP オペレーショナルデータストア (ODS)] を選択します。
584
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
3 [オプション]をクリックします。
[データベース] タブだけの [オプション] ダイアログボックスが表示されます。
ヒント
レポートウィザードを使用する場合、[SAP オペレーショナルデータストア(ODS)]を右クリックして、[オプショ
ン]をクリックします。
4 データエクスプローラで、レポートで利用可能にするデータの種類のチェックボックスをオンにします。
この場合、[ストアドプロシージャ]が選択されていることを確認します。
5 [テーブル名 LIKE]や[所有者 LIKE]フィールドで、利用可能なデータの種類のサブセットのみを選択しま
す。
以下のいずれの方法でもフィルタリングを行えます。
585
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
•
完全なテーブル名か、またはその一部を入力します。
•
ワイルドカードを追加して複数の ODS オブジェクトを選択します。
•
パーセント記号(%)を使用して、文字数を無制限にします。
•
アンダースコア(_)を使用して、文字数を 1 文字に指定します。
注
ワイルドカードの"%"と"_"は、Windows で使用されるワイルドカードの"*"と"?"にそれぞれ相当します。
ワイルドカードの"%"と"_"は、SAP で使用されるワイルドカードの"*"と"+"にそれぞれ相当します。
•
両方のフィールドをクリアし、[OK]をクリックしてフィルタリングをせずに続行します。
6 [テーブルおよびフィールド]エリアで、[両方を表示]をクリックします。
7 表示する ODS を指定したら、[OK]をクリックします。
[データエクスプローラ] に、SAP 管理者が定義した説明とともに選択したテーブルが表示されます。
8 [閉じる]をクリックします。
9 新しい空のレポートを開きます。
データベースエキスパートが表示されます。
586
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
10 [利用可能なデータソース]で、レポートのデータソースとして使用する ODS をダブルクリックします。
ODS が[選択したテーブル]へ移動します。
11 [OK]をクリックします。
これで、フィールドを追加してレポート作成作業を続行できます。
24.1.3.1.3 インフォセットと SAP クエリを使用したレポーティング
ここでは、インフォセット/ABAP クエリ複合ドライバについて説明し、Crystal レポートのデータソースとなるイン
フォセットまたは SAP クエリの選択方法を示します。
インフォセットクエリドライバの概要
インフォセット/ABAP クエリ複合ドライバを使用すると、既存の SAP クエリまたはインフォセット(以前は機能領
域と呼ばれていた)を Crystal レポートのデータソースとして使用できます。コンテンツ担当者は SAP クエリーま
たはインフォセットを SAP 内で作成し、そのデータ セットをビジネス ユーザーが利用できるようにします。この
ドライバを通じて、ユーザーは、そのクエリーまたはインフォセットを参照してさまざまなレポートを作成できます。
インフォセットは SAP 内の論理データベースの最上部に作成することができるため、論理データベースにプロ
グラムされているビジネス ロジックとセキュリティをすべて継承できます。ただし、このドライバを使用して作成し
たレポートは、SAP クエリーまたはインフォセットで取得するように設定したデータしかレポートに含めることがで
きません。
587
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
SAP クエリーとインフォセットを基にしたレポートは、主流データベースのストアド プロシージャを基にしたレポー
トと同様に動作します。さまざまなクエリーやインフォセットに基づくサブレポートをメイン レポートに挿入できま
す。
注
•
•
2 つ以上のインフォセットまたは SAP クエリーを結合する場合は、新しいインフォセットまたは SAP クエリー
の作成を検討してください。新規に作成した結合は SAP サーバーで処理されるため、レポートの応答速度
が速くなります。
SAP クエリーとインフォセットには、SAP システムから返されるデータの制限に使用できるパラメータを含め
ることができます。たとえば、日付の範囲を指定して、特定の期間のデータだけを取得することができます。
パラメータが SAP クエリまたはインフォセットに含まれている場合、Crystal Reports で表示されるプロンプト
でクエリに含める値を指定します。
ヒント
SAP にインフォセットの作成にはトランザクション SQ02、SAP クエリーの作成にはトランザクション SQ01 を使用
できます。SAP クエリーおよびインフォセットの作成についての詳細は、SAP のマニュアルを参照してください。
インフォセットまたは SAP クエリへのアクセス
ユーザグループ は、SAP 内で管理されるグループです。このグループを使用して、インフォセットと SAP クエ
リへのユーザのアクセスを管理できます。
SAP クエリは 1 つのユーザグループにのみ属すことができ、ユーザグループは、その SAP クエリが基にしてい
るインフォセットを共有する必要があります。一方、インフォセットは複数のユーザグループに属することができ
ます。ユーザがインフォセット(または、インフォセットに基づいた SAP クエリ)を使ってレポーティングするには、
ユーザとインフォセット/SAP クエリが共通のユーザグループに属する必要があります。
ヒント
既存のインフォセットおよびユーザを SAP 内の追加のユーザグループに関連させるには、トランザクション
SQ03 を使用します。
Crystal Reports でのインフォセットまたは SAP クエリの選択
1 Crystal Reports を起動します。
2 561 ページの 「[サーバにログオン]コマンドの使用」の手順に従って SAP に接続します。SAP Infoset ドライ
バを選択し、ユーザ認証情報を入力します。
[データエクスプローラ]ダイアログボックスが表示されます。
3 [オプション]をクリックします。
[データベース] タブだけの [オプション] ダイアログボックスが表示されます。
588
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
4 データエクスプローラで、レポートで利用可能にするデータの種類のチェックボックスをオンにします。
5 [テーブル名 LIKE]フィールドで、使用できるデータの種類のサブセットだけを選択します。以下のいずれ
の方法でもフィルタリングを行えます。
• 完全なテーブル名か、またはその一部を入力します。
•
ワイルドカードを追加して、複数のクエリまたはインフォセットを選択します。パーセンテージ記号(%)は任
意の数の文字、アンダースコア(_)は任意の 1 文字を示します。ワイルドカード"%"と"_"は、Windows で
使用されるワイルドカード"*"と"?"にそれぞれ相当します。また、ワイルドカード"%"と"_"は、SAP で使用
されるワイルドカード"*"と"+"にそれぞれ相当します。
•
両方のフィールドをクリアし、[OK]をクリックしてフィルタリングをせずに続行します。ただし、データエク
スプローラに表示できるオブジェクト数には制限があることに注意してください。SAP 内のクエリまたはイ
ンフォセットの数がこの制限(デフォルトで 8000)を超える場合、メモリ不足のエラーまたは空のデータエ
クスプローラが表示される場合があります。
注
このインフォセットドライバは、[所有者 LIKE]フィールドを使用しません。
6 [テーブルおよびフィールド]エリアで、[両方を表示]を選択します。
7 表示するデータソースを指定したら、[OK]をクリックします。
データエクスプローラに、選択したクエリまたはインフォセットと、SAP 管理者によって定義された内容説明
が表示されます。
8 [閉じる]をクリックします。
9 新しい空のレポートを開きます。
データベースエキスパートが表示されます。
589
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
ヒント
既存のレポートにインフォセットまたは SAP クエリを追加することもできます。これを行うには、追加するレ
ポートを開き、[データベース]メニューで[データベースエキスパート]を選択します。
10 [利用可能なデータソース]で、レポートのデータソースとして使用するクエリまたはインフォセットを特定しま
す。
• I(インフォセット)または Q(SAP クエリ)を展開します。
•
グローバル領域で検索する場合は G、ローカル領域で検索する場合は L を展開します。
注
ローカル領域のクエリとインフォセットは、クライアントに依存します。
11 レポートのデータソースとして使用するクエリまたはインフォセットをダブルクリックします。
注
クエリまたはインフォセットにパラメータがある場合は、[パラメータ値の入力]ダイアログボックスに情報を入
力します。このダイアログボックスを使用して、使用するデータを指定し、[OK]をクリックします。
12 [データエクスプローラ]ダイアログボックスで、[OK]をクリックします。
ヒント
パラメータおよび一般的なレポートの作成の詳細については、 『Crystal Reports オンラインヘルプ 』を参照し
てください。
24.1.3.2 その他の SAP データソースによるレポーティング
590
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
前記のドライバ以外に、Crystal Reports にはオープン SQL ドライバも含まれています。このドライバを使用す
ると、Crystal Reports から追加 SAP データソースをレポーティングできます。
24.1.3.2.1 テーブル、ビュー、クラスタおよび関数のレポーティング
オープン SQL ドライバは、SAP のデータへのアクセスの柔軟性により、最もパワフルなドライバだと言えます。
しかしながら、この柔軟性により、インフォセットドライバよりも高度に複雑なものとなっています。
オープン SQL ドライバを使用するレポートを作成すると、SAP の透過テーブル、プールテーブル、クラスタテー
ブルおよびビューに容易にアクセスできます。現在、ABAP レポートの作成にかかわっているユーザには、この
ドライバを利用したレポートの作成がどれほど迅速かがすぐわかるでしょう。
また、このドライバの高度な機能によって、ABAP プログラムおよび ABAP データクラスタへのレポーティングも
可能となります。ABAP 開発者はこうした機能を使用して、HR のデータクラスタへのレポーティングといった高
度なタスクを実行することが可能です。
オープン SQL ドライバの概要
オープン SQL ドライバは、SAP データへの柔軟なアクセスを提供する、SAP BusinessObjects Enterprise XI
Integration for SAP Solutions ドライバの中でも最も強力なドライバです。オープン SQL ドライバでレポートを作
成すると、SAP の透過テーブルやプールテーブル、クラスタテーブル、ビューなどに容易にアクセスできます。
現在、ABAP レポートの作成にかかわっているユーザは、このドライバを利用してレポートを簡単にすばやく作
成できます。
このドライバの高度な機能を使用することにより、ABAP プログラムおよび ABAP データクラスタを使用したレ
ポーティングが可能になります。よって、ABAP 開発者は、HR のデータクラスタを基にしたレポーティングといっ
た、高度なタスクを実行することができます。クラスタ定義ツールは、データのクラスタ定義を追加、編集、削除
する必要のあるユーザに対して、サーバインストールの一部として提供されます。開発者は、ABAP を利用して
レポートの処理を強化することも可能です。
さらに、オープン SQL ドライバは、ユーザがアクセスするデータを保護する機能も提供しています。個々のテー
ブル単位、またはさらに細かいレベルのテーブルの各行単位のいずれかで、制限を設定できます。セキュリティ
定義エディタを使って独自のデータアクセス権限をカスタマイズする方法の詳細については、 『SAP
BusinessObjects Business Intelligence プラットフォームインストールガイド 』の「データアクセスキットのセキュリ
ティの定義」に関する節を参照してください。
オープン SQL ドライバでサポートされるオブジェクト
オープン SQL ドライバは、透過テーブルやプールテーブル、クラスタテーブル、ビュー、ABSP データクラスタ、
ABAP プログラムなどの、SAP 内の下層レベルにあるオブジェクトへのアクセスを提供します。
透過テーブル
この種類のデータベースオブジェクトは、従来のデータベーステーブルに似ています。透過テーブルには、ビ
ジネス上のインテリジェンス情報に由来するほとんどの SAP アプリケーションデータが含まれます。ほとんどの
SAP アプリケーションは、透過テーブルを 1 つ以上使用して、ビジネストランザクションを格納、取得します。こ
れらのテーブルを他の透過テーブルとリンクし、SAP システムの他のアプリケーションエリアから情報を取り出
すことができます。
591
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
プールテーブルとクラスタテーブル
プールテーブルとクラスタテーブルは、他のデータベーステーブルを論理グループ化して作成されます。これ
らのテーブルは主に、アプリケーションの実際のデータではなく、アプリケーションの設定および制御情報を格
納するために使用されます。これらのテーブルは、結合した複数のテーブルの論理的なビューにすぎないた
め、オープン SQL ドライバを介してのみアクセスすることが可能です。ネイティブデータベースアクセスでは、
このデータと同様のビューは提供されません。
ビュー
ビューは、複数のフィールドのある 1 つのテーブルに見えますが、実際は、リンクした複数のテーブルによって
構成されています。ビューによって提供される、さらに抽象的なデータの表示によって、レポート内で複数の
テーブルをリンクさせることを気にせず、レポートを作成できます。ビューは SAP 内で管理され、レポーティング
に使用する前に設定する必要があります。ビューに関する詳しい情報は、SAP のマニュアルを参照してくださ
い。
ABAP データクラスタと ABAP プログラム
ABAP データクラスタおよび ABAP プログラムを使用したレポーティングは、ABAP プログラミング言語に関す
るある程度の知識を必要とする、高度なトピックです。詳細については、594 ページの 「ABAP プログラムを使
用したレポーティング」および598 ページの 「ABAP データクラスタを使用したレポーティング」を参照してくださ
い。
テーブル、ビュー、プログラム、クラスタの選択
オープン SQL ドライバを選択し、有効な SAP ユーザ認証を入力したら、[オプション]ダイアログボックスを使用
して、レポートに追加するテーブル、ビュー、プログラム、またはクラスタを選択します。テーブルの種類や実際
のテーブル名でフィルタできます。この状態では、テーブルは、ビュー、ABAP データクラスタ、および ABAP
プログラムも参照していることに注意してください。
テーブル、ビュー、プログラム、クラスタを選択する
1 Crystal Reports を起動します。
2 開始ページが Crystal Reportsにまだ表示されていない場合は、[開始ページ]タブをクリックします。
3 [新しいレポート]領域で、[空のレポート]をクリックします。
[データベースエキスパート]ダイアログボックスが表示されます。
4 [接続の新規作成]フォルダの[SAP テーブル、クラスタ、プログラム]を展開します。
[SAP システムログオン]ダイアログボックスが表示されます。
5 SAP システムにログオンし、ログオン認証情報を入力し、指示に従って拡張ログオンパラメータを指定しま
す。次に、[完了]をクリックします。
[データベースエキスパート]ダイアログボックスに戻ります。
6 作成した接続を右クリックして、[オプション]を選択します。
[データベース]タブだけの[オプション]ダイアログボックスが表示されます。
592
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
7 データエクスプローラで、レポートで利用可能にするデータの種類のチェックボックスをオンにします。
8 [テーブル名 LIKE]フィールドで、使用できるデータの種類のサブセットだけを選択します。以下のいずれ
の方法でもフィルタリングを行えます。
• 完全なテーブル名か、またはその一部を入力します。
•
ワイルドカードを追加して、複数のクエリまたはインフォセットを選択します。パーセンテージ記号(%)は任
意の数の文字、アンダースコア(_)は任意の 1 文字を示します。ワイルドカード"%"と"_"は、Windows で
使用されるワイルドカード"*"と"?"にそれぞれ相当します。また、ワイルドカード"%"と"_"は、SAP で使用
されるワイルドカード"*"と"+"にそれぞれ相当します。
•
フィールドをクリアして[OK]をクリックし、フィルタなしで処理を進めます。ただし、データエクスプローラ
に表示できるオブジェクト数には制限があることに注意してください。SAP 内のクエリまたはインフォセッ
トの数がこの制限(デフォルトで 8000)を超える場合、メモリ不足のエラーまたは空のデータエクスプロー
ラが表示される場合があります。
9 [テーブルおよびフィールド]領域で、[説明を表示]を選択します。
10 [OK]をクリックします。
データベースエキスパートに、選択したクラスタ、テーブル、またはプログラムと、SAP 管理者によって定義
された内容説明が表示されます。作成したデータ接続の下に 3 つのサブ項目が表示されます。
•
ABAP プログラムモジュール
•
データクラスタ
•
データディクショナリ
11 [利用可能なデータソース]領域で、レポートに追加するテーブル、クラスタ、またはプログラムをダブルクリッ
クします。
ヒント
また、CTRL を押しながら複数のテーブルを選択した後、[>]をクリックすることもできます。
12 [OK]をクリックします。
複数のテーブルをレポートに選択した場合、テーブルのリンク情報も提供する必要があります。詳細について
は、593 ページの 「テーブルとビューのリンク」を参照してください。テーブルを 1 つだけ選択した場合は、これ
でレポートにフィールドを追加する準備ができました。
テーブルとビューのリンク
SAP テーブル(透過テーブル、プールテーブル、クラスタテーブル、ビューなど)を基にしたレポートは、主流
データベースを基にしたレポートと同様に動作します。レポート内に複数のテーブルまたはビューがある場合、
Crystal Reports のデータベースエキスパートの[リンク]タブを使用して、テーブル間の関係を記述する必要が
あります。
SAP が使用している標準のフィールド名の命名規則のため、自動リンク機能(データベースエキスパートのリン
クタブ上にあります)によってテーブル間の不必要なリンクが生成されることがあります。
自動リンクをクリアする
1 [データベース]メニューで、[データベースエキスパート]をクリックします。
593
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
2 [リンク]タブで、[リンクのクリア]をクリックします。
3 [OK]をクリックします。
注
[リンク]タブは、レポートに対して複数のテーブルが選択されている場合に限り、データベースエキスパートに
表示されます。
以下のクライアントフィールドおよび言語フィールド機能は、SAP テーブル特有のものです。
クライアントフィールド
ほとんどの SAP のテーブルにはクライアントフィールドがあり、そのネイティブフィールド名は MANDT です。
複数のクライアントのデータを保持するよう各 SAP システムを設定できるため、クライアントフィールドは、どのク
ライアントのテーブルのどのデータ行であるかを指定します。オープン SQL ドライバは、この設定を自動的に
処理します。SAP に接続すると、クライアント番号の入力を要求されます。この情報によって、クライアントをフィ
ルタする選択式の作成の必要がなくなります。また、レポートに複数のテーブルがある場合でも、クライアント
フィールドにリンクを含む必要がなくなります。この処理もオープン SQL ドライバが自動で行います。
言語フィールド
SAP 内の一部テーブル(特にテキスト記述が含まれているもの)には、SAP システムにインストールされている言
語に 1 つずつ、複数のエントリがあります。結果として、このようなテーブルには、[言語キー](ネイティブフィー
ルド名は SPRAS)に選択式を作成し、表示する言語を指定する必要があります。以下はその例です。
{table.spras} = "E"
テーブルのリンクおよび一般的なレポートのデザインの詳細については、 『Crystal Reports オンラインヘルプ
』を参照してください。
ABAP プログラムを使用したレポーティング
ABAP プログラムを使用したレポーティングは、ABAP プログラミング言語に関する知識を必要とする高度なト
ピックです。
ABAP プログラムは、厳密にはテーブルでなく、SAP レポーティングで計算機能の提供に広く使用されます。
たとえば、従業員番号を渡してその従業員の住所を取得するというように、プログラムにパラメータを渡してデー
タを取得することができます。このため、オープン SQL ドライバには、戻り値の型をあらかじめ定義した ABAP
プログラムを呼び出して、その結果を表示する機能があります。複雑な前処理をデータの表示前に実行する必
要がある場合や、クエリのパフォーマンスの最適化を進めたい場合にも、ABAP プログラムは役に立ちます。
操作方法
592 ページの 「テーブル、ビュー、プログラム、クラスタの選択」の手順に従い、プログラムを選択します。データ
ベースエキスパートの[利用可能なデータソース]領域で、[ABAP プログラムモジュール]を右クリックし、[オプ
ション]を選択します。[テーブル名 LIKE]フィールドに、関数の名前のすべてまたは一部を入力します。プログ
ラムをレポートに追加すると、データベースエキスパートの[リンク]タブにテーブルのように表示されます(レポー
トには、既にテーブルまたはプログラムが 1 つ以上追加されていると仮定します)。すべての入力および出力パ
ラメータは、テーブルのフィールドとして表示されます。
594
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
他のテーブルのフィールドにリンクする、またはレコード選択式に追加することにより、入力パラメータを指定し
ます。プログラムの出力が 1 つ以上のテーブルの場合、この仮想テーブルには、すべてのテーブルの値から
複合生成された行が含まれます。プログラムの出力が 1 つ以上の値または構造インスタンスの場合、この仮想
テーブルには、すべての値/構造値を含んだ 1 つの行になります。
制限
レポートに使用するプログラムは、次の 2 つの条件を満たしている必要があります。
•
各出力パラメータの戻り値の型が定義されている。
•
入力パラメータに全テーブルを使用していない。
注
1 つめの条件を満たしていないプログラムがある場合、定義された戻り値の型のラッパー関数を作成し、元の
プログラムをそのラッパー関数から呼び出します。
すべてのプログラムを呼び出す機能はサポートされていません。個々のプログラムのみを呼び出すことができ
ます。
例
次の例は、オープン SQL ドライバから呼び出し可能な、異なる種類の ABAP プログラムと、Crystal Reports 内
でそれらがどのように表示されるかを示したものです。
入力値、出力値と、入力/出力(CHANGING)パラメータのあるプログラム
Function F
IMPORTING
VALUE(NAME) TYPE C
VALUE(DEPARTMENT) TYPE C
EXPORTING
VALUE(Years_of_service) TYPE I
VALUE(Age) TYPE I
CHANGING
DATEFIELD TYPE D
このプログラムは、F というテーブルとして、以下のスキーマで表示されます。
595
フィールド
型
名前
文字列
Department
文字列
Years_of_service
整数
Age
整数
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
フィールド
型
DateField_In
日付
DateField_Out
日付
Name、Department および DateField_In の各フィールドを使用する場合、これらを他のテーブルにリンクする
か、レコード選択式で指定する必要があります。
たとえば、T というテーブルに予算をオーバーした部署が含まれる場合、{T.Department} を {F.Department} に
リンクし、レコード選択式を {F.Name} = "Richard" and DateField = Date(1999,04,14) と指定します。この式は、
1999 年 4 月 14 日時点で予算をオーバーした部署に属する、Richard という名前の人すべての勤続年数、年
齢、および開始日を 取得します。
入力と出力の構造のあるプログラム
Function F
IMPORTING
VALUE(ADDRESS) LIKE S_ADDR STRUCTURE S_ADDR
EXPORTING
VALUE(CONTACTINFO) LIKE S_CINFO STRUCTURE S_CINFO
S_CINFO is defined as:
PHONE(20) TYPE C
EMAIL(100) TYPE C
S_ADDR is defined as:
STREET(100) TYPE C
ZIPCODE(6) TYPE N
このプログラムは、F というテーブルとして、以下のスキーマで表示されます。
フィールド
型
Address.street
文字列
Address.zipcode
整数
ContactInfo.Phone
文字列
ContactInfo.email
文字列
前の例と同様に、street フィールドおよび zip code フィールドを他のテーブルにリンクするか、これらをレコード
選択式で定義する必要があります。
596
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
テーブルを出力するプログラム
Function F
IMPORTING
VALUE(NAME) TYPE C
EXPORTING
VALUE(GENDER) TYPE C
TABLES
POSITIONS STRUCTURE S_POSN
S_POSN is defined as:
TITLE(20) TYPE C
STARTDATE TYPE D
このプログラムは、名前を引数とし、その人物の年齢とポジションを返します。Tom という男性がいて、Tom に
対して F から返された Position のテーブルが次のとおりだったとします。
Title
StartDate
Mail Clerk
1/1/93
Manager, Mail
3/4/95
VP, Mail
7/12/98
このプログラムが呼び出されると、結果は F というテーブルで返され、その内容は次のとおりです。
Name
Gender
Positions.Title
Positions.StartDate
Tom
M
Mail Clerk
1/1/93
Tom
M
Manager, Mail
3/4/95
Tom
M
VP, Mail
7/12/98
複数のテーブルを出力するプログラム
Function F
IMPORTING
VALUE(NAME) TYPE C
EXPORTING
VALUE(GENDER) TYPE C
TABLES
POSITIONS STRUCTURE S_POSN
OPTIONS STRUCTURE S_OPTN
S_POSN is defined as before and S_OPTN is defined as:
597
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
GRANTDATE TYPE D
NUMBER TYPE I
Position のデータは前の例と同じで、Option テーブルが次のとおりだとします。
GrantDate
Number
4/4/93
1000
5/6/97
15300
このプログラムが呼び出されると、結果は F というテーブルで返され、その内容は次のとおりです。
Positions.
Options.
Options.
StartDate
GrantDate
Number
Mail Clerk
1/1/93
4/4/93
1000
M
Manager, Mail
3/4/95
4/4/93
1000
Tom
M
VP, Mail
7/12/98
4/4/93
1000
Tom
M
Mail Clerk
1/1/93
5/6/97
15300
Tom
M
Manager, Mail
3/4/95
5/6/97
15300
Tom
M
VP, Mail
7/12/98
5/6/97
15300
Name
Gender
Positions.Title
Tom
M
Tom
ABAP データクラスタを使用したレポーティング
ABAP データクラスタによるレポートは、ABAP プログラミング言語に関する知識を必要とする高度なトピックで
す。
データクラスタとは
人事モジュールはほとんどの SAP システムとは異なり、透過テーブル、プールテーブル、クラスタテーブルと
いったデータディクショナリテーブルではなく、ABAP データクラスタにデータを格納します。データクラスタは、
実際には複数の透過テーブルに格納されます。こうした透過テーブルは、多くの異なる種類のクラスタを含む
598
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
ことができます。データの各クラスタは、エンコードされたバイナリフィールドに保存されます。1 つのクラスタに
は、個々のコンポーネントや、1 つの値から構造、テーブルに至るデータの断片を含めることができます。
ABAP の IMPORT コマンドを実行することにより、ABAP プログラム内のデータクラスタにアクセスすることがで
きます。このコマンドでは、クラスタデータベース名、クラスタ ID などのパラメータの他、インポート対象のデー
タのリストを使用します。また、IMPORT コマンドは、データクラスタの内容を、呼び出しコード内のローカル変
数にコピーします。クラスタデータを含む典型的な透過テーブルは、次のような構造を持ちます。
クライアント
領域
キー
行カウンタ
ユーザデー
タ
データ長
データクラス
タ
透過テーブルの名前とエリアの組み合わせはインポートするクラスタの種類を指定し、キーは特定のクラスタを
指定します。人事モジュールでは、ほとんどの場合、クラスタキーは社員番号と他のフィールドとの組み合わせ
になります。このキーは 1 つのテキストフィールドに格納されますが、実際には複数の論理キーフィールド(たと
えば、社員番号と人事給与支払いデータの通し番号など)を指している場合があります。
操作方法
一般的なリレーショナルデータアクセスの観点から見た、クラスタでの作業の難しい点は、クラスタの定義が
ABAP ディクショナリのようなリポジトリに格納されないことにあります(透過テーブル、プールテーブル、クラスタ
テーブルなどの定義とは異なります)。さらに、このようなクラスタの形式は、カスタマイズによってサイトごとに異
なることもあります。また、リレーショナル感覚で、これらをテーブルとしてマップすることは根本的に困難です。
それは、データがリレーショナルに表されているにもかかわらず、階層のような形で独自のクラスタに格納され
ているためです。
こうした問題を解決するには、データクラスタの個別のコンポーネントは、テーブルとしてマップされる必要があ
ります。これは、特定の SAP システム上にクラスタのディクショナリを作成して行います。
ABAP データクラスタのマッピング
クラスタ定義ツール(トランザクション ZCDD)を使用して、SAP システムにデータクラスタのディクショナリを作成
することができます。データ クラスタをこのディクショナリに追加すると、Crystal Reports 内でこのクラスタを選択
し、オープン SQL ドライバでこのデータを使用したレポーティングが行えます。クラスタ定義ツールに入力する
前に、クラスタの定義を R/3 内で見つける必要があるため、ABAP プログラミングの経験が必要となります。
次の一連の手順では、クラスタ定義ツールを使用して SALDO テーブル (期間ごとの残り時間) をデータクラス
タのディクショナリにマップする方法を示しています。SALDO テーブルは、PCL2 (HR cluster 2) 透過テーブル
に格納されている ABAP データ クラスタの B2 (PDC Data (Month)) クラスタ領域にあります。ここでは、PCL2
はクラスタ データベース、B2 はクラスタ領域またはタイプ、SALDO はテーブルです。以下の手順は、SAP R/3
4.6b に関するものです。
新しいクラスタエントリをディクショナリに作成する
ここでは、ディクショナリに新しいクラスタエントリを定義する手順について説明します。
599
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
新しいクラスタエントリをディクショナリに作成する
1 SAPGUI から、トランザクション ZCDD を実行します。
クラスタ定義ツールの[クラスタ ID テーブルの表示]画面が表示されます。
2 [追加]をクリックして新しいエントリを作成します。
[クラスタ ID レコード編集]画面が表示されます。
3 [クラスタデータベース]フィールドに、ABAP データクラスタが格納されているテーブルの名前を入力します。
この例では、「PCL2」と入力します。
注
必要な ABAP データクラスタのある透過テーブルを見つけるには、使用しているモジュールの責任者など
に問い合わせます。または、RPC11XE0 のような SAP レポートなど、特定のプログラムからデータを検出す
る場合、ABAP コードからテーブルを探します。テーブルを見つけたら、RELID フィールド内のデータのク
ラスタ領域のリストを検索します。
4 [クラスタ領域]フィールドに、クラスタ 領域または RELID 名を入力します。
この例では、「B2」と入力します。
5 [保存]をクリックし、クラスタ定義ツールを終了します。
次にクラスタ領域のキーを見つける必要があります。特に、キー フィールドが格納されているディクショナリ構造
またはテーブルの名前、およびキー フィールドの名前が必要になります。クラスタ領域のキーフィールドを見つ
ける方法は、次の600 ページの 「クラスタ領域のキーフィールドを検出する」の節を参照してください。
クラスタ領域のキーフィールドを検出する
ここでは、前節599 ページの 「新しいクラスタエントリをディクショナリに作成する」で作成した新しいクラスタエン
トリに基づいて、クラスタ領域のキーフィールドを検出する手順について説明します。
SAP 内には、この情報を検索するいくつかの方法があります。この例では、オブジェクトナビゲータを使用して、
B2 クラスタ 領域のキーの情報を探します。
クラスタ領域のキーフィールドを見つける
1 トランザクション SE80 を実行し、オブジェクトナビゲータにアクセスします。
2 [プログラム]をリストから選択し、クラスタ領域に関連したキーの情報のあるプログラムの名前を入力します。
この例では、「RPCLSTB2」と入力します。これは、B2 クラスタ領域のキー情報が保存されているプログラム
名です。
3 Enterキーを押します。
オブジェクトナビゲータに指定したプログラムの情報が表示されます。
4 [オブジェクト名]の一覧にある[フィールド]フォルダを展開します。
5 クラスタ領域のキーに対応したエントリをダブルクリックします。
600
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
この例では、B2-KEY エントリをダブルクリックします。
適切な ABAP コードが表示されます。
6 ABAP コード内で、クラスタ領域のキーの開始を示す見出しを探し、それに続く行でインクルードされている
構造を記録します。
この例では、DATA BEGIN OF B2-KEY の見出し以下に、INCLUDE STRUCTURE PC2B0の行があります
(上のイメージでハイライトされています)。これは、PC2B0 構造にキーのフィールドがあることを示していま
す。
キーフィールドのある構造の名前が見つかったので、次に、これらのキーフィールドの名前を決定する必要
があります。
7 R/3 に新しいセッションを作成し、トランザクション SE11 を実行して ABAP ディクショナリにアクセスします。
[ABAP ディクショナリ: 第一]画面が表示されます。
8 DB テーブル を選択して、キーフィールドのある構造の名前を入力します。
この例では、「PC2B0」と入力します。
9 [照会]をクリックします。
[ディクショナリ: 構造照会]画面が表示されます。
10 [コンポーネント]列に表示されているキーフィールドの名前を記録します。
ここでは、PERNR、PABRJ、PABRP、CLTYP の 4 つのキーフィールドがあります。
このキー フィールドを、クラスタ定義ツール内の新しいディクショナリのエントリに追加する必要があります。キー
フィールドをディクショナリエントリに追加するには、次の601 ページの 「キーフィールドをディクショナリエントリ
に追加する」の節を参照してください。
キーフィールドをディクショナリエントリに追加する
ここでは、前節600 ページの 「クラスタ領域のキーフィールドを検出する」で検出したキーフォルダに基づいて、
ディクショナリのエントリにキーフォルダを追加する手順について説明します。
以下は、B2 クラスタ領域用に作成したディクショナリのエントリに 4 つのキーフィールドを追加する手順です。
キーフィールドをディクショナリエントリに追加する
1 SAP Easy Access 画面で、トランザクション ZCDD を実行してクラスタ定義ツールにアクセスします。
2 [クラスタ ID テーブル参照]画面で、作成した新しいエントリを選択します。
この例では、PCL2 B2 を選択します。
3 [編集]をクリックします。
[クラスタレコード参照]画面が表示されます。
4 [新規クラスタキー]ボタンをクリックします。
[クラスタキーレコード編集]画面が表示されます。
601
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
5 [キー番号]フィールドに、指定するキーフィールドの通し番号を入力します。
この例では、「001」と入力します(このクラスタ領域の最初のエントリ)。
6 [キー名]フィールドに、Crystal Reportsでこのキーフィールドを使用する際に表示させる名前を入力します。
この例では、「K_PERNR」と入力します。
ヒント
通常、命名規則に従います。たとえば、この例のように、キーフィールド名を「K_」で開始することによって、
キーフィールドであることを示します。
7 [参照テーブル]フィールドを使用して、他のテーブル内の同じ型の既存のフィールドを参照することにより、
キーフィールドのデータ型を定義します。
この例では、参照フィールドのある構造の名前である「PC2B0」と入力します。
8 [参照フィールド] フィールドに、参照するフィールドの名前を入力します。このフィールドは参照テーブル内
にある必要があります。
この例では、「PERNR」と入力します。
注
このキーフィールドが、データディクショナリで定義されていない場合、または既存のフィールドへの参照に
よって定義されていない場合、キーフィールドのデータ型を定義するために、ABAP の型および長さを手動
で指定することができます。この例では、キーフィールドは参照によって定義されているため、[ABAP タイ
プ]と[長さ]のフィールドを無視することができます。
9 [保存]をクリックした後、[戻る]をクリックして、クラスタレコード参照に戻ります。
10 キーの各フィールドに対して、4 から 9 までの手順を繰り返します。このクラスタ領域の新しいキーフィール
ドを定義するたびに、[キー番号]フィールドの通し番号が 1 つずつ増えていることを確認してください。
この例では、各フィールドの値は次のようになります。
キー番号
キー名
参照テーブル
参照フィールド
002
PABRJ
PC2B0
PABRJ
003
PABRP
PC2B0
PABRP
004
CLTYP
PC2B0
CLTYP
すべての定義を入力すると、[クラスタレコード参照]画面は次のようになります。
次に、アクセスするテーブルの構造を特定する必要があります。この例では、対象となるテーブルは SALDO
です。SALDO テーブルの構造を SAP で特定するには、いくつかの方法があります。次の節603 ページの 「ク
ラスタテーブルの構造を特定する」では、そのうちの 1 つの方法を説明します。
602
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
クラスタテーブルの構造を特定する
ここでは、前節で作成したクラスタエントリに基づいて、クラスタテーブルの構造を特定する手順について説明
します。この例では、再びオブジェクトナビゲータを使用して、SALDO テーブルに関する必要情報を検出しま
す。
クラスタテーブルの構造を特定する
1 SAP Easy Access 画面で、トランザクション SE80 を実行してオブジェクトナビゲータにアクセスします。
2 [プログラム]をリストから選択し、クラスタ領域に関連したキーの情報のあるプログラムの名前を入力します。
この例では、「RPCLSTB2」と入力します。これは、B2 クラスタ領域と SALDO テーブルのキー情報が保存
されているプログラム名です。
3 [オブジェクト名]の一覧にある[フィールド]フォルダを展開します。
4 アクセスするテーブル名に対応したエントリをダブルクリックします。
この例では、SALDO エントリをダブルクリックします。
適切な ABAP コードが表示されます。
5 ABAP コード内で、テーブルの開始を示す見出しを探し、それに続く行でインクルードされている構造を記
録します。
この例では、DATA BEGIN OF SALDO OCCURS 50 の見出し以下に、INCLUDE STRUCTURE PC2B5の
行があります(上のイメージでハイライトされています)。これは、PC2B5 構造が SALDO テーブルのフィール
ドを定義していることを示しています。
これで、レポーティングするテーブルのフィールドを定義している構造を特定できました。次に、この情報を新
しいディクショナリエントリに追加する必要があります。追加手順については、603 ページの 「テーブルをディク
ショナリエントリに追加する」を参照してください。
テーブルをディクショナリエントリに追加する
ここでは、前節603 ページの 「クラスタテーブルの構造を特定する」で作成したクラスタテーブルの構造に基づ
いて、ディクショナリのエントリにテーブルを追加する手順について説明します。
テーブルをディクショナリエントリに追加する
1 SAP Easy Access 画面で、トランザクション ZCDD を実行してクラスタ定義ツールにアクセスします。
2 [クラスタ ID テーブル参照]画面で、新しいエントリを選択します。
この例では、PCL2 B2 を選択します。
3 [編集]をクリックします。
4 [クラスタレコード参照]画面で、[新規クラスタデータ]をクリックします。
[クラスタデータレコード編集]画面が表示されます。
5 [項目名]フィールドに、クラスタ領域に表示されるテーブルの名前を入力します。
603
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
この例では、「SALDO」と入力します。
6 [表示名]フィールドに、Crystal Reports に表示させるテーブル名を入力します。
この例では、「B2SALDO」と入力します。
ヒント
通常、命名規則を使用します。たとえば、ここで行ったように、テーブル名をクラスタ領域の名前と組み合わ
せます(他のクラスタ領域に SALDO テーブルが存在するかもしれないため)。
7 [Piece Class]フィールドに、テーブル(T)、構造(S)、基本(B)タイプの中から、このデータ項目に適した略号タ
イプを入力します。
この例では、「T」と入力します。
8 [参照テーブル]フィールドを使用して、他のテーブル内の同じ型の既存の構造を参照することにより、新し
いデータ項目の構造を定義します。
この例では、「PC2B5」と入力します。
注
この例では、残りのフィールド(参照フィールド、ABAP タイプ、長さ)を入力する必要はありません。これらの
フィールドは、テーブルの構造がデータディクショナリに定義されていない場合に、固有の情報を追加する
ために使用します。
9 [保存]をクリックした後、[戻る]をクリックして、[クラスタレコード参照]に戻ります。
これですべての定義を入力したので、クラスタ定義ツールの新しいディクショナリエントリの作成は完了で
す。[クラスタレコード参照]画面が表示されます。
オープン SQL ドライバでの新しいレポートの作成時には、B2SALDO という名前のテーブルを検索することに
より、カスタマイズされた ABAP データクラスタによるレポーティングが可能です。
各データクラスタの定義には時間がかかりますが、一度すべての定義が完了すると、ABAP 経験の有無にか
かわらず、あらゆるユーザがこのクラスタにアクセスできるようになることに注意してください。
オープン SQL ドライバのセキュリティを定義する
ここでは、オープン SQL ドライバを使って特定の SAP テーブルにアクセスする際、セキュリティ定義エディタを
使用して、SAP テーブルのテーブルレベル、および行レベルのセキュリティを定義する方法について説明しま
す。セキュリティ定義エディタを利用すると、オープン SQL ドライバのデプロイ時にも、現在の SAP セキュリティ
レベルを維持することができます。
セキュリティ定義エディタの概要
データアクセスコンポーネントをデプロイし、データベースドライバを配布すると、SAP ユーザは、SAP R/3 シス
テム、mySAP ERP システム、および BW システムに格納されているデータにアクセスすることが可能になりま
す。デフォルトで、オープン SQL ドライバはオープンなレポーティング環境を提供しているため、データへのア
クセス制限はありません。ただしこのデフォルトの動作は、セキュリティ定義エディタのグローバルロック機能に
よって、簡単に反転することができます。この機能はまず、ユーザに対して、すべての SAP テーブルへのアク
セスを制限します。
604
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
SAP データへのユーザのアクセスを規制するセキュリティモデルをデプロイする必要がある場合、セキュリティ
定義エディタ(トランザクション /CRYSTAL/RLS)を使用して、テーブルレベルおよび行レベルでデータアクセス
を制限します。セキュリティ定義エディタでは、透過テーブル、プールテーブル、クラスタテーブルおよび、PCL2
のようなデータクラスタを含むテーブルに対するセキュリティを定義します。ここで指定した制限は、ユーザが
オープン SQL ドライバを使用して、Crystal レポートの作成、最新表示、スケジュールを実行するとき SAP に
接続するたびに適用されます。したがって、R/3、mySAP ERP、または BW に対して Crystal レポートを作成、
最新表示、またはスケジュールするには、ユーザはそのレポートが参照しているすべてのテーブルに対するア
クセスが必要となります。
セキュリティ定義エディタを使用して定義したデータアクセス制限は、クライアント単位で適用されます。つまり、
適用する制限は、制限の定義に使用したクライアントと同じクライアントを使って SAP にアクセスするすべての
ユーザに影響します。
旧バージョンの BusinessObjects Enterprise では、データアクセス制限はクライアントに依存していませんでし
た。このツールの旧バージョンを使用して定義した制限を保持する場合は、処理を続行する前に605 ページの
「既存のセキュリティモデルの移行」の手順を実行します。
注
セキュリティ定義エディタはセキュリティ定義エディタ移送によって提供されており、データアクセスのセットアッ
プ時に、お使いの SAP システムにインポートされます。
既存のセキュリティモデルの移行
旧バージョンの SAP BusinessObjects XI Integration を使ってトランザクション ZRLS で定義したデータアクセ
ス制限を継続して使用する場合は、/CRYSTAL/RLS を使用してクライアント依存の形にこれらの制限をイン
ポートすることができます。/CRYSTAL/RLS を使用して追加の制限を登録または変更する前に、これらのデー
タ制限をインポートします。/CRYSTAL/RLS を使って行ったすべての変更は、グローバルな制限をインポート
すると上書きされます。
グローバルなデータアクセス制限を追加のクライアントに適用するには、これらの制限をクライアントごとに 1 回
ずつインポートします。
データアクセス制限を移行する
1 SAP システムでトランザクション /CRYSTAL/RLS を実行します。
2 [Extras]メニューの[ グローバルデータのインポート]を選択します。
ダイアログが表示され、これらの制限をインポートすると /CRYSTAL/RLS を使って定義した制限はすべて
上書きされるという警告が示されます。
3 [はい]をクリックします。
クライアントに依存しないグローバルなデータアクセス制限がインポートされます。
テーブルレベルのセキュリティモデルの選択
柔軟性を強化するために、セキュリティ定義エディタはグローバルロック機能を提供します。この機能では、次
のいずれかの方法で、データアクセスのセキュリティモデルの基準を定義することができます。
•
605
グローバルロック無効
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
このオープンセキュリティモデルは、初期状態で、すべてのユーザに対してすべてのテーブルへのアクセ
スを許可します。このモデルをカスタマイズして現在の SAP セキュリティ設定にマッチさせるために、ユーザ
の特定のテーブルへのアクセスを、テーブル単位で制限することができます。データアクセスをデプロイし
た初期の状態では、グローバルロックはデフォルトで無効となっています。
•
グローバルロック有効
このクローズドセキュリティモデルは、初期状態では、すべてのユーザに対してすべてのテーブルへのアク
セスを拒否します。このモデルをカスタマイズして現在の SAP セキュリティ規則にマッチさせるために、ユー
ザの特定のテーブルへのアクセスを、テーブル単位で許可することができます。また、グローバルロックが
有効な場合、ユーザがレポートで使用できるカスタム関数のリストを指定することもできます。
グローバルロックを有効または無効に設定した後、特定のテーブルのデータアクセス権限をカスタマイズして、
セキュリティモデルを改良することができます。
グローバルロックを有効/無効にする
1 SAPGUI からトランザクション /CRYSTAL/RLS を実行します。
セキュリティ定義エディタが表示されます。
606
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
2 ここでは、次の 2 つのオプションがあります。
• グローバルロックを有効にする場合、[上の指定テーブルのみにアクセスを許可する]をオンにします。
•
グローバルロックを無効にする場合、[上の指定テーブルのみにアクセスを許可する]をオフにします。
オープンベースまたはクローズドベースのセキュリティモデルを選択したため、ここから特定のユーザおよびテー
ブルの権限をカスタマイズして、お使いの SAP セキュリティの規則にマッチするよう、データアクセスを許可ま
たは非許可にします。
特定のテーブルの権限のカスタマイズ
グローバルロック機能を有効または無効にした場合に、いくつかの SAP テーブルのデータアクセス権限のカス
タマイズが必要となることがあります。グローバルロックを有効にした場合は、特定のテーブルへのアクセスを、
すべてまたは一部のユーザに許可する必要があるかもしれません。アクセスがなければ、ユーザは SAP シス
607
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
テムでレポートを作成したり最新表示したりできません。逆に、グローバルロックを無効にした場合は、機密デー
タのあるテーブルへのアクセスを、すべてまたは一部のユーザに対して制限する必要があるかもしれません。
いずれの場合も、テーブルを保護したり、あるいはテーブルへのアクセスを許可したりするために、目的に応じ
た権限オブジェクトを使用する必要があります。新規の権限オブジェクトをカスタマイズすることも、既存のオブ
ジェクトを再利用することも可能です。そして、セキュリティ定義エディタを使用して、権限オブジェクトを対象の
テーブルに関連付けします。最後に、新しい権限オブジェクトを、現在のユーザプロファイルまたはロールの設
定に組み込みます。
基本的には、権限オブジェクトを SAP テーブルに関連付けることによって、そのテーブルが、セキュリティ定義
エディタでのグローバルロックの設定に対する例外であると定義することになります。すなわち、権限オブジェ
クトをテーブルに関連付けると、グローバルロックの設定に関わりなく、そのテーブルはすべてのユーザから保
留されます。特定のユーザに SAP テーブルへのアクセスを提供するためには、通常の SAP セキュリティ規則
に従って、権限オブジェクトを使用する必要があります。
特定のテーブルの権限をカスタマイズする
1 新しい権限オブジェクトを作成します。
この例では、TABLE という権限フィールドが 1 つある、ZTABCHK という権限オブジェクトを作成します。権
限 ZTABCHK は、一部の特定のユーザ以外のすべてのユーザから VBAK テーブルを保護するために使
用されます。
注
トランザクション SU21 を使用して権限オブジェクトを作成するか、権限オブジェクト作成についての詳細情
報のために、SAP ヘルプを参照します。
2 SAP からトランザクション /CRYSTAL/RLS を実行します。
[セキュリティ定義エディタ]画面が表示されます。
608
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
ここで、新しい権限オブジェクトを SAP テーブルに関連付けします。
3 [テーブル名]フィールドに、セキュリティ定義をカスタマイズするテーブルの名前を入力します。
この例では、「VBAK」と入力します。
4 [作成]をクリックします。
[権限エントリ]画面が表示されます。
609
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
5 [作成]をクリックします。
[権限オブジェクトエントリ]ダイアログボックスが表示されます。
6 [権限オブジェクトの参照]をクリックします。
[権限オブジェクトエントリ]画面が表示されます。
610
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
7 [権限オブジェクト名]フィールドに、手順 1 で作成した権限オブジェクトの名前を入力します。
この例では、「ZTABCHK」と入力します。
8 [作成]をクリックします。
[権限フィールド]画面が表示されます。
611
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
9 [フィールド値]リストに、セキュリティ定義をカスタマイズするテーブルの名前を入力します。
この例では、「VBAK」と入力します。
10 [保存]をクリックします。
これで、カスタマイズした権限オブジェクトを、特定の SAP テーブルに関連付けることができました。
11 セキュリティ定義エディタを終了します。
12 通常の手順に従って、新しい権限オブジェクトを、ユーザプロファイルまたはロールの設定に組み込みま
す。
たとえば、この例では、ZTABCHK 権限オブジェクトを VBAK テーブルへのアクセスを必要とする一部の
ユーザに適用することになります。
ご使用の R/3 または mySAP ERP のバージョン、および既にデプロイされている SAP 権限モデルによっ
て、その実行方法は異なります。
•
新しい権限オブジェクトを、各ユーザのセキュリティプロファイルを追加する新しいロールに添付する。
•
新しい権限オブジェクトを、各ユーザのセキュリティプロファイルを追加する新しいプロファイルに添付す
る。
最終的には、権限はマスタユーザデータに追加されるため、データベースドライバは、このカスタマイズされ
たデータアクセス制限を厳守することになります。
注
使用する方法にかかわらず、新しい権限が、その TABLE フィールド値に正しいデータベーステーブルの
名前を保持していることを確認してください。この例では、VBAK テーブルが指定されている必要がありま
す。
612
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
特定の関数の権限のカスタマイズ
グローバルロック機能が無効な場合、レポート作成者は、SAP システム上の各関数を自由に呼び出すことが可
能となります。レポーティングに利用可能な関数を制限するためには、グローバルロックを有効にします。これ
によって、ユーザが SAP システム上の関数を呼び出すことを制限します。/CRYSTAL/AUTHFCN テーブル
に、グローバルロックへの例外となる関数のリストを指定することができます。つまり、ユーザが呼び出すことが
可能な関数のリストを指定できます。関数のリストを表示するには、/CRYSTAL/RLS ツールを使用し、[Extras]
> [関数モジュール]に移動します。
グループ単位でのテーブル権限の定義
セキュリティ定義エディタは、類似のセキュリティレベルを必要とするテーブルに対し、テーブル権限を簡単に
定義する 2 つの方法を提供しています。
•
テーブルに、既にデータアクセス権限を定義した別のテーブルを参照させることができます。
[定義済みテーブル/グループの参照]オプションは、テーブルの権限エントリの作成時にセキュリティ定義
エディタに表示される、[追加する権限エントリのタイプの指定]画面内にあります。
•
複数のテーブルに、セキュリティテンプレートとして機能するグループテーブルを参照させることができます。
グループテーブルを作成するには、トランザクション /CRYSTAL/RLS を実行し、エディタで存在しないテー
ブルの名前を指定します。指定したテーブルが存在しない場合、グループまたはテンプレートを作成して
いると、エディタに解釈されます。すべての定義がリストされたメイン画面は、テーブルタイプをグループと表
示します。これで、既存のテーブルにこのセキュリティテンプレートを参照させることにより、セキュリティレベ
ルを共有できます。
行レベルのセキュリティの適用
テーブルレベルでのセキュリティは、SAP ユーザのセキュリティ権限に相当した方法でデータを保護することが
できない場合もあります。たとえば、すべてのユーザに対して、特定のテーブルへのアクセスを許可する一方
で、同時に一部のユーザに対して、そのテーブルのある部分のデータへのアクセスを制限する必要がある場
合が考えられます。これを実現するためには、セキュリティ定義エディタを使用して、データの各行に追加のセ
キュリティレベルを定義します。
一般的に、行レベルのセキュリティはテーブル内の特定のフィールドを基にします。たとえば、売上テーブル内
の全顧客データの表示を、ユーザから制限したい場合が考えられます。こうした制限を実現するには、権限オ
ブジェクトを作成し、セキュリティ定義エディタを使用して、このオブジェクトを売上テーブルの顧客フィールドに
関連付けします。そして、この新しい権限オブジェクトの各ユーザのプロファイルまたはロールへの適用時に、
許可されたユーザに売上レコードを表示する顧客を値で指定します。ユーザが売上テーブルに対してレポー
トを作成または最新表示すると、指定した顧客のデータのみが返されます。
権限オブジェクトを SAP テーブル内の項目に関連付けることは、実質的にそのテーブルが、セキュリティ定義
エディタで行ったグローバルロックの設定に対する例外であると定義することになります。すなわち、権限オブ
ジェクトをフィールドに関連付けると、グローバルロックの設定に関わりなく、親テーブルがすべてのユーザから
保護されます。特定のユーザに SAP テーブル内のデータの行へのアクセスを提供するためには、通常の SAP
セキュリティ規則に従って、権限オブジェクトを使用する必要があります。
テーブル内の行は、権限オブジェクト、カスタム関数、またはその両方を使用して保護することができます。
613
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
権限オブジェクトを使用して行を保護する
テーブルの行レベルのセキュリティを定義するには、権限オブジェクトを作成し、セキュリティ定義エディタを使
用してこのオブジェクトをテーブルのフィールドの 1つに関連させることができます。この新しい権限オブジェク
トを、このテーブルのデータへのアクセスを必要とする SAP ユーザのロールまたはプロファイルに適用します。
権限オブジェクトの適用時に、各ユーザにアクセスを許可するデータの行を指定します。
権限オブジェクトを使用して行レベルのセキュリティを定義する
1 新しい権限オブジェクトを作成します。
この例では、BUKRS という 1 つの権限フィールドから成る Z_BUKRS という権限オブジェクトを作成します。
この権限は、BUKRS(会社コード)フィールドの値に基づいた GLT0 テーブルの保護に使用されています。
注
トランザクション SU21 を使用して権限オブジェクトを作成するか、権限オブジェクト作成についての詳細情
報のために、SAPGUI ヘルプを参照します。
2 トランザクション /CRYSTAL/RLS を実行し、セキュリティ定義エディタにアクセスします。
3 [テーブル名]フィールドに、保護したい行のあるテーブルの名前を入力します。
この例では、「GLT0」と入力します。
注
これで、ワイルドカードを使用してテーブル名を指定できます。ワイルドカードは、類似した名前を持つ複数
のテーブルに対して同時に権限を適用する場合に効率的です。* は 0 以上の任意の長さの文字の指定
に、+ は任意の 1 文字の指定に使用します。
4
5
6
7
8
[作成]をクリックします。
[権限エントリ]画面で、[登録]をクリックします。
[追加する権限エントリのタイプの指定]画面で、[権限オブジェクトへの参照]をクリックします。
[OK]をクリックして、[権限オブジェクトエントリ]画面にアクセスします。
[権限オブジェクト名]フィールドに、手順 1 で作成した権限オブジェクトの名前を入力します。
この例では、「Z_BUKRS」と入力します。
9 [作成]をクリックします。
[権限フィールド]画面が表示されます。
10 [フィールド値]リストに、保護したいフィールドの名前を、等号(=)に続けて入力します。
この例では、「=BUKRS」と入力します。
ヒント
使用可能なフィールドのリストを表示するには、[フィールド値]リストを右クリックし、ショートカットメニューの
[入力可能値]をクリックします。目的のフィールド(ここでは、BUKRS)をダブルクリックし、それを等号(=)に続
けて挿入します。
11 [保存]をクリックします。
12 セキュリティ定義エディタを終了します。
614
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
13 通常の手順に従って、新しい権限オブジェクトを、適切なユーザのプロファイルまたはロールに適用します。
たとえば、この例では、Z_BUKRS 権限オブジェクトを、GLT0 テーブル内のデータの行へのアクセスを必要
とするユーザに適用します。権限オブジェクトを適用する際に、適切な会社コード値を BUKRS 権限フィー
ルドに入力します。すると、この会社コードに指定されたユーザが、アクセスを許可されます。
ご使用の R/3 または mySAP ERP のバージョン、および既にデプロイされている SAP 権限モデルによっ
て、その実行方法は異なります。
•
新しい権限を、各ユーザのセキュリティプロファイルを追加する新しいロールに添付する。
•
新しい権限を、各ユーザのセキュリティプロファイルを追加する新しいプロファイルに添付する。
最終的には、権限はマスタユーザデータに追加されるため、データベースドライバは、このカスタマイズされ
たデータアクセス制限を厳守することになります。
カスタムセキュリティ Exit を使用した行の保護
権限ベースのテーブルの制限を使用する代わりに、カスタムセキュリティ Exit を使用して行を保護することも可
能です。テーブルのフィールドを関数のパラメータにマップし、1 つの関数の呼び出しをすべてのテーブルの
フィルタ後の処理に定義することができます。
注
•
•
オプションではないすべてのパラメータに、値(定数またはマップされたフィールド)を与える必要があります。
互換性のあるタイプ間でマッピングします。たとえば、日付用の関数パラメータを数値フィールドにリンクす
ることはできません。互換性のないタイプのマッピングは実行時のエラーとなります。
次の例は、カスタムセキュリティ Exit での、テーブルフィールドの関数パラメータへのマッピングを示します。
カスタムセキュリティ Exit を使用して行レベルのセキュリティを定義する
1 トランザクション /CRYSTAL/RLS を実行します。
2 [テーブル名]フィールドに、保護したい行のある データテーブルの名前を入力します。
ここでは、「PA0000」と入力し、このテーブルの行を保護します。
注
これで、ワイルドカードを使用してテーブル名を指定できます。ワイルドカードは、類似した名前を持つ複数
のテーブルに対して同時に権限を適用する場合に効率的です。* は 0 以上の任意の長さの文字の指定
に、+ は任意の 1 文字の指定に使用します。
3 [作成]をクリックします。
[権限エントリ]画面が表示されます。
この画面は、このテーブルに現在適用されている権限エントリがある場合、それを一覧します。
4 [カスタム Exit]をクリックします。
[カスタム汎用プログラムセキュリティ exit マッピングの編集]ウィンドウが表示されます。
5 [機能名]フィールドに、テーブルの保護に使用する関数名を入力し、[転送]をクリックします。
615
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
ここでは、「HR_CHECK_AUTHORITY_INFTY」と入力します。
6 必要なパラメータそれぞれに、そのパラメータの値またはマップするフィールドを指定します。
この例では、次の表にリストされているエントリを作成します。
パラメータ名のインポート
フィールド名
INFTY
'0000'
PERNR
=PERNR
SUBTY
=SUBTY
7 [保存]をクリックします。
[権限エントリ]画面に戻ります。画面では、このテーブルのアクティブなカスタムセキュリティ Exit があること
が表示されています。
ユーザがカスタムセキュリティ Exit で保護されているテーブルにアクセスした場合、ドライバはテーブルの
適切なフィールドをチェックします。マップしたフィールドの値は、選択した関数、ここでは
HR_CHECK_AUTHORITY_INFTY にパラメータとして渡されます。権限の制限とマップした値を組み合わせ
ると、最初に権限の制限で結果がフィルタ処理されます。次にマップされた値でこの結果がさらにフィルタ
処理されます。
24.1.3.3 SAP BW を使用したレポーティング
24.1.3.3.1 レポートの作成および翻訳
この節では、Crystal Reports のレポートウィザードを紹介し、SAP 環境に関連するレポーティング作業の詳細
について説明します。また、翻訳するレポートの準備方法や、ユーザのログオン言語に基づいてレポートの様
式を条件付きで変更する方法についても説明します。
翻訳用レポートの作成
BW システムが複数言語でユーザをサポートしている場合、BW 内で翻訳用にレポートを準備しておくことがで
きます。翻訳されたレポートを SAP BusinessObjects Business Intelligence プラットフォームに公開すると、SAP
ユーザは優先表示ロケールでレポートを表示できます。この節では、翻訳用にレポートを準備する方法、レポー
トの LanguageCode% 式を使って、レポートに言語固有の変更を行う方法を説明します。
616
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
レポートの翻訳の準備
レポートを BW に保存するときに、レポートを翻訳用に準備するオプションを指定できます。このオプションを選
択すると、Crystal Reports はレポートに挿入したすべてのテキストオブジェクトから文字列のコンテンツを抽出
し、元の文字列を .rpt ファイルにあるプレースホルダに置き換えます。BW の標準翻訳トランザクションから元
の文字列を含む言語テーブルにアクセスし、それを必要な言語すべてに翻訳します。この作業を終了すると、
SAP BusinessObjects Business Intelligence プラットフォームにレポートを公開する際、翻訳された文字列がレ
ポートに挿入されます。
翻訳されたレポートを BW から SAP BusinessObjects Business Intelligence プラットフォームに公開する場合、
BW レポートパブリッシャは BW から、1 つの .rpt ファイル、レポートの元の文字列、翻訳言語のリスト、翻訳さ
れたすべての文字列を受け取ります。BW レポートパブリッシャは、それぞれの言語について、受け取った .rpt
ファイルをコピーして、プレースホルダを対応する文字列に置き換えます。また、各レポートに言語コードのマー
クを付けます(詳細については、617 ページの 「LanguageCode% 式による条件付きの書式設定」を参照)。BW
レポートパブリッシャは、このようにして複数の .rpt ファイル (各言語につき 1 つ) を生成し、これらの各オブジェ
クトを SAP BusinessObjects Business Intelligence プラットフォームに公開します。
注
ユーザが翻訳されたレポートを最新表示、またはスケジュールすると、新しいデータが BW から取得されます
が、その文字列は最新表示されません。レポート文字列の翻訳を更新するには、レポートを再度 BW から SAP
BusinessObjects Business Intelligence プラットフォームに公開する必要があります。
翻訳用のレポートを準備する
1 Crystal Reports を起動し、翻訳を準備するレポートを開きます。
2 [SAP]メニューの[設定]をクリックします。
[設定]ダイアログボックスが表示されます。
3 [サーバでレポートの翻訳準備をする]がオンになっていることを確認します。
このオプションは、デフォルト設定を変更するので、これ以降、レポートは常にサーバ上で翻訳用に準備さ
れます。
このオプションをレポートごとに設定する場合は、[保存ダイアログを表示しない]オプションをオフにします。
これで、BW にレポートを保存するたびに、[このレポートの翻訳準備をする]オプションを設定できます。
4 [OK]をクリックします。
5 [SAP]メニューの[レポートの保存]をクリックし、通常どおり先に進みます。
LanguageCode% 式による条件付きの書式設定
最初に BW クエリーを基にしてレポートを作成した場合、Crystal Reports は自動的に LanguageCode% という
名前の式を生成します。この式は、フィールドエクスプローラで表示できます。この式では、計算を実行するの
ではなく、レポートと特定のログオン言語を関連付ける 1 文字列(1 文字)を値として使用します。
最初にレポートを作成すると、英語の場合は「E」、ドイツ語の場合は「D」などそのときの言語を示すコードが式
に追加されます。これは、レポートのマスター言語になります。レポートを翻訳用に準備し、その後、SAP
BusinessObjects Business Intelligence プラットフォームに公開すると、BW レポートパブリッシャによって、翻訳
されたそれぞれのレポートの LanguageCode% 式が変更されます。SAP ユーザが Crystal レポートを表示する
617
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
か、BI 起動パッドにログオンすると、利用可能なレポートにフィルタが適用されます。ユーザのログオン言語で
翻訳されたレポートが利用できる場合は、それがユーザに表示され、利用できない場合は、マスタ言語でレポー
トが表示されます。
LanguageCode% 式では、異なるログオン言語を使用するユーザに対応できるよう、レポートの条件付き書式設
定ツールが提供されています。たとえば、"製品分類"フィールドの値が表示されるようにレポートを作成し、こ
の文字列値が SAP 内で翻訳されているとします。デザイン上の問題として、ドイツ語の文字列が、対応する英
語の文字列より長くなる可能性があります。
この問題を解決するには、LanguageCode% を使用して、翻訳バージョンのレポートでフォントサイズを条件付き
で小さくすることができます(以下で実際の手順を説明します)。代替的に、同じデータベースフィールドを含む
2 つの詳細セクションを挿入し、2 つ目のセクションに長いドイツ語の文字列が収まるようにフィールドの幅を大
きくすることもできます。そして、条件付きの書式設定式を使って、レポートの言語に応じて、詳細セクションの
表示/非表示を切り替えることができます。
注
条件付き書式設定フィールドと書式エディタの使用方法の詳細については、 『Crystal Reports オンラインヘル
プ 』を参照してください。
フィールドのフォントサイズを条件付きで縮小する
1 Crystal Reports でレポートを開き、[デザイン]タブをクリックします。
2 レポートの詳細セクションで、条件付きで書式設定するフォントを含むフィールドを右クリックします。
3 ショートカットメニューの[フィールドの書式]をクリックします。
[書式エディタ]ダイアログボックスが表示されます。
4 [フォント]タブをクリックします。
5 [サイズ] フィールドに対応する [式] ボタンをクリックします。
式ワークショップにより、新しい式が開き、「フォントサイズ」という名前が付けられます。
6 テキスト領域に、Crystal 構文で次の式を入力します。
if {@LanguageCode%} = "D"
then 10
else 12
この式によって、ユーザのログオン言語がドイツ語の場合、またはユーザがレポートのドイツ語のインスタン
スをスケジュールする場合、現在選択されているフィールドのフォントサイズが 12 pt から 10 pt に縮小され
ます。
7 [保存して閉じる]をクリックします。
24.1.3.3.2 レポートの公開
この節では、Crystal レポートを SAP BusinessObjects Business Intelligence プラットフォームに公開する方法
について説明します。また、SAP BusinessObjects EnterpriseBI 起動パッド やその他のアプリケーションでこれ
らのレポートを表示する方法についても説明します。
618
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
定義済みのレポートの SAP BusinessObjects Business Intelligence プラットフォームへの公開
有効な Crystal レポートファイルを SAP BusinessObjects Business Intelligence プラットフォームに公開する方
法はいくつかあります。
•
Crystal Reports でレポートを開き、同時にそれを BW に保存して SAP BusinessObjects Business Intelligence
プラットフォームに公開できます。
•
すでに多数のレポートを BW に追加している場合は、それらをまとめて SAP BusinessObjects Business
Intelligence プラットフォームに公開できます。詳細については、619 ページの 「BW からレポートをまとめて
公開」を参照してください。
•
Crystal レポートは、公開ウィザード、セントラル管理コンソール、またはインポートウィザードを使ってシステ
ムに追加できます。詳細については、 『SAP BusinessObjects Business Intelligence プラットフォーム管理
者ガイド 』 (SAP BusinessObjects Business Intelligence プラットフォーム製品メディアの docs ディレクトリに
ある admin.pdf) を参照してください。
BW からレポートをまとめて公開
コンテンツ管理ワークベンチを使って多数の Crystal レポートを公開できます。コンテンツ管理ワークベンチの
詳細については、 『SAP BusinessObjects Business Intelligence プラットフォーム管理者ガイド 』の「コンテンツ
管理ワークベンチでの公開の設定」の節を参照してください。
開発コンテンツを BW の本稼動システムに移行する
SAP BusinessObjects Enterprise Integration for SAP Solutions が開発 BW 環境にデプロイされている場合は、
本稼働 BW 環境での使用向けに設定されている SAP BusinessObjects Business Intelligence プラットフォーム
システムにレポートコンテンツをインポートできます。
次は、コンテンツをインポートする際の留意点です。
•
BW は Crystal レポート(.rpt ファイル)をネイティブオブジェクトとして扱います。Crystal レポートが BW 開
発システムのリポジトリに格納されている場合、その BW コンテンツを移送して、SAP BusinessObjects
Business Intelligence プラットフォームにレポートをまとめて公開できます。(BW システム間でのコンテンツ
の移送についての詳細は、SAP ライブラリを参照してください)。この手順では、BW レポートパブリッシャに
よって、各レポートのデータベース情報が確実に更新されます。
•
BW 開発システムのリポジトリから一部または全部の Crystal レポートを削除している場合は、アップグレー
ドマネージャを使用して、ある SAP BusinessObjects Enterprise インストール環境から別の SAP
BusinessObjects Enterprise インストール環境へレポートオブジェクトをインポートできます。アップグレード
マネージャを使用するときは、インポートする各レポートファイルに正しいデータベース情報を必ず設定しま
す。
•
移行するレポートファイル数が少ない場合、セントラル管理コンソール(CMC)で各レポートのデータベース
情報を簡単に変更できます([オブジェクト]管理エリアで目的のレポートを探し、[処理]タブの[データベース]
リンクをクリックします)。
コンテンツを移行したら、コンテンツ管理ワークベンチを使用してレポートの管理を行います。レポート管理タス
クには、SAP BusinessObjects Business Intelligence プラットフォームと BW の間でのレポートに関する情報の
同期化 ([ステータスの更新])、不要なレポートの削除 ([レポートの削除]) および前のバージョンの SAP
BusinessObjects Enterprise から移行されたレポートの更新 ([ポスト移行]) があります。
619
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
レポートの管理の詳細については、 『SAP BusinessObjects Business Intelligence プラットフォーム管理者ガイ
ド 』を参照してください。
24.2 Oracle E-Business Suite との統合
24.2.1 概要
SAP BusinessObjects XI Integration for Oracle E-Business Suite のデータコネクティビティ機能をインストール
すると、SAP Crystal Reports で Oracle EBS データを使用できるようになります。
24.2.2 SAP Crystal Reports のデータにアクセスする
1
2
3
4
Crystal Reports を起動します。
[開始ページ]で、[空のレポート]をクリックします。
データベースエキスパートで、[接続の新規作成]を展開します。
次の表の情報を入力します。
フィールド
アクション
ホスト
Oracle EBS システムがホストされているサーバ名を入力します。
ポート
サーバが SML リスナーに使用するポート番号を入力します。
環境
このシステムでアクセスする環境名を入力します。
ユーザ
ユーザ名を入力します。
パスワード
パスワードを入力します。
ロール
このシステムでアクセスするロール名を入力します。
5 [完了]をクリックします。
これで、Oracle EBS システムのデータを使用して Crystal レポートを作成できます。
620
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
データソースへの接続後は、その接続をお気に入りフォルダに保存できます。データベースエキスパートで接
続をクリックし、[お気に入りに追加]をクリックします。
SAP Crystal Reports の使い方の詳細については、 『SAP Crystal Reports ユーザガイド 』を参照してください。
Unicode サポートを有効にするには、 『SAP Crystal Reports ユーザガイド 』および 『SAP BusinessObjects
Business Intelligence プラットフォーム 4.0 インストールガイド 』に記載されているとおりにシステムを設定する
必要があります。
24.3 Siebel との統合
24.3.1 Siebel への接続
Integration 製品を使用してレポートを作成すると、Siebel 内のデータに簡単にアクセスできます。Siebel や他
のツールを使用してレポートを作成しているユーザは、Integration 製品に含まれているドライバを使用してレ
ポートをすばやく簡単に作成できます。
この節では、ドライバを使用した Siebel への接続方法と、Siebel の書式設定を使用した表示/非表示設定の管
理などの上級機能と、アクティブな Siebel モバイル/専用 Web クライアントへの接続について説明します。
24.3.1.1 SAP Crystal Reports での接続の作成
SAP Crystal Reports デザイナを実行しているマシンに Integration 製品をインストールした場合、レポートのた
めの Siebel への接続を作成する必要があります。SAP Crystal Reports では、レポートウィザードを使用する方
法と、[ファイル] または [データベース] メニューから [ログオンサーバ] を選択する方法の、2 つの方法で接続
を作成できます。以下で、両方の方法を説明します。
24.3.1.1.1 レポートウィザードの使用
1 SAP Crystal Reports を起動します。
2 [開始ページ]で[レポートウィザード]をクリックします。
[標準レポート作成ウィザード]ダイアログボックスが表示されます。
ヒント
特定のタイプのレポートを作成するには、該当するウィザードを選択します。
3 [利用可能なデータソース]一覧で、[接続の新規作成]を展開し、[Siebel eBusiness アプリケーション]をダブ
ルクリックします。
621
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
[接続情報]ダイアログボックスが表示されます。
4 [接続タイプ]エリアで、[サーバ]、[ローカル]または[ローカル(アクティブな専用セッション)]を選択します。
注
この例では、[サーバ]接続タイプを作成する方法について説明します。どの接続タイプを選択するか決定
する方法と、他の接続タイプの作成方法の詳細については、623 ページの 「接続の設定」を参照してくださ
い。
5 [接続名]フィールドに、接続の名前を入力します。
6 [次へ]をクリックします。
[接続の詳細]ダイアログボックスが開きます。
7 Siebel ユーザ名とパスワードをそれぞれのフィールドに入力します。
8 [接続文字列]フィールドに、Siebel サーバ用の接続文字列を入力します。
9 サーバ接続を使用している場合は[リポジトリ]フィールドに、Siebel リポジトリ名を入力します。
リポジトリにデフォルト名の Siebel Repository を使用する場合は、このフィールドは空白のままにできます。
そうでない場合は、リポジトリ名を入力します。
10 必要な場合は、[現在のクエリを適用]または[現在の選択に制限]を選択します。
注
[現在の選択に制限]オプションを表示するには、[現在のクエリを適用]を選択する必要があります。
11 [完了]をクリックして、標準レポート作成ウィザードに返ります。
ヒント
Siebel 接続を設定したら、接続を[お気に入り]フォルダに保存できます。
24.3.1.1.2 [サーバにログオン]コマンドの使用
レポートウィザードを使用しない場合は、[ログオンサーバ]コマンドを使用して Siebel に接続します。
1 SAP Crystal Reports を起動します。
2 [ファイル]メニュー(レポートがすでに開いている場合は[データベース]メニュー)の[サーバにログオン/ログ
オフ]をクリックします。
3 [データエクスプローラ]で、[接続の新規作成]を展開します。
4 [Siebel eBusiness アプリケーション]を展開します。
[接続情報]ダイアログボックスが表示されます。
5 [接続タイプ]エリアで、[サーバ]、[ローカル]または[ローカル(アクティブな専用セッション)]を選択します。
注
この例では、サーバ接続タイプの作成方法を説明します。どの接続タイプを選択するか決定する方法、お
よび他の接続タイプの作成方法の詳細について説明します。
6 [接続名]フィールドに、接続の名前を入力します。
7 [次へ]をクリックします。
[接続の詳細]ダイアログが開きます。
622
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
8 Siebel ユーザ名とパスワードをそれぞれのフィールドに入力します。
9 [接続文字列]フィールドに、Siebel サーバ用の接続文字列を入力します。
10 サーバ接続を使用している場合は[リポジトリ]フィールドに、Siebel リポジトリ名を入力します。
リポジトリにデフォルト名の Siebel Repository を使用する場合は、このフィールドは空白のままにできます。
そうでない場合は、リポジトリ名を入力します。
11 必要な場合は、[現在のクエリを適用]または[現在の選択に制限]を選択します。
注
[現在の選択に制限]オプションを表示するには、[現在のクエリを適用]を選択する必要があります。
12 [終了]をクリックしてデータエクスプローラに戻ります。
ヒント
Siebel への接続を設定したら、接続を[お気に入り]フォルダに保存できます。
24.3.2 接続の設定
Integration 製品では、次の接続タイプがサポートされています。
•
624 ページの 「サーバ」
•
624 ページの 「ローカル」
•
625 ページの 「ローカル(アクティブな専用セッション)」
24.3.2.1 接続名
データソースへの接続を開くと、Crystal Reports により、[Siebel eBusiness アプリケーション接続情報]ダイアロ
グボックスの[接続名]フィールドの接続に自動的に名前が割り当てられます。デフォルトでは、最初の接続は
SIEBEL1、同じセッションで開く追加の接続は SIEBEL2、SIEBEL3 のように名前が付けられます。接続に独自
の説明的な名前を付けるには、接続時に[接続名]フィールドを編集します。
接続の名前が独自の名前でない場合、レポートの最新表示に問題が発生する場合があります。
たとえば、接続名 SIEBEL1 を使って Crystal レポートを最新表示する場合、Crystal Reports で、レポートを最
新表示する前にデータソースの保存場所が要求されます。同じ接続名(この例では、SIEBEL1)で 2 番目の
Crystal レポートを開いて最新表示する前にレポートを閉じなかった場合、2 番目のレポートは最初のレポート
のデータソースを使用して最新表示されます。
このため、接続名に独自の名前を付けるか、同時に 2 つのレポートを同じ接続名で開かないことをお勧めしま
す。
623
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
24.3.2.2 サーバ
[サーバ]接続タイプでは、Siebel サーバに直接接続します。これは、ワークステーションに適切な Siebel EAI コ
ンポーネントがインストールされている場合のみ使用できます。
[サーバ] 接続タイプを使用すると、すべてのデータはサーバから直接アクセスされるため、SAP BusinessObjects
Business Intelligence プラットフォームに公開され、HTML、DHTML または他のゼロクライアントテクノロジーを
使用して配布するレポートに最適です。
Crystal Reports に接続する際に [サーバ] 接続タイプを選択すると、[接続の詳細] ダイアログボックスには接
続文字列が必要になります。
24.3.2.2.1 接続文字列
[接続文字列]フィールドに、Siebel サーバに接続するために使用する接続文字列を入力します。Siebel 設定
によっては、Siebel Web サーバに保存されているファイル名 eapps.cfg の中にサーバの接続文字列が記述さ
れている場合があります。詳細については、Siebel Bookshelf を参照してください。
24.3.2.3 ローカル
[ローカル]接続タイプは、Siebel モバイル/専用 Web クライアントに接続し、ローカルデータベース、サーバデー
タベース、サンプルデータベースなど、使用可能なデータソースからのデータにアクセスします。この接続タイ
プを使用するには、Crystal Reports と同じマシンに完全な Siebel モバイル/専用 Web クライアントがインストー
ルされている必要があります。
この接続を使用すると、すべてのデータは Siebel モバイル/専用 Web クライアントを通してアクセスされ、Siebel
サーバに影響を与えることなくレポートを設計できます。
注
•
•
[ローカル] 接続タイプを使用して作成されたレポートを SAP BusinessObjects Business Intelligence プラッ
トフォームに公開する前に、接続タイプを [サーバ] に変更する必要があります。
Crystal Reports ローカル接続で使用するローカル Siebel データベースを作成しており、データベースを抽
出している場合は、[すべてのリポジトリテーブルを抽出] パラメータを [True] に設定します。このパラメータ
は、通常はデフォルトで [False] に設定されており、Crystal Reports ローカル接続で Siebel データは正し
く機能しません。
Crystal Reports への接続の際に、[ローカル] 接続タイプを選択した場合、[接続の詳細] ダイアログボックスに
は次のフィールドが表示されます。
624
•
625 ページの 「設定ファイル」
•
625 ページの 「データソース」
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
24.3.2.3.1 設定ファイル
[設定ファイル]フィールドに Siebel モバイル/専用 Web クライアントによって使用される設定ファイルの完全ファ
イル名とパスを入力します。 例:
C:\Program Files\Siebel\7.7\web client\BIN\ENU\siebel.cfg
データソース
[データソース]フィールドには、Siebel モバイル/専用 Web クライアントにログオンしたときに選択したデータソー
スが表示されます。これらのデータソースは、[設定ファイル]フィールドに入力された設定ファイルに定義されて
います。データ ソースの例は、サーバー、ローカル、サンプルです。
注
[データソース] フィールドで [サーバデータソース] を選択すると、接続に Siebel モバイル/専用 Web クライア
ントが使用され続け、SAP BusinessObjects Business Intelligence プラットフォームサーバに公開する前にレポー
トで [保存場所の設定] 操作を行う必要があります。
設定ファイルを特定する
1 使用するアイコンを右クリックして、Siebel を起動します。
2 ショートカットメニューから、[プロパティ]をクリックします。
[Siebel プロパティ]ダイアログボックスが表示されます。[ショートカット]タブの[ターゲット]フィールドに、設定
ファイルのファイル名とパスが表示されます。
ローカル(アクティブな専用セッション)
ローカル(アクティブな専用セッション)接続タイプは、[ローカル]接続タイプの詳細設定で、完全な Siebel モバ
イル/専用 Web クライアントが必要です。この接続タイプでは、ユーザが Siebel に再ログオンすることなく、Siebel
モバイル/専用 Web クライアント内でレポートを開き実行できます。ローカル (アクティブな専用セッション) 接
続タイプは、Crystal Reports Local Viewer アプリケーションで使用するために提供されています。ローカルデー
タソースに対するレポートを設計する場合は、[ローカル]接続タイプを使用します。
[ローカル(アクティブな専用セッション)]接続タイプは、実行中の最初の Siebel モバイル/専用 Web クライアン
トに直接接続するため、ユーザ名やパスワードは必要ありません。複数の Siebel モバイル/専用 Web クライア
ントが同時に実行されている場合は、接続先のクライアント Crystal Reports を指定できません。
注
[ローカル (アクティブな専用セッション)] 接続タイプを使用して作成されたレポートを SAP BusinessObjects
Business Intelligence プラットフォームに公開する前に、接続タイプを [サーバ] に変更する必要があります。
24.3.2.4 クエリと選択
625
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
[接続の詳細] ダイアログボックスでは、Integration 製品または BI 起動パッドに含まれている Siebel モバイル/
専用 Web クライアントから操作したときのレポートの動作を設定します。これらの設定は、Crystal Reports また
は SAP BusinessObjects Business Intelligence プラットフォーム自体からレポートを更新した際には影響ありま
せん。これらは、レポートが Siebel ビューにリンクされ、コンテキスト認識機能を通してアクセスした場合のみ使
用されます。
2 つのオプションが使用できます。
•
626 ページの 「現在のクエリを適用」
•
627 ページの 「現在の選択に制限」
注
•
•
•
[現在のクエリを適用]を選択していない場合は、[現在の選択に制限]は使用できません。
Siebel モバイル Web クライアントおよび BI 起動パッドを使用してレポートを表示している場合、レポー
トには、レポート作成時に選択した選択オプションとクエリが必ず使用されます。
[現在のクエリを適用] 機能を BI 起動パッドで使用するには、Siebel ビューにリンクしたものと同じビジネ
スコンポーネントを使用する必要があります。
24.3.2.4.1 現在のクエリを適用
Siebel では、ユーザはクエリを適用して、ビューに表示される情報をフィルタ処理できます。[サーバ] 接続タイ
プを使用して [現在のクエリを適用する] を選択すると、SAP BusinessObjects Business Intelligence プラット
フォームにレポートを公開するときに、Siebel に適用されているクエリが Crystal レポートに適用されます。
たとえば、Siebel のクエリーが、次の図のように、アカウントの一覧を「A」で始まるものに制限する場合、これら
のアカウントのみ Crystal レポートに表示されます。
注
•
•
626
[現在のクエリを適用]は、レポートと現在の Siebel ビューで同じビジネスコンポーネントが使用されている場
合のみ有効であり、それ以外の場合は、レポートを表示または予定しようとすると[データベース接続エラー]
メッセージが表示されます。
[現在のクエリを適用]は、Siebel ビューにリンクされた Crystal レポートのみに適用されます。
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
24.3.2.4.2 現在の選択に制限
[現在のクエリを適用]を選択すると[現在の選択に制限]も選択できます。[現在の選択に制限]を選択すると、
Crystal レポートに表示されるレコードが Siebel で選定されているレコードにさらに制限されます。これにより、
単一のレコードを選択し、その要素に対しレポートを作成できます。
たとえば、「A」で始まるアカウントのみにアカウント一覧を制限するクエリを適用し、ビューの中の特定のレコー
ドを選定して、ローカル (アクティブな専用セッション) 接続タイプで Crystal Reports に接続する際に [現在の
クエリを適用する] と [現在の選択内容に制限する] の両方を選択すると、Crystal Reports にはそのレコードの
情報のみが表示されます。[サーバ] 接続タイプで Crystal Reports に接続する際に [現在のクエリを適用する]
と [現在の選択内容に制限する] の両方を選択すると、Siebel で選定されているレコードが Crystal レポートに
適用されますが、SAP BusinessObjects Business Intelligence プラットフォームにレポートが公開されるまで表
示されません。
Crystal Reports に表示されているビジネスコンポーネントに対する有効な選択がない場合、この制限は無効と
なり、このオプションが選択されていなかった場合と同じレコードが返されます。
注
Crystal レポートにフィルターを適用し、選択が無効になると[現在の選択に制限]が選択されていなかったとき
と同様にレポートが動作します。
24.3.3 ビジネスコンポーネントの選択
接続が完了すると、Crystal Reports に、使用可能なビジネスオブジェクトとビジネスコンポーネントの一覧が表
示されます。SAP BusinessObjects Business Intelligence プラットフォームとビジネスコンポーネントは、ツリー構
造で表示され、ビジネスコンポーネントは所属するビジネスオブジェクトの下に表示されます。これは、次のよう
な形式になります。
business object.business component
レポートにテーブルを追加する場合と同様の方法で、ビジネスコンポーネントをレポートに追加します。複数の
ビジネスコンポーネントを選択してレポートに配置した場合は、ビジネスコンポーネントをリンクする必要があり
ます。詳細については、629 ページの 「レポート内のテーブルのリンク」を参照してください。
24.3.3.1 ビジネスコンポーネントのフィルタリング
ビジネスコンポーネントの一覧にフィルタを適用すると、ツリー構造のビジネスコンポーネント数のみが減少しま
す。すべてのビジネスオブジェクトは表示されたままです。ビジネスコンポーネントのフィルタリングは、大抵の
場合必要ありません。
ヒント
フィルタを適用すると、すべてのデータソースに適用されます。後で他のビジネスコンポーネントに接続する際
に、検索が制限されないように、[オプション]を必ずリセットしてください。
627
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
24.3.4 Siebel データによるレポートの最新表示
Siebel 環境に保存されているデータを基にレポートを作成できるよう、サンプルレポートを編集できます。各レ
ポートのデータベースの保存場所が Siebel システムを指定するように設定する必要があります。
24.3.5 旧バージョンの Crystal Reports で作成されたレポートの更新
Crystal Reports 8.5 以前のバージョンの Integration 製品を使用して作成したレポートのデータソースの保存
場所をリセットすることをお勧めします。これには、各レポートのデータベースの保存場所をリセットする必要が
あります。
24.3.6 セキュリティ
Crystal Reports では、機密情報を管理するため、Siebel のセキュリティがサポートされています。Siebel データ
に対しレポートを実行するたびに、ユーザは有効な Siebel ユーザ認証情報を使用してログオンする必要があ
ります。このため、Siebel 認証情報によって許可される情報のみにユーザはアクセスできます。
注
ユーザは Siebel モバイル/専用 Web クライアントを使用してすでにログオンしているため、[ローカル(アクティ
ブな専用セッション)]オプションにログオンプロンプトは表示されません。
24.3.7 ビュー
Crystal Reports では、Siebel で使用できる、いずれの表示/非表示設定でもレポートを作成できます。これらの
設定は、任意のレポートに対し変更できます。このため、1 つのレポートをフィルタ処理して、その情報を複数
のビューで表示できます。たとえば、アカウントを表示しているレポートをフィルタ処理し、[マイアカウント]ビュー
または[マイチームのアカウント]ビューで表示されるアカウントのみを表示することができます。
24.3.7.1 ビューモードフィールド
628
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
各テーブルに"ビューモード"と呼ばれるフィールドがあります。このフィールドは、表示/非表示を変更するため
のフィルタです。たとえば、レポートに[PersonalView]を表示する場合、[PersonalView]に"ビューモード"フィー
ルドを設定する選択を追加できます。
注
Siebel からのデータにアクセスする場合、Crystal Reports は、ビジネスコンポーネントをテーブルとして表わし
ます。Crystal Reports は、Integration 製品接続を使用している場合、Siebel テーブルにアクセスしません。
[ビューモード]フィールドがレポートに配置された場合、必ず、デフォルトでは[AllView]である現在の表示/非
表示設定で表示されます。
24.3.8 Siebel の書式設定の使用
Siebel では、Siebel システム内で定義されているユーザー設定に基づいて情報の形式を設定するメカニズム
が提供されています。たとえば、現在のフィールドの形式が正しい通貨記号を表示するよう設定されている場
合、ユーザーの国の形式で表示されるよう数字と日付が調節され、テキスト情報も変更されます。
Siebel のフォーマットの多くを Crystal Reports 内で複製することは可能ですが、時間がかかります。この代わ
りに、テーブル フィールドを Siebel で表示される表示形式に変換できます。これは、SQL 式フィールドを挿入
することで実行できます。
24.3.9 レポート内のテーブルのリンク
Siebel は、データをリレーショナルデータベーステーブルではなく、ビジネスコンポーネントと呼ばれる一連の
オブジェクトとして表します。この Integration 製品を使用して Siebel データにアクセスする場合、Crystal Reports
では、各ビジネスコンポーネントをテーブルとして表します。
さまざまなリンクタイプを使用して、レポートおよびサブレポート内のこれらのテーブルをリンクできます。ビジネ
スコンポーネントはリレーショナルテーブルではないため、これらのリンク操作は、クライアント側の Crystal
Reports により実行されます。テーブルのリンクの詳細については、Crystal Reports のマニュアルを参照してく
ださい。
Crystal Reports によって実行されるクライアント側のリンクのほかに、Siebel では、親子関係にある複数のビジ
ネスコンポーネントをプログラミングによりリンクできます。これにより、ユーザーはレポートのパフォーマンスを向
上でき、直接レポートを作成することが不可能な子ビジネス コンポーネントからレポートを作成できる場合もあ
ります。
親ビジネス コンポーネントと子ビジネス コンポーネントをリンクすることにより、Siebel の親および子ビジネス コ
ンポーネントからレポートを作成できます。詳細については、630 ページの 「親子ビジネスコンポーネントからの
レポート作成」を参照してください。
629
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
24.3.9.1 親子ビジネスコンポーネントからのレポート作成
SAP BusinessObjects Business Intelligence プラットフォームでは、親子関係にある Siebel ビジネスコンポーネ
ントからレポートを作成できます。Crystal Reports で親と子のビジネスコンポーネントのリンクを定義すると、
Siebel サーバは、親と子のコンポーネントに関連があるデータのサブセットのみを返すため、レポートのパフォー
マンスが大きく改善されます。
親子ビジネスコンポーネントからレポートを作成するには、次のように子ビジネスコンポーネントと親ビジネスコ
ンポーネントをリンクします。
•
親ビジネスコンポーネントを開くために使用したものと同じビジネスコンポーネントを使用して子ビジネスコン
ポーネントを開く。
•
親の[マルチバリュー]フィールドで関連付けられている、子ビジネスコンポーネントを表わす名前で識別さ
れる、子ビジネスコンポーネントを開く。
•
親の[ピックリストの値]フィールドで関連付けられている、子ビジネスコンポーネントを表わす名前で識別さ
れる、子ビジネスコンポーネントを開く。
24.3.10 マルチバリュー列
テーブルの中の特定の列は、複数の値を表わす Siebel ドライバを通して表示されます。Crystal Reports では、
通常、これらのフィールドの第 1 の値が表示されます。[プライマリ ID]フィールドが定義されていない場合、
Crystal Reports は、値の 1 つを表示しますが、この値がどれになるかは予測できません。
Crystal Reports では、デフォルトでは、並べ替え操作は、パフォーマンスの向上のためにサーバ上で実行さ
れます。第 1 の値が定義されていないマルチバリュー列の場合、この操作に失敗します。マルチバリュー列を
使用して並べ替えを行う必要があるレポートを作成するには、並べ替えをクライアント側で実行する必要があり
ます。
24.3.11 データ型
24.3.11.1 Siebel のデータ型を Crystal Reports のデータ型にマップする
630
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
Siebel は、ビジネスコンポーネント内のデータ型の範囲をサポートしています。これらは、テーブルを同じように
表示するために、Crystal Reports のデータ型に変換されます。以下は、変換対応表です。
Siebel の型
Crystal Reports の型
DTYPE_BOOL
論理型
DTYPE_INTEGER
数値
DTYPE_NUMBER
数値
DTYPE_CURRENCY
通貨
DTYPE_DATE
日付
DTYPE_TIME
時刻
DTYPE_DATETIME
日時
DTYPE_ID
文字列
DTYPE_PHONE
文字列
DTYPE_TEXT
文字列
DTYPE_NOTE
メモ
DTYPE_UTCDATETIME
日時
注
Siebel の DTYPE_PHONE は数値です。しかし、その値に意味を持たせるには、このフィールドに Siebel の形
式を適用する必要があります。DTYPE_PHONET 要素ごとに SQL 式を追加しなければならない労力を減らす
ために、Crystal Reports は自動的に形式を適用して、文字列としての値を返します。
電話番号の形式のフィールドをフィルタリングすると、Crystal Reports は自動的に形式を削除して、値を数値
に変換します。 例:
[電話番号] = (123) 456-7890
は次のようにフィルタリングされます。
631
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
[電話番号] = 1234567890
24.4 PeopleSoft との統合
24.4.1 概要
SAP BusinessObjects Enterprise XI 3.x のデータコネクティビティ機能をインストールすると、SAP Crystal Reports
で PeopleSoft データを使用できるようになります。
24.4.2 SAP Crystal Reports のデータにアクセスする
1
2
3
4
SAP Crystal Reports を起動します。
[開始ページ]で、[空のレポート]をクリックします。
データベースエキスパートで、[接続の新規作成]を展開します。
インストール環境に一致するデータソースタイプをダブルクリックします。
• Integration 製品を PeopleSoft Enterprise(PeopleTools 8.46 ~ 8.49)環境にインストールした場合は、
[PeopleSoft Enterprise]をクリックして次の情報を入力します。
フィールド
アクション
サーバ
PeopleSoft Integration Gateway 経由で Query
Access Services に接続するための適切な URL
を入力しますたとえば、「http://webserv
er/PSIGW/QueryListeningConnector」と入力し
ます。
注
この URL は、PeopleSoft での Query Access
Services の設定時に指定されます。
632
ユーザ
ユーザ名を入力します。
パスワード
パスワードを入力します。
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
•
•
Integration 製品を PeopleSoft Enterprise(PeopleTools 8.21 ~ 8.45)環境にインストールした場合は、
[PeopleSoft Query]をクリックして次の情報を入力します。
フィールド
アクション
サーバ
「//server:port」と入力します。ここで、server は
PeopleSoft Application Server の名前、また port
はサーバが Jolt リスナーに使用する JSL ポート
番号です。
ユーザ
ユーザ名を入力します。
パスワード
パスワードを入力します。
Integration 製品を PeopleTools 8.50 環境にインストールした場合は、[PeopleSoft Query]をクリックして
次の情報を入力します。
フィールド
アクション
サーバ
PeopleSoft Integration Gateway 経由で Query
Access Services に接続するための適切な URL
を入力しますたとえば、「http://webserv
er/PSIGW/PeopleSoftServiceListeningConnector」
と入力します。
ユーザ
ユーザ名を入力します。
パスワード
パスワードを入力します。
5 [完了]をクリックします。
これで、PeopleSoft Enterprise システムのデータを使用して Crystal レポートを作成できます。
注
PeopleSoft Enterprise の個人用クエリにはアスタリスク(*)が付けられ、パブリッククエリと区別されます。
データソースへの接続後は、その接続をお気に入りフォルダに保存できます。データベースエキスパートで接
続をクリックし、[お気に入りに追加]をクリックします。
Crystal Reports の使い方の詳細については、 『SAP Crystal Reports 2011 ユーザガイド 』を参照してくださ
い。
633
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
Unicode サポートを有効にするには、 『Crystal Reports ユーザガイド 』および 『SAP BusinessObjects Business
Intelligence プラットフォーム 4.0 インストールガイド 』に記載されているとおりにシステムを設定する必要があり
ます。
24.5 JD Edwards との統合
24.5.1 概要
SAP BusinessObjects Enterprise XI のデータコネクティビティ機能をインストールすると、SAP Crystal Reports
で JD Edwards EnterpriseOne データを使用できるようになります。
24.5.2 SAP Crystal Reports のデータにアクセスする
1
2
3
4
SAP Crystal Reports を起動します。
[開始ページ]で、[空のレポート]をクリックします。
データベースエキスパートで、[接続の新規作成]を展開します。
次の表の情報を入力します。
フィールド
アクション
ホスト
EnterpriseOne システムがホストされているサーバ名を入力します。
ポート
JD Edwards EnterpriseOne サーバが XML リスナーに使用するポート番号を入力します。
環境
このシステムでアクセスする JD Edwards EnterpriseOne 環境名を入力します。
ユーザ
ユーザ名を入力します。
パスワード
パスワードを入力します。
ロール
このシステムでアクセスする JD Edwards EnterpriseOne ロール名を入力します。
5 [完了]をクリックします。
これで、JD Edwards EnterpriseOne Enterprise システムのデータを使用して Crystal レポートを作成できま
す。
634
2012-05-10
ビジネスアプリケーションと Crystal Reports の統合
データソースへの接続後は、その接続をお気に入りフォルダに保存できます。データベースエキスパートで接
続をクリックし、[お気に入りに追加]をクリックします。
Crystal Reports の使い方の詳細については、 『SAP Crystal Reports 2011 ユーザガイド 』を参照してくださ
い。
Unicode サポートを有効にするには、 『SAP Crystal Reports 2011 ユーザガイド 』および 『SAP BusinessObjects
Business Intelligence プラットフォーム 4.0 インストールガイド 』に記載されているとおりにシステムを設定する
必要があります。
635
2012-05-10
データ ソースへのアクセス
データ ソースへのアクセス
A.1 概要
Crystal Reports は、あまり一般的でないデータベース形式で保存されている場合も含めて、ほとんどすべての
データにアクセスできます。この節では、Crystal Reports がアクセスできるさまざまなデータ形式と、データ接
続に使用されるデータ アクセス レイヤについて説明します。会社が使用しているデータベース管理システム
(DBMS)の種類がわからない場合は、IT 管理者かネットワーク管理者に問い合わせてください。
Crystal Reports の主な目的は、データベースに格納されているデータにアクセスし、そのデータのレポートを
生成することです。昔も今も、これはコンピュータを使用する主要な目的の 1 つです。Crystal Reports を使用
すると、強力なレポートをより簡単にすばやく作成できます。
どのようなレポートを生成する場合でも、データへのアクセスが必要です。Crystal Reports のデータ アクセス
を理解すれば、レポート処理や操作可能なデータ タイプについてより深く理解できます。
また、特定のデータベース ファイルを開こうとして問題が発生した場合も、データ アクセスのプロセスを理解し
ていれば、より容易に問題を解決できます。データ アクセス プロセスの理解は、IT 管理者など、ユーザーに
対してデータ アクセス サポートを提供するすべての方にとって役立ちます。
この節のほとんどの部分では、経験豊かな Crystal Reports ユーザーと IT 管理者を対象として、データベー
ス管理システム(DBMS)とデータ格納方法に関する技術的な情報を紹介します。コンピュータ、Windows オペ
レーティング システム、および少なくとも 1 つの DBMS アプリケーションに関する知識があることを仮定してい
ます。
注
Business Objects は、そのソリューション キット用のネイティブ データベース ドライバも提供します。これらのド
ライバや他の統合機能は、SAP、Baan、People Soft、Siebel などの Enterprise Resource Planning(ERP)製品用
のソリューション キットに含まれています。
A.1.1 6 種類のデータ
Crystal Reports がアクセスできるデータは、6 つのカテゴリに分類できます。
637
•
638 ページの 「ダイレクト アクセス データベース ファイル」
•
649 ページの 「ODBC データソース[odbc データソース]」
2012-05-10
データ ソースへのアクセス
•
657 ページの 「OLE DB」
•
661 ページの 「ビジネス ビュー」
•
662 ページの 「Crystal SQL Designer ファイル」
•
662 ページの 「Crystal 辞書ファイル」
各データ タイプにアクセスするには、一連のダイナミック リンク ライブラリ(DLL)と、その他のデータ アクセス関
連ファイルが必要です。プログラムが各データ タイプにアクセスする方法を理解すれば、レポート作成プロセス
について、またデータから強力なレポートを作成する方法について、より深く理解できます。
注
あるデータ タイプにアクセスするとき、Crystal Reports は、データベース ドライバに応じてフィールド名、フィー
ルド タイプ、およびフィールド長を提供します。この情報は、データベース エンジンか ODBC データベース ド
ライバによって提供されます。
A.2 ダイレクト アクセス データベース ファイル
Crystal Reports は、ほとんどの一般的なパソコン用データベース形式に直接アクセスできます。つまり、このプ
ログラムには、dBASE、FoxPro、Clipper、Pervasive、Paradox、Microsoft Access などのさまざまなデータベー
ス ファイルとそのテーブルを直接開くための機能が組み込まれています。これらの機能は、Crystal Reports を
インストールした直後から使用できます。システムにプログラムをインストールし、適切なファイルを選択すれば、
各種のデータベースから即座にレポートを作成できます。
A.2.1 長所
データを読み取る最も高速な方法は、データベースに直接アクセスすることです。Crystal Reports は、ただ 1
つのデータ アクセス レイヤと通信してデータにアクセスします。これにより、ほとんどのシステム環境でレポート
結果をすばやく取得できます。
データへのアクセス方法は単純です。ダイレクト アクセス データベース ファイルをデータ ソースとして使用す
るには、それをポイントしてクリックするだけです。必要なデータベース ファイルを選択すると、格納されている
すべてのデータが Crystal Reports によって読み取られます。
A.2.2 短所
638
2012-05-10
データ ソースへのアクセス
Crystal Reports から直接データベースにアクセスした場合、レポートでは、そのデータベース タイプしか使用
できません。つまり、新しくレポートを作成しない限り、別のタイプのデータベースやテーブルに切り替えること
はできません。
たとえば、Pervasive データに基づくレポートをデザインした場合、そのレポートがアクセスするテーブルを Access
データに変更することはできません。Crystal Reports と Pervasive データとの通信には、Access データと互換
性のない Pervasive 固有の構文が使用されているからです。
一方、ODBC を介してデータにアクセスすると、実際のデータベース タイプに関係なく、常に SQL の構文が
使用されます。詳細については、649 ページの 「ODBC データソース[odbc データソース]」を参照してください。
A.2.3 3 つのレイヤ
Crystal Reports は、3 つのレイヤを使用して、データベース ファイルを直接アクセスします。
•
639 ページの 「Crystal Reports」
•
639 ページの 「データ変換」
•
640 ページの 「データベース」
Crystal Reports は、データベースと通信してデータにアクセスする際、データ変換レイヤを使用します。
A.2.3.1 Crystal Reports
Crystal Reports は、データベース ファイルに格納されているデータの書式設定、整列、選択、および並べ替
えを行うためのインターフェイスとして機能します。このプログラムは、実際にデータベースを読み取る 1 つ以
上のデータ変換レイヤ ファイルと通信して、データを取得します。Crystal Reports は、多くのデータ形式を操
作できるように、Crystal Reports 他のファイルを使用してデータを直接操作します。
A.2.3.2 データ変換
各データは、Crystal Reports 固有の DLL 群で変換されます。各データ タイプに固有の DLL 群は、そのタイ
プのデータ構成を認識し、レポートを印刷、プレビュー、またはエクスポートできるように正しく変換します。
注
Crystal Reports には、すべてのサポートされるダイレクト アクセス データベース タイプに対応するデータ変換
DLL が付属しています。
639
2012-05-10
データ ソースへのアクセス
A.2.3.3 データベース
データベース ファイルは、1 つまたは複数のテーブルで構成されます。異なる DBMS アプリケーションは、デー
タベース情報を異なる方法で格納します。たとえば、dBASE は各データベース テーブルを個別のファイルとし
て格納します。これに対して Access では、複数のテーブルをクエリー、マクロ、およびその他のデータベース
要素と共に 1 つのファイルに格納できます。
Crystal Reports で直接データベース ファイルにアクセスすると、そのファイルのすべてのテーブルとフィール
ド情報が自動的に取得されます。すべてのテーブルとフィールドを使用しない場合でも、プログラムはすべて
のテーブルとフィールドを取得します。つまり、dBASE ファイルを開いた場合は、その dBASE ファイルに格納
されている 1 つのテーブルだけが利用できます。これに対して、Access ファイルを開いた場合は、すべての
テーブルを使用しない場合でもファイルに含まれるすべてのテーブルが取得されます。
注
Crystal Reports では、DAO エンジンまたは ODBC を介して Access データベースのクエリーを開き、クエリー
のフィールドをテーブルのフィールドと同じようにレポートできます。641 ページの 「DAO」および654 ページの
「アクセス」を参照してください。
A.2.4 共通のデータベース形式
Crystal Reports では、すべてのダイレクト アクセス データベース ファイル形式から同一の 3 層システムを使っ
てデータが取得されますが、それぞれのデータ形式について、異なる DLL 群が必要です。また、一部のデー
タ形式では、基本の 3 層構造が拡張されます。
次の節では、Crystal Reports で使用されるシステムを紹介し、最も一般的ないくつかのデータベース形式の
データにアクセスする方法について説明します。
A.2.4.1 Microsoft Access
Microsoft Access では、いくつかの方法でデータベース ファイルを開くことができます。それぞれの方法に長
所と短所があり、データの格納方式によって適切な方法が異なります。ここでは、Crystal Reports から DAO エ
ンジンを使って Access データを開く方法について説明します。また、654 ページの 「アクセス」?では、Microsoft
の ODBC(Open Database Connectivity)標準を使用するもう 1 つの方法について説明します。
注
Crystal Reports で DAO エンジンを使って Access データベースを開くと、データベース全体が開かれ、すべ
てのテーブルとクエリーが読み取られます。このため、Crystal Reports では、事前にコンピュータの大きなメモ
リ セクションをバッファとして確保しておく必要があります。
640
2012-05-10
データ ソースへのアクセス
A.2.4.2 dBASE, FoxPro, Clipper[dbase, foxpro, clipper]
Crystal Reports では、crdb_p2bxbse.dll に格納されている xBase エンジンを使用して、dBASE データを簡単
に直接開くことができます。また、FoxPro と Clipper のデータベース形式も、dBASE と互換性があります。この
ため、Crystal Reports は、これらの 3 種類の DBMS アプリケーションで作成されたファイルを同じ DLL でアク
セスします。
注
crdb_p2bxbse.dll 変換レイヤでは、バージョン 2.6 までの FoxPro ファイルがサポートされます。2.6 以降のバー
ジョンについては、656 ページの 「Visual FoxPro[visual foxpro]」を参照してください。
crdb_p2bxbse.dll は、Crystal Reports と、dBASE、FoxPro、または Clipper ファイルとの間のすべての変換を処
理します。これらの各データベース ファイルには 1 つのデータベース テーブルしか含まれませんが、レポート
からアクセスできるファイル数には、制限がありません。
注
dBASE データには、crdb_p2bbde.dll と Borland Database Engine(BDE)を使用してアクセスすることもできます。
BDE がデータベース データと通信する方法については、641 ページの 「Paradox」を参照してください。ただ
し、BDE では、FoxPro および Clipper データはサポートされません。
A.2.4.3 Paradox
Paradox で作成されたファイル(.DB)は、Borland Database Engine(BDE)を使用して他のアプリケーションで利
用できます。BDE は Paradox データを実際に操作して、リクエストされたテーブルとフィールドを返します。BDE
は実際のデータと密接に関連しているため、3 層データ アクセス モデルのデータベース レイヤと Paradox
データベース ファイルが統合されています。Crystal Reports は、crdb_p2bbde.dll を介して BDE にアクセスし
ます。
注
Crystal Reports は BDE をインストールしません。BDE は、サードパーティのアプリケーションとは別にインス
トールする必要があります。
A.2.4.4 DAO
Access 2.0 以降のバージョンでは、Microsoft の DAO(Data Access Object)エンジンが、データベースのデー
タを実際に処理する Microsoft Access データベース管理システムの一部となっています。通常、ユーザーが
DAO エンジンを直接操作することはありません。DAO エンジンは、アプリケーションで利用可能な Access デー
641
2012-05-10
データ ソースへのアクセス
タを渡すゲートウェイの役割を果たします。DAO エンジンは Access データと密接に結びついているため、
Crystal Reports では、DAO エンジンは実際のデータベースの一部と見なされます。
DAO は、Microsoft の OLE(Object Linking and Embedding)技術を使用し、オブジェクト指向アプローチによる
Access データへのアクセスを提供します。
Crystal Reports は DAO を使用して、Access データベース テーブルだけでなく、Access クエリーを開いたり
使用することができます。Access クエリーの詳細については、Access のマニュアルを参照してください。また、
『Crystal Reports オンライン ヘルプ 』で「DAO を介して Access のクエリーを開く」も参照してください。
注
•
•
Access のパラメータ クエリーとクロスタブ クエリーは、ODBC 接続を介してのみ開くことができます。詳細
は、 『Crystal Reports オンライン ヘルプ 』の「DAO を介して Access のクエリーを開く」も参照してください。
また、Crystal Reports では、Access アクション クエリーおよび更新クエリーはサポートしません。
レポートで Access クエリーを開くときは、Crystal Reports の[オプション]ダイアログ ボックスの[データベー
ス]タブで、[ビュー]および[ストアド プロシージャ]オプションがオンになっている必要があります。これにより、
Access データベースを開いたときにクエリーが表示されます。
Report Designer は、crdb_dao.dll を使用して、DAO とやり取りする情報やデータを変換します。
保護された Microsoft Access データベース
保護されている Access データベースを使用する場合は、Windows レジストリ データベースの SystemDB パラ
メータに System.mdw(Access 95 以降)ファイルへのパスが設定されている必要があります。Windows NT の場
合、SystemDB パラメータは次のレジストリ キーにあります。
•
Access 97
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Office\8.0\Access\Jet\3.5\Engines
•
Access 2000
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Access\Jet\4.0\Engines
A.2.4.5 Pervasive
Crystal Reports は、crdb_p2bbtrv.dll、p2bbtrv.dll、および p2ctbtrv.dll を使って Pervasive(以前の Btrieve)エ
ンジンに接続します。
Pervasive エンジンは、使用中の Pervasive のバージョンに固有の DLL と EXE が複雑に組み合わさって構成
されています。各種の Pervasive エンジンファイルの詳細については、Pervasive のマニュアルを参照してくだ
さい。
注
•
642
Crystal Reports で Pervasive データベースを読み取るには、Pervasive を正しく設定する必要があります。
既にシステムに Pervasive が正しく設定されている場合は、Crystal Reports をインストールした直後から
Pervasive データを使用できます。Crystal Reports をインストールすると、Pervasive データを読み取るため
2012-05-10
データ ソースへのアクセス
•
に必要な Pervasive ファイルも自動的にインストールされます。Pervasive エンジンが正しく設定されている
かどうかを確認する方法については、Pervasive のマニュアルを参照してください。
Crystal Reports で Pervasive データベースを開くと、データベース全体が開かれ、すべてのテーブルに関
する情報が読み取られます。このため、Crystal Reports では、事前にコンピュータの大きなメモリセクション
をバッファとして確保しておく必要があります。このバッファは最大で 65,536(64 K)バイトです。この制約に
より、Pervasive データベースのサイズは、テーブルのフィールド数にもよりますが、約 80 テーブルに制限
されます。
Pervasive の DDF ファイル
Crystal Reports では、Pervasive データファイルの定義はデータファイル自体から直接決定されません。それ
には、ファイル、フィールド、およびインデックス情報を含む Pervasive データ定義ファイル(.DDF)群が必要で
す。Crystal Reports は Wbtrvdef.dll と Sbtrvdef.dll を使用して、これらの DDF ファイルを解析します。次の
DDF ファイルが必要です。これらはすべて同じディレクトリに置く必要があります。
•
File.ddf
•
Field.ddf
•
Index.ddf
一般に、DDF 群には複数の Pervasive データファイルの定義が含まれます。新しいレポートを作成するときに
1 つの DDF を選択すると、Crystal Reports は、その DDF で定義されているすべてのファイルをレポートに追
加し、Crystal ReportsDDF で定義されているパスをデフォルトのデータファイルのパスとして使用します。DDF
とデータファイルは異なる場所に置くことができます。
注
Pervasive の DFF と Pervasive エンジンの設定については、Pervasive のマニュアルを参照してください。
A.2.4.6 Exchange
Exchange は、Microsoft mail の後継バージョンです。Exchange には、電子メールだけでなく、グループの予定
表、電子フォーム、グループウェア、およびインターネット接続管理が含まれています。Exchange フォルダに
は、標準メモ(メール)、ファイル、および Exchange フォームのインスタンスが含まれます。Exchange のすべての
データは、Exchange Information Store に格納されます。
注
Exchange 2000 には、ADO を介してアクセスできます。
Crystal Reports では、Exchange Information Store に含まれるデータからレポートを作成できます。レポートの
作成に利用できる Exchange データ ソースは、次のとおりです。
643
•
メッセージ追跡ログ
•
アドレス一覧
•
個人用アドレス帳
•
グローバル アドレス一覧
•
配布リスト
2012-05-10
データ ソースへのアクセス
•
•
Exchange フォルダの内容
•
メール メッセージ
•
Exchange フォーム アプリケーション
•
OLE ドキュメントのプロパティ
Exchange 管理ツール
•
Exchange Server の Exchange メールボックスのプロパティ
•
Exchange Server のパブリック フォルダのプロパティ
•
パブリック フォルダの複製リスト
•
パブリック フォルダのアクセス コントロール リスト(ACL)
各 Exchange データ ソースは、データベース テーブルと同じように使用できます。また、各 Exchange データ
ソースを他のデータ ソースにリンクすることもできます。たとえば、電子メール アドレスをリンク フィールドとして、
メッセージ追跡ログをアドレス一覧に結合することができます。
Exchange データ ソースへのアクセスに使用されるデータ変換 DLL は、アクセス先のデータ ソースによって異
なります。次の表は、Exchange データ変換 DLL と各ファイルの目的を示しています。
ファイル名
データ ソース
crdb_p2strack.dll
Exchange Server メッセージ追跡ログ
crdb_p2smapi.dll
Exchange フォルダとアドレス帳
crdb_p2sexsrm.dll
Exchange Server メールボックス管理者
crdb_p2sexsrp.dll
Exchange Server パブリック フォルダ管理者
crdb_p2srepl.dll
Exchange パブリック フォルダ(複製)
crdb_p2sacl.dll
パブリック フォルダのアクセス コントロール リスト
(ACL)
crdb_p2soutlk.dll
p2soutlk.dll
Microsoft Outlook 用物理サーバー DLL
Exchange 変換 DLL は、MAPI(Microsoft Messaging API)を直接使用します。MAPI は、Exchange データの
データベース エンジンとして機能します。
644
2012-05-10
データ ソースへのアクセス
Crystal Reports による Exchange データの扱い方
Crystal Reports は、Exchange 管理ツールのデータ(パブリック フォルダ管理者、パブリック フォルダ(ACL)、パ
ブリック フォルダ(複製)、およびメールボックス管理者サーバー タイプ)を物理的なデータベース サーバーとし
て扱います。このデータにアクセスするには、SQL/ODBC サーバーを使用してログオンし、[SQL テーブルの
選択]ダイアログ ボックスから適切なテーブルを選択する必要があります。
いずれかの Exchange 管理ツール サーバーにログオンするには、1 つ以上のプロファイルを選択する必要が
あります。各プロファイルは、Exchange サーバーを表します。
注
Exchange プロファイルの設定および作成については、Microsoft Exchange のマニュアルを参照してください。
A.2.4.7 Outlook
Microsoft Outlook では、電子メール、予定表、タスク リスト、およびその他の一般的な形式を使用して、組織
および情報を強力に管理できます。
Crystal Reports は、Outlook データのレポートを作成するために、crdb_p2soutlk.dll および p2soutlk.dll を提
供します。Outlook データはフラットなファイル システムに格納されるため、この DLL は、そのデータに直接ア
クセスします。
注
Microsoft Outlook がインストールされており、UNC(Universal Naming Convention)読み取りアクセス権を利用
できる必要があります。UNC はパスの標準形式であり、ローカル エリア ネットワーク上のファイル サーバーの
パスも表現できます。基本の構文は \\server\share\path\filename です。
A.2.4.8 ACT!
ACT! 連絡先管理ソフトウェアは、xBase 形式に類似したリレーショナル データベース形式で情報を格納しま
す。詳細については、641 ページの 「dBASE, FoxPro, Clipper[dbase, foxpro, clipper]」を参照してください。
Crystal Reports では、このデータを読み取って、連絡先情報に基づいてレポートを作成できます。
ACT! バージョン 2 より新しいデータベース
バージョン 2 より新しい ACT! は、変換レイヤで中間手順を使用しません。バージョン 2 より新しい ACT! の
データベースでは、crdb_p2bact3.dll、p2bact3.dll、および p2iract3.dll が使用されます。詳細は、 『Crystal
Reports オンライン ヘルプ 』の「ACT! データベース」を参照してください。
A.2.4.9 Oracle
645
2012-05-10
データ ソースへのアクセス
Crystal Reports では、Oracle SQL データベースへの直接のアクセスをサポートします。このアクセスには、
crdb_oracle.dll が使用されます。このファイルは、Oracle データベースおよびクライアントを直接操作する Oracle
データベース ドライバと通信し、レポートに必要なデータを取得します。
注
•
•
Crystal Reports で Oracle SQL データベースを使用するには、システムに Oracle クライアント ソフトウェア
がインストールされ、その場所が環境変数 PATH で指定されている必要があります。
crdb_oracle.dll を使用して Oracle にログオンすると、日付書式が Crystal Reportsのデフォルトの日付/時
刻書式に変更されます。
A.2.4.10 Sybase Adaptive Server
Crystal Reports では、Crystal Reports と共にインストールされる crdb_p2ssyb10.dll を使用して、Sybase Adaptive
Server によって作成されたデータベースに直接アクセスすることができます。この DLL は、Sybase データベー
ス ドライバと通信し、Sybase Adaptive Server のデータを読み取ります。Sybase サーバーが正しく設定されて
いれば、Crystal Reports をインストールした直後から Sybase のデータを読み取ることができます。
A.2.4.11 Lotus Domino
Lotus Domino は、組織内の各部署間のコミュニケートおよび情報を共有するための強力なグループウェアで
す。
Crystal Reports では、ネイティブ ドライバまたは ODBC ドライバを使用して、Lotus Domino データベースを読
み取ることができます。ODBC ドライバの詳細については、656 ページの 「Lotus Domino」を参照してください。
インストール中に Lotus Domino を選択すると、crdb_p2snote.dll が追加されます。
注
•
•
Lotus Domino の実行ファイルのディレクトリには、Nextpwd.dll と Lotus API DLL(Lcppn201.dll)がインストー
ルされます。
Notes.ini ファイルに次の行が追加されます。
EXTMGR_ADDINS=extpwd
注
Lotus Domino の実行ファイルのディレクトリとデータ ディレクトリがパスに追加されます。
A.2.4.12 Informix Online Server
646
2012-05-10
データ ソースへのアクセス
Informix Online Server は、SQL 準拠のクライアント/サーバー機能を提供します。
Crystal Reports では、Crystal Reports と共にインストールされる crdb_p2sifmx.dll を使用して、Informix によっ
て作成されたデータベースに直接アクセスすることができます。この DLL は、Informix データベース ドライバ
と通信し、Informix データを読み取ります。この DLL を使用するためには、Informix クライアントをインストール
し、正しく設定しておく必要があります。
A.2.4.13 DB2 Server
IBM の DB2 Server は、人気の高い IBM のデータベース管理スイートの一部で、SQL に準拠したクライアン
ト/サーバー アプリケーションです。
Crystal Reports では、Crystal Reports と共にインストールされる crdb_p2sdb2.dll を使用して、DB2 によって作
成されたデータを開くことができます。この DLL は、DB2 データベース ドライバと通信し、DB2 データを読み
取ります。この DLL を使用するには、DB2 クライアントをインストールし、正しく設定しておく必要があります。
A.2.4.14 Active Data
Crystal Reports では、ADO(ActiveX Data Objects)、RDO(Remote Data Objects)、DAO(Data Access Objects)
などの ActiveX データ ソースからレポートを作成できます。これらのデータ ソースから作成されたレポートは、
ActiveX データ ソースを使用する Visual Basic アプリケーションでも利用できます。Crystal Reportsは、
CDO(Crystal Data Objects)もサポートします。これは、Visual Basic の配列を使って実行時に作成されるデー
タセットです。
また、Crystal Reports では、実際のデータ ソースを指定しないでレポートを作成することもできます。この場合
は、データ定義ファイルが使用されます。データ定義ファイルは、仮のデータベース フィールドを表示するた
めの ASCII テキスト ファイルです。データ定義ファイルを使ってレポートを作成すれば、アプリケーション開発
者は、実際のデータ ソースを実行時に柔軟に指定できます。
Crystal Reports には、Active Data からレポートを作成するため、次に示す DLL が用意されています。
647
ファイル
説明
crdb_fielddef.dll
Microsoft ActiveX Data Objects 用
crdb_ado.dll
Microsoft ActiveX Data Objects 用
2012-05-10
データ ソースへのアクセス
ファイル
説明
crdb_cdo.dll
Crystal Data Object 用
cdo32.dll
Crystal Data Object COM DLL
crdb_dao.dll
Microsoft Data Access Objects 用
crdb_odbc.dll
ODBC 用
上記の DLL は、データ ソースごとに異なるドライバ群と通信します。
A.2.4.15 ローカル ファイル システム
Crystal Reports を使用すると、ファイル名、バージョン番号、日付などの情報を含み、システムまたはネットワー
ク ドライブに置かれているファイルからレポートを作成できます。
Crystal Reports は、ファイル システムを読み出すために、crdb_filesystem.dll を提供します。
注
ローカル ファイル システムでの UNC(Universal Naming Convention)読み取りアクセス権が必要です。UNC は
パスの標準形式であり、ローカル エリア ネットワーク上のファイル サーバーのパスも表現できます。基本の構
文は \\server\share\path\filename です。
A.2.4.16 NT イベント ログ
Windows NT バージョン 3.51 以降を使用している場合は、Crystal Reports を使用して、NT イベント ログのレ
ポートを作成できます。イベント ログとは、ネットワーク管理者が Windows NT Workstation または Windows NT
Server で発生するさまざまな種類のイベントを記録および追跡するために使用するデータベースです。
Crystal Reports は、NT イベント ログ データを操作するために、crdb_p2sevta.dll(アーカイブ ログ)と
crdb_p2sevtc(カレント ログ)を提供します。これらのファイルは、Windows NT オペレーティング システムの一部
である Advapi32.dll 内の Event Logging API と通信します。
648
2012-05-10
データ ソースへのアクセス
A.2.4.17 Microsoft IIS/Proxy ログ ファイル
MS IIS(Microsoft Internet Information Server)または Microsoft Proxy を使用している場合は、Crystal Reports
を利用して、ログ ファイルのレポートを作成できます。これらのログ ファイルは、Web サーバーおよび Web ブ
ラウザを使用したときに発生するさまざまな種類のイベントを追跡します。
Crystal Reports は、MS IIS および Proxy ログ ファイルのために crdb_p2smsiis.dll を提供します。通常、ログ
ファイル データはフラット ファイル システムに格納されるため、この DLL は直接そのデータにアクセスします。
注
ローカル ファイル システムでの UNC(Universal Naming Convention)読み取りアクセス権が必要です。UNC は
パスの標準形式であり、ローカル エリア ネットワーク上のファイル サーバーのパスも表現できます。基本の構
文は \\server\share\path\filename です。
A.2.4.18 Web/IIS ログ ファイル
Crystal Reports を使用すると、Web ログ ファイルのレポートを作成できます。これらのログ ファイルは、Web
サーバーおよび Web ブラウザを使用したときに発生するさまざまな種類のイベントを追跡します。
Crystal Reports は、Web/IIS ログ ファイルのために crdb_p2swblg.dll を提供します。通常、ログ ファイル デー
タはフラット ファイル システムに格納されるため、この DLL は直接そのデータにアクセスします。
注
ローカル ファイル システムでの UNC(Universal Naming Convention)読み取りアクセス権が必要です。UNC は
パスの標準形式であり、ローカル エリア ネットワーク上のファイル サーバーのパスも表現できます。基本の構
文は \\server\share\path\filename です。
A.3 ODBC データソース[odbc データソース]
ODBC(Open Database Connectivity)は、Microsoft が開発したデータベースアクセス仕様です。ODBC を使
用すると、1 つのアプリケーションからさまざまな種類のデータにアクセスできます。アプリケーションは、単一の
ファイル群(ODBC)と通信するだけで、ODBC によってアクセスできるすべてのデータソースを扱うことができま
す。
パーソナルコンピュータで利用できるデータベース管理システム(DBMS)は何百もあり、DBMS データにアクセ
スするアプリケーションは何千種類に及びます。データにアクセスする Crystal Reports などのアプリケーション
を設計する企業は、一般に、ユーザが使用しているデータの種類に応じて個別に通信方法を開発する必要が
あります。Crystal Reports でも、直接アクセスできるデータベースについては、この方式が採用されています。
649
2012-05-10
データ ソースへのアクセス
一方、DBMS は、ODBC 経由のデータアクセス方法を提供して、自己のデータを ODBC データソースとして
公開することもできます。ODBC と通信できる Crystal Reports などのアプリケーションは、任意の ODBC デー
タソースに簡単にアクセスできます。ほとんどの一般的な DBMS 製品が ODBC ドライバを提供しているため、
Crystal Reports では、ほとんどすべての種類のデータを使用できます。
A.3.1 長所
ODBC を使用してデータにアクセスする最大の利点は、ただ 1 つのインターフェイスで広範囲のデータにアク
セスできることです。現在では、一般的なほとんどのデータベース管理システムが ODBC ドライバを提供して
おり、その数は毎日増加しています。したがって、Crystal Reports ではあらゆる種類のデータを扱うことができ
ます。
ODBC には高い柔軟性があるため、異なる ODBC データ ソースに対して同じレポートを使用することもできま
す。たとえば、Oracle データ ソースを使用してレポートをデザインした後、Microsoft SQL Server に切り替えた
場合は、レポートで使用されている ODBC データ ソースを変更するだけで済みます。ただし、新しいデータ
ソースのテーブルとフィールドの構造が、元のデータ ソースと同じである必要があります。テーブル名は異なっ
てもかまいません。詳細は、 『Crystal Reports オンライン ヘルプ 』の「レポートがアクセスしているデータ ソー
スの変更」を参照してください。
経験豊富な SQL(Structured Query Language)プログラマも、ODBC 標準を有効に利用できます。Crystal
Reportsは SQL を使用して ODBC と通信するため、SQL プログラマとデータベース管理者は、ODBC に送信
する SQL 文を表示または編集して、データ ソースからデータを取得する方法を詳細に管理できます。
最後に、Crystal Reports は SQL パススルー技術を使用できます。ODBC に SQL 文を送信して初期データ
セットを取得することにより、サーバー システムで行われるデータ取得作業や並べ替え作業を減らして、ローカ
ル メモリとリソースをより重要な作業のために解放します。また、SQL 文で指定されたデータだけが Crystal
Reports に返されるため、ネットワーク トラフィックとネットワーク リソースの使用量が削減されます。Crystal
Reportsでは、元のデータを効率よく操作することにより、時間と手間を省いてデザインなどの重要な作業に集
中することができます。
A.3.2 短所
データベースから ODBC を介してデータをアプリケーションに渡すには、多くのレイヤが必要です。最初に
Crystal Reports は、いくつかのデータをリクエストします。このリクエストは、ODBC 変換レイヤによって、ODBC
が理解できる形式(SQL 文)に変換されます。ODBC は、リクエストされたデータが存在する場所を判定し、ODBC
データ ソースにリクエストを渡します。詳細については、652 ページの 「DBMS 変換(ODBC データ ソース)レイ
ヤ」を参照してください。データ ソースはリクエストを分析し、それを DBMS が理解できる形式に再び変換しま
す。このように複雑なプロセスのために、途中で失敗する可能性があります。
また、ODBC データ ソースを使用するには、ODBC データ ソース アドミニストレータを使用して正しく設定す
る必要があります。あるシステムで作成したレポートを ODBC データ ソースの設定が異なるシステムで開くと、
Crystal Reports はデータに接続できない場合があります。
650
2012-05-10
データ ソースへのアクセス
ODBC によって使用される SQL は、ANSI(American National Standards Institute: 米国規格協会)が規定する
標準の SQL に基づいています。ただし、SQL ベースの DBMS アプリケーションの中には、その DBMS に固
有の機能を SQL に追加しているものもあります。ODBC は、これらの DBMS 固有の機能を変換することはで
きません。ただし、データでそのような機能が使用されていても、多くの場合、ODBC はデータのほとんどを取
得できます。詳細については、508 ページの 「SQL 言語」を参照してください。
A.3.3 5 つのレイヤ
Crystal Reports は、5 つのレイヤを使って ODBC データ ソースにアクセスします。
•
651 ページの 「Crystal Reports レイヤ」
•
651 ページの 「ODBC 変換レイヤ」
•
652 ページの 「ODBC レイヤ」
•
652 ページの 「DBMS 変換(ODBC データ ソース)レイヤ」
•
653 ページの 「データベース レイヤ」
この 5 つのレイヤは、いずれも SQL(Structured Query Language)を使用して、データベースからレポートにデー
タを渡します。
A.3.3.1 Crystal Reports レイヤ
Crystal Reports で ODBC データを操作する場合は、目的のデータを ODBC にリクエストする SQL 文が生成
されます。Crystal Reports に組み込まれている強力な SQL ジェネレータは、レポート生成のために ODBC
データ ソースまたは ODBC 自体をできる限り有効に働かせる SQL 文を作成し、レポートの生成に必要なデー
タだけを返します。
A.3.3.2 ODBC 変換レイヤ
Crystal Reports は、ダイナミック リンク ライブラリ crdb_odbc.dll を使用して、ODBC と通信します。このファイル
は Crystal Reports 環境でのみ使用され、レポートから任意の ODBC データ ソースにアクセスできるようにし
ます。このファイルが、実際に ODBC とデータをやり取りするドライバです。
651
2012-05-10
データ ソースへのアクセス
A.3.3.3 ODBC レイヤ
ODBC は、Windows 環境に組み込まれたいくつかの DLL、INI ファイルおよびレジストリ で構成され、データ
ベースへのリクエストとデータを受け渡すゲートウェイとして機能します。あらかじめ、ODBC 経由で使用する
データベース ファイルを ODBC データ ソースとして設定しておく必要があります。
データ ソースに関する情報は、Odbc.ini と Odbcinst.ini およびレジストリに記録されます。32 ビット ODBC で
は、個々のデータ ソースに関する情報が Windows レジストリ データベースから取得されます。
注
ODBC および ODBC ファイルの詳細については、Microsoft の ODBC マニュアルを参照してください。
Crystal Reports と ODBC の間のすべてのトランザクションでは、SQL が使用されます。通常は SQL を使用し
ないでテーブルを作成および操作するデータベースでも、そのデータベースによって提供される ODBC ドラ
イバ(DBMS 変換レイヤ)は、SQL を使用して ODBC と通信します。この ODBC 機能はほとんどのユーザーに
とって透過的ですが、経験の豊富なユーザーならば、ODBC が使用する SQL の機能を利用できます。
A.3.3.4 DBMS 変換(ODBC データ ソース)レイヤ
このレイヤは、ODBC 経由のデータベース通信をサポートする DBMS によって提供される 1 つ以上のドライバ
で構成されます。Crystal Reports には、最も一般的なデータベース形式に対応するいくつかの ODBC ドライ
バが付属しています。ODBC ドライバを使ってデータベースのデータにアクセスできるかどうかわからない場合
は、DBMS アプリケーションのマニュアルを参照してください。Windows プラットフォームで動作するほとんどの
DBMS アプリケーションは、ODBC ドライバを提供しています。
DBMS から ODBC ドライバが提供されている場合は、その DBMS をインストールしたマシンで、ODBC ドライ
バを ODBC に登録する必要があります。それには、ドライバの名前とファイル名を Odbcinst.ini とレジストリに
記録します。多くの場合、この作業は、DBMS アプリケーションをシステムにインストールしたときに自動的に行
われます。ただし、使用しているネットワーク システムと DBMS アプリケーションによっては、ODBC セットアッ
プ アプリケーションを使って ODBC ドライバを手作業で登録する必要がある場合もあります。ODBC ドライバ
の登録方法については、DBMS のマニュアルを参照してください。
ODBC ドライバを登録したら、そのドライバを使用して ODBC データ ソースを構築する必要があります。ODBC
データ ソースとは、Crystal Reports から ODBC 経由でデータにアクセスするときに接続先となるオブジェクト
です。データ ソースは Odbc.ini とレジストリに記録されます。データ ソースは DBMS 変換ファイル(ODBC ドラ
イバ)を追跡し、ときにはデータベース自体を追跡します。ODBC データ ソースは、Oracle、Sybase SQL、MS
SQL Server などのデータベース形式によって指定されます。ただし、特定のデータベースを指定したい場合
もあります。この場合は、ODBC データ ソースを DBMS 変換レイヤとデータベース レイヤの両方に拡張しま
す。
SQL サーバーなどのクライアント/サーバー データベースを使用している場合、ODBC ドライバは、データベー
ス通信レイヤを介してデータベース サーバーと通信します。このレイヤは、データベース クライアントがデータ
ベース サーバーと通信するために使用するレイヤと同じです。
652
2012-05-10
データ ソースへのアクセス
注
ODBC ドライバは、主に DMBS クライアントが検索パスに設定したディレクトリを使用して、特定の DBMS クラ
イアント ファイルをローカルのマシン内で検索します。この場合、ローカル PC 上のワークステーション クライア
ントからそのサーバーに接続できることが必須条件になります。接続の確認方法が不明な場合は、IT 管理者
に問い合わせてください。
Crystal Reports と ODBC ドライバにとって、データベース サーバーが存在するプラットフォームは問題になり
ません。サーバーに接続して通信するのは DBMS クライアントであり、Crystal Reports とドライバは、DMBS ク
ライアントと通信するだけで済みます。詳細については、503 ページの 「SQL および SQL データベースの使
用」を参照してください。
A.3.3.5 データベース レイヤ
ODBC データ ソースが参照するデータベース ファイルは、システムの任意の場所に置くことができます。ODBC
データ ソースさえ設定されていれば、Crystal Reports がデータの実際の場所と形式を識別する必要はありま
せん。したがって、ODBC データ ソース経由で通信する限り、あらゆる形式のデータベースをネットワーク上の
任意の場所に配置できます。
A.3.4 データベース クライアントのインストール
理想的には、データベース クライアントは、Crystal Reportsをインストールする前にインストールして設定しま
す。Crystal Reports を先にインストールしている場合でも、インストールの後、Crystal Reports の ODBC デー
タ ソース名(DSN)が適切に設定されているかどうかを確認することができます。
A.3.5 ODBC DSN の設定が正しいかどうかを確認する
1 [スタート]メニューから[設定]を選択し、[コントロール パネル]を選択して、[プログラムの追加と削除]をダブ
ルクリックします。
2 [Crystal Reports]を選択して、[変更]をクリックします。
3 [Crystal Reports セットアップ]ダイアログ ボックスで[追加/削除]をクリックします。
4 [データ アクセス]フォルダを展開して、適切なデータ アクセス オプションを選択します。
たとえば、Informix データベース クライアントをインストールした場合、[データ アクセス]フォルダから Informix
を選択します。
5 選択したデータ アクセス オプションをクリックして、[すべての機能を使用できません]を選択します。
653
2012-05-10
データ ソースへのアクセス
オプションの横に X マークが表示され、[機能の説明]領域に機能が完全に削除されるというメッセージが
表示されます。
6 このダイアログ ボックスと次のダイアログ ボックスで[次へ]をクリックします。
選択したデータ アクセス オプションが削除されます。
7 手順 2 ~ 4 を繰り返します。
8 選択したデータ アクセス オプションをクリックして、[ローカル ハード ディスクにインストールされます]を選
択します。
オプションの横の X マークが消え、[機能の説明]領域に、機能がインストールされるというメッセージが表示
されます。
9 このダイアログ ボックスと次のダイアログ ボックスで[次へ]をクリックします。
選択したデータ アクセス オプションが再インストールされ、ODBC DSN が適切に設定されます。
A.3.6 一般的な ODBC データベース形式
A.3.6.1 アクセス
Crystal Reports は、Microsoft Access ファイルを直接開くことができますが(640 ページの 「Microsoft Access 」
参照)、代わりに ODBC を使って開くこともできます。ODBC で Access データベースと通信する場合、DAO を
介して Microsoft Jet データベース エンジンと通信するための変換 DLL が使用されます(641 ページの 「DAO」
参照)。Jet データベース エンジンは、DBMS 固有の ODBC ドライバの 1 つです。
Jet エンジンは、実際に Access データベースに対するすべての操作を行う Access DBMS の一部です。Jet
は、Access データを扱う上で必要なコンポーネントです。Jet エンジンはすべての Access データベースに必
要不可欠な部分であるので、ここではデータベース レイヤの一部として示されています。
A.3.6.2 Excel
Microsoft Excel スプレッドシートをデータベースに変換して、Crystal Reports から ODBC を使ってそのデー
タベースを読み取ることができます。Excel 4.0 以前では、[データ]メニューの[データベースの設定]コマンドを
使用します。Excel 5.0 以降では、[挿入]メニューの[名前]サブメニューにある[定義]を使用します。変換を行う
と、スプレッドシートの行がレコードになり、スプレッドシートの列がフィールドになります。スプレッドシートをデー
タベース形式に変換する方法については、Excel のマニュアルを参照してください。スプレッドシートが変換さ
れたら、そのファイルを ODBC データ ソースに設定して、Crystal Reports から選択できます。
654
2012-05-10
データ ソースへのアクセス
注
Excel 7 以降を使用している場合は、スプレッドシートを Access データベース テーブルとしてエクスポートする
と、他の Access テーブルを読み取る場合と同様に、Crystal Reports でそれらを読み取ることができます。詳
細については、Excel のマニュアルを参照してください。
DAO エンジンを使用して Excel スプレッドシートの ODBC データ ソースを設定することができます。DAO エ
ンジンは、Crystal Reports のインストール時にシステムにインストールされます。ただし、Excel スプレッドシー
トの ODBC データ ソースは手作業で設定する必要があります。詳細は、 『Crystal Reports オンライン ヘルプ
』の「ODBC データ ソースのセットアップ」を参照してください。
A.3.6.3 Informix
Crystal Reports は、ODBC を介して Informix データベースにアクセスできます。それには、Informix クライア
ントがマシンにインストールされている必要があります。インストールされていない場合は、Informix データベー
スと通信するために ODBC が使用するドライバを Crystal Reports が提供します。
注
Informix ODBC ドライバは、次の Business Objects ダウンロード センターからダウンロードできる DataDirect
ドライバの一部です。
http://www.businessobjects.com/products/downloadcenter
A.3.6.4 DataDirect を使用した SQL データベース
一般では、多くのさまざまな SQL データベース管理システムが入手できます。そのほとんどは、ODBC を使用
してアクセスできます。Crystal Reports は、ダウンロードによっていくつかの DataDirect ODBC ドライバを提供
し、次に示すような一般に普及している多くの SQL データベースにアクセスできます。
•
Informix
•
Oracle
•
Sybase
•
Microsoft SQL Server
•
DB2
Crystal Reportsは crdb_odbc.dll 変換 DLL を使用して ODBC と通信しますが、DataDirect ドライバによって、
ODBC は実際のデータベースに簡単にアクセスできます。
注
DataDirect ドライバがアクセスしない SQL データベースを使用している場合は、DBMS のマニュアルを参照
し、必要な ODBC ドライバを確認してください。
655
2012-05-10
データ ソースへのアクセス
SQL データベースと言語としての SQL を混同しないでください。SQL(Structured Query Language)は、データ
ベース ファイルのデザイン、構築、読み取りに使用される特殊なコンピュータ言語です。詳細については、503
ページの 「SQL および SQL データベースの使用」を参照してください。
SQL データベースは、SQL に基づいてデータベースを作成および操作するコンピュータ アプリケーションの
集まりです。一般に、SQL DBMS アプリケーションは、ネットワークを介した大きなクライアント/サーバー アプリ
ケーションを実行できるように設計されています。
SQL データベースを開くために、ODBC は DataDirect ODBC サポート ドライバ(すべての SQL データベー
ス形式に共通)、データベース形式に固有の DataDirect ODBC ドライバ、および実際にデータベース ファイ
ルと直接に通信するデータベース通信レイヤのセットを使用します。この DBMS 変換レイヤで提供されるファ
イルは、すべて DataDirect ドライバです。
注
•
•
ODBC は、必ずしも DataDirect ドライバを使用して、ここで説明した SQL データベースにアクセスする必
要はありません。ほとんどの SQL DBMS アプリケーションは、独自の ODBC ドライバを提供します。
DataDirect ドライバは、次の Business Objects ダウンロード センターからダウンロードできます。
http://www.businessobjects.com/products/downloadcenter
A.3.6.5 Visual FoxPro[visual foxpro]
Microsoft Visual FoxPro データには、ODBC を使ってアクセスします。一方、バージョン 2.6 以前の FoxPro
データには、xBase エンジンを使って直接アクセスします。FoxPro バージョン 2.6 以前を使用している場合は、
641 ページの 「dBASE, FoxPro, Clipper[dbase, foxpro, clipper]」を参照してください。
A.3.6.6 Lotus Domino
Lotus Domino データベースは、Crystal Reports から ODBC を介して読み取ることができます。Windows の場
合、Lotus Domino DBMS 変換レイヤは以下の 3 つのファイルで構成されます。
•
Nsql32.dll
•
Nsqlv32.dll
•
Nsqlc32.dll
これらのファイルは、Lotus Notes クライアントによってインストールされたドライバを使用して、Lotus Domino
データベースを操作します。ローカル マシンに Lotus Domino のクライアント コンポーネントがインストールさ
れている必要があります。
注
データベース レイヤでは、Lotus Notes クライアントの代わりに Domino Server を使用することもできます。
656
2012-05-10
データ ソースへのアクセス
A.3.6.7 OLE DB
OLE DB は、Microsoft のデータベース接続エンティティであり、その概念は ODBC に似ています。
注
•
•
OLE DB は、接続の方法であってデータベースではありません。ODBC と同様、インターフェイス レイヤを
提供することで、他のデータベース管理システムで作成したデータを交換できるようになります。
OLE DB では、OLE DB プロバイダを使用する必要があります。これは、OLE DB において ODBC ドライ
バに相当するものです。
A.4 JDBC データソース
JDBC(Java Database Connectivity)は Sun Microsystems により開発された Java API で、開発者の Java コード
とデータベースのインタフェースの役割を果たします。JDBC が提供するメカニズムを利用して、指定のデータ
ベースへの接続、データベース情報のリクエスト、およびデータベースの情報の選択を行うことができます。
JDBC は Microsoft の ODBC(Open Database Connectivity)と似ており、データベースに依存しない、Java ア
プリケーションと SQL ベースのデータベース間の接続の標準となりつつあります。
JDBC には ODBC と同じ長所が多くありますが、JDBC 固有の長所として、JDBC ドライバが利用可能なデー
タベースであれば、プラットフォームに依存することなくそのデータベースにアクセスできることがあげられます。
注
Crystal Reports JDBC ドライバには、JDK バージョン 1.4 が必要です。
A.4.1 JNDI
JNDI(Java Naming and Directory Interface)は、組織内にある各種のネーミング サービスやディレクトリ サービ
スをシームレスにつなぐのに使用できるインターフェイスです。レポーティング作業にとって最も重要な JNDI の
特長は、JDBC 接続を保持するリポジトリが JNDI にあることです。JNDI を使用して既定の接続文字列を指定
すれば、ユーザーがデータ ソースに接続する際、接続 URL やクラス名を指定する必要がなくなります。
また、JNDI を使用して、より高度な接続プール タイプのデータベース接続を活用できます。いずれの場合も、
JNDI によって有効なデータベース接続が返されます。
注
サポートされる JNDI サーバーの一覧については、Crystal Reports 製品メディアに収録の Platforms.txtファイ
ルを参照してください。
657
2012-05-10
データ ソースへのアクセス
A.4.2 5 つのレイヤ
Crystal Reports は、5 つのレイヤを使って JDBC データ ソースのデータにアクセスします。
•
658 ページの 「Crystal Reports レイヤ」
•
658 ページの 「JDBC 変換レイヤ」
•
658 ページの 「JDBC レイヤ」
•
659 ページの 「DBMS 変換(JDBC データ ソース)レイヤ」
•
659 ページの 「データベース レイヤ」
A.4.2.1 Crystal Reports レイヤ
Crystal Reports レイヤはデータベース ドライバに依存しないレイヤで、その他のレイヤを稼動させるのに使用
します。
A.4.2.2 JDBC 変換レイヤ
Crystal Reports は、ダイナミック リンク ライブラリ crdb_jdbc.dllを使用して、JDBC と通信します。このファイルは
Crystal Reports 環境でのみ使用され、レポートから任意の JDBC データ ソースにアクセスできるようにします。
このファイルが、実際に JDBC とデータをやり取りするドライバです。
A.4.2.3 JDBC レイヤ
JDBC は、データベース リクエストやデータが通過するゲートウェイとして動作します。
注
JDBC および JDBC ファイルについての詳細は、Sun Microsystems の Web サイトを参照してください。
Crystal Reports と JDBC の間のすべてのトランザクションでは、SQL が使用されます。通常は SQL を使用し
ないでテーブルを作成および操作するデータベースでも、そのデータベースによって提供される JDBC ドライ
バ(DBMS 変換レイヤ)は、SQL を使用して JDBC と通信します。ほとんどのユーザーはこの JDBC 機能を意識
658
2012-05-10
データ ソースへのアクセス
することはありませんが、経験の豊富なユーザーならば、JDBC で使用される SQL 言語の機能を利用すること
ができます。
A.4.2.4 DBMS 変換(JDBC データ ソース)レイヤ
このレイヤは DBMS が提供する 1 つ以上のドライバで構成され、JDBC とデータベースの通信を可能にしま
す。JDBC ドライバを使ってデータベースのデータにアクセスできるかどうかわからない場合は、DBMS アプリ
ケーションのマニュアルを参照してください。
A.4.2.5 データベース レイヤ
JDBC データ ソースが参照するデータベース ファイルは、システムの任意の場所に置くことができます。JDBC
データ ソースが設定されていれば、Crystal Reports にデータの実際の場所と形式を識別させる必要はありま
せん。したがって、JDBC データ ソース経由で通信する限り、あらゆる形式のデータベースをネットワーク上の
任意の場所に配置できます。
A.4.3 サポートされる JDBC データベース形式
SQL データベース管理システムにはさまざまあり、その多くは JDBC 経由で使用できます。Crystal Reports は
crdb_jdbc.dll変換ファイルをとおして JDBC と通信します。このファイルは、完全に JDBC に準拠するドライバ
で作業できるようにするものです。Crystal Reports で正式にサポートされる JDBC 準拠のサードパーティ デー
タベース ドライバは以下のとおりです。
•
IBM DB2
•
Oracle
•
Microsoft SQL Server
•
BEA LiquidData for WebLogic
注
特定バージョンの要件および上記のドライバ一覧の更新に関する情報は、Crystal Reports 製品メディアに収
録のリリース ノートを参照してください。テストの進捗に応じて、サポートされるデータベース ドライバが増える
可能性があります。
659
2012-05-10
データ ソースへのアクセス
A.4.4 Crystal Reports JDBC ドライバの設定
Crystal Reports をインストールする際、以下の Crystal Reports JDBC ドライバ ファイルがシステムに追加され
ます。
•
•
\Program Files\Business Objects\common\3.5\bin ディレクトリ
•
crdb_jdbc.dll
•
crdb_jdbc_res_en.dll
\Program Files\Business Objects\common\3.5\java ディレクトリ
•
•
CRConfig.xml
\Program Files\Business Objects\common\3.5\java\lib ディレクトリ
•
CRDBJavaServer.jar
A.4.4.1 JDBC/JNDI 設定用 CRConfig.xml
Crystal Reports JDBC ドライバをインストールした後に CRConfig.xml ファイルを設定しないと、ドライバは機能
しません。タグの完全な一覧は、 『Crystal Reports オンライン ヘルプ 』の「CRConfig.xml タグのリファレンス」
を参照してください。設定が必要な主要なタグは、JavaDir、Classpath、および IORFileLocation です。
A.5 Business Objects ユニバース
Business Objects ユニバースから Crystal レポートを作成できます。Crystal Reports では、ユニバースを選択
し、Business Objects クエリー パネルというツールを使用してそのユニバースに基づくクエリーを作成します。
このクエリーは、Crystal SQL コマンド オブジェクトとして保存される SQL 文のベースになります。SQL コマン
ド オブジェクトの詳細は、 『Crystal Reports オンライン ヘルプ 』の「SQL コマンドの定義」を参照してください。
注
•
•
660
Crystal Reports でユニバースからレポートを作成すると、クエリーは、ユニバースが参照する、レポートを作
成したときのデータベースの構造に基づいて生成されます。ユニバースが変更された場合は、クエリー パ
ネルに戻り、その変更をレポートに反映する必要があります。詳細については、342 ページの 「既存のクエ
リの編集」を参照してください。
BusinessObjects Supervisor によって作成および管理されるセキュリティがユニバースに含まれている場合、
現在のレポートには、そのレポートを作成するユーザーの権限が常に適用されます。
2012-05-10
データ ソースへのアクセス
•
Crystal Reports でユニバースを使用してレポーティングを行なう場合、Interactive Analysis サーバグルー
プはサポートされません。Page Server および Job Server グループはサポートされます。
Crystal Reportsのこのバージョンのクエリー パネルでは、OLE DB、DB2 ネイティブ、および Oracle ネイティブ
接続だけでなく、Sybase や Informix ODBC などの ODBC データベース接続もサポートされています。
Crystal Reports でユニバースからレポートを作成する方法については、339 ページの 「ユニバースへの接続」
を参照してください。
A.6 ビジネス ビュー
ビジネス ビューは、ビジネス ビュー マネージャで作成されたコンポーネントの集まりで、柔軟性に富んだ信頼
性の高い多層システムです。ビジネス ビュー マネージャにより、企業は綿密な独自のビジネス ビューを構築
し、レポート作成者やエンドユーザーが必要な情報にアクセスできる環境を作ることができます。
ビジネス ビューを使用すると、異種のデータ ソースのデータを統合することができます。また、さまざまなデー
タ収集プラットフォームやアプリケーションの境界を超えてデータを統合することができるため、データ収集方
法によるデータ解決、適用範囲、および構造の違いの問題は取り除かれます。
シック クライアント アプリケーションであるビジネス ビュー マネージャにより、管理者は、データ コネクション、
ダイナミック データ コネクション、データ ファンデーション、ビジネス エレメント、およびビジネス ビューを作成
および変更することができます。
注
ビジネス ビューは、次のようなコンポーネントの集まりとして定義されます。
•
データ コネクション
•
ダイナミックデータコネクション
•
データファンデーション
•
ビジネス エレメント
ユーザーは、Crystal Reports や Report Application Server などの製品からビジネス ビューにアクセスできま
す。
ビジネス ビューの詳細およびビジネス ビューの作成方法については、 『Crystal Business Views 管理者ガイド
』を参照してください。
注
•
•
661
ビジネス ビューを基にしたレポートを保存するとき、[名前を付けて保存]ダイアログ ボックスに[ビュー セキュ
リティの解除]というオプションが表示されます。このオプションを選択すると、レポートと Central Management
Server(CMS)との接続が解除され、そのレポートを開くときにログオン情報の入力が求められなくなります。
レポートが CMS から接続解除されると、BusinessObjects Business Intelligence プラットフォームおよびその
セキュリティ機能には再び接続できなくなり、レポートのデータも更新できなくなります。このオプションは、
通常保護されているデータを共有し、レポートの受信者にデータを最新表示させないようにする場合は便
利です。
ビジネス ビューに基づくレポートを安全な場所に保存するのは、システム管理者、または管理者権限があ
るレポート作成者の責任です。管理者が、行レベルまたは列レベルのセキュリティが設定されたビジネス
2012-05-10
データ ソースへのアクセス
ビューに基づくレポートを作成し、これを保存データと共にセキュリティが設定されていない場所に保存して
SAP BusinessObjects Business Intelligence プラットフォームとの接続を解除すると、レポートとそのデータ
はすべてのユーザが利用できるようになります。
A.7 Crystal SQL Designer ファイル
Crystal SQL Designer ファイルは、データベースから特定のデータ セットをリクエストするクエリーです。データ
が集められると、Crystal SQL Designer ファイル(.qry)として格納されます。そしてこの Crystal SQL Designer
ファイルは、データベース テーブルと同じように使用できます。SQL データベースから集めたデータが、レポー
トに追加できる新しいデータ セットになります。
注
•
•
Crystal Reports では、Crystal SQL Designer ファイルはレガシ プログラムによって作成されています。この
プログラムはもうサポートされていませんが、結果の QRY ファイルは引き続きレポートのデータ ソースとし
て使用できます。
Crystal Reports では SQL コマンドを作成することもできるため、独自の SQL 文を定義して、レポートのた
めのデータ ソースとして使用できる仮想テーブルを作成できます。作成した SQL コマンドは、BusinessObjects
Enterprise リポジトリ に保存して、多くのユーザーが共有することができます。詳細は、 『Crystal Reports
オンライン ヘルプ 』の「SQL コマンドの定義」を参照してください。
Crystal SQL Designer ファイルは、SQL(Structured Query Language)を使って ODBC データ ソース(SQL
Server など)からデータを集めます。SQL DBMS は、SQL 文の指示に従って、実際のデータの収集、並べ替
え、グループ化のすべてを処理します。最終のデータ セットのみがクエリー ファイルとして格納されます。
注
SQL の詳細については、526 ページの 「リンクオプション」を参照してください。
まず、SQL 文を練り上げて、必要なデータだけを含むクエリー ファイルを作成します。次に、元のデータベー
スの代わりに、そのクエリー ファイルに基づいてレポートをデザインします。データ収集する作業のほとんどは、
クエリーのデザイン時に SQL サーバーで実行されます。Report Designer でレポートをデザインするときは、わ
ずかなデータ セットを操作するだけよく、時間と労力を節約できます。
注
レポートでクエリーを使用するには、crdb_query.dll がインストールされている必要があります。
A.8 Crystal 辞書ファイル
辞書ファイル(.dc5)は、組織内のデータを構造化および単純化して表したものです。辞書ファイルは、Crystal
Reports を使用する組織内の各ユーザー向けに作成します。辞書を使用すると、エンド ユーザーは、自分が
必要とするテーブルとフィールドのサブセットだけを参照できます。
辞書は、Crystal Reports のオプションのデータ ソースです。便利なフィルタ機能を備え、エンド ユーザーにも
複雑なデータ アクセス方法が簡単で明確にわかります。そのうえ、ユーザーはデータベースのデータに直接
アクセスできます。辞書は、簡単に利用できる便利な機能です。
662
2012-05-10
データ ソースへのアクセス
注
Crystal Reports では、Crystal 辞書ファイルはレガシ プログラムによって作成されています。このプログラムは
もうサポートされていませんが、作成された DC5 ファイルは引き続きレポートのデータ ソースとして使用できま
す。
いったん作成した辞書は、複雑なデータに対して、どのユーザーにも理解できるような単純で明快な表示方法
を可能にするフィルタとして動作します。エンド ユーザーは、データの複雑さに関係なく、強力なレポートを作
成できます。
注
レポートで辞書を使用するには、crdb_dictionary.dll がインストールされている必要があります。
Crystal Reports は、P2ixbse.dll ファイルを使って辞書ファイルを読み取ります。この変換 DLL は、dBASE、
FoxPro、および Clipper データベースへのアクセスに使用される xBase エンジンを基にしていますが、辞書を
読み取るために必要な柔軟性をすべて備えています。詳細については、641 ページの 「dBASE, FoxPro,
Clipper[dbase, foxpro, clipper]」を参照してください。
注
以前のバージョンの Crystal Reports からアップグレードしている場合、前に使用していた辞書の古い辞書ファ
イル(.dct)は、Pervasive エンジンを基にしています。これらの古いファイルを新しい辞書ファイルに変換すると、
新しいファイルは Pervasive ではなく xBase 変換レイヤを使用します。ただし、Crystal Reports の以前のバー
ジョンでインストールされた Pervasive エンジンは、新しい辞書アプリケーションが古い辞書ファイルを読み取る
ためにシステムに残しておく必要があります。
データベース アクセス レイヤは、辞書ファイルが実際に元のデータベース データを読み取るために使用する
レイヤです。辞書は、Crystal Reports がデータを読み取るルートと同じルートを使用してデータベース データ
を読み取る必要があります。ダイレクト アクセス データベース レイヤと ODBC データ ソースの節では、データ
を読み取るために必要な辞書ファイルについて説明しています。
663
2012-05-10
レポート処理モデル
レポート処理モデル
B.1 概要
Crystal Reports は、3 パス の処理を通じてレポートを生成します。以下の項では、その各段階で実行される処
理について説明します。この節の最後には、これをフローチャートで表した図があります。
B.1.1 パスについて
パスとは、Crystal Reports がデータの読み取りまたはデータの操作で使用する処理です。Crystal Reports は、
レポートの複雑さに応じて、データにパス 1、パス 2、またはパス 3 の処理を施します。この機能により、複雑な
レポートの作成と式の処理が可能になっています。
B.1.2 プレパス 1
レポートをプレビューする場合、最初に評価される要素は定数式です。定数式とは、レポート全体で定数値を
持つ式です。どのレコードでも、定数式は変わりません。100*30 は定数式の例です。定数式は、出力生成処
理の初めに評価され、二度評価されることはありません。この処理は、BeforeReadingRecords と呼ばれます。た
とえば、定数式フィールド 100*30 を詳細セクションに配置した場合、出力されるどのレコードに対しても、その
結果は 3000 です。
B.1.3 パス 1
BeforeReadingRecords プロセスが実行されると、Crystal Reports で、データベースレコードの読み込みが開始
されます。レコードの読み込み処理の詳細は、次のとおりです。
665
2012-05-10
レポート処理モデル
•
レコードを取得します。レコードの選択と並べ替えは、この段階で可能な限りデータベースにプッシュダウン
されます。
•
定期的な式を評価します。定期的な式とは、データベースフィールドを含むが、小計や集計の情報への参
照を含まない式です。この評価時期は、"WhileReadingRecords" と呼ばれます。小計や集計情報への参照
を含む式は、パス 2 で処理されます。
•
ローカルなレコード選択が適用されます。複雑すぎてデータベースにプッシュダウンできなかったレコード
選択は、この段階で Crystal Reports によって適用されます。
•
保存データレコード選択式が適用されます。レコードは、レポートに戻ると、既存の保存データ式を使って
さらにフィルタ選択されます。
•
並べ替え、グループ化、および集計を行います。Crystal Reports は、この段階でデータの並べ替え、グ
ループ化、そして各グループに必要な小計および集計を計算します。
•
クロスタブ、チャート、およびマップを生成します。データベースフィールドと定期的な式だけに基づくクロス
タブ、チャート、およびマップだけがパス 1 で生成されます。積算合計や出力時に評価される式を含むクロ
スタブ、チャート、およびマップはパス 2 で生成されます。
•
保存データを格納します。集計処理が完了すると、すべてのレコードと集計値がメモリおよび一時ファイル
に保存されます。Crystal Reports は、それ以降データベースを読み込まず、保存したデータを使用して後
続の処理を実行します。
B.1.4 プレパス 2
プレパス 2 では、Crystal Reports は、上位/下位 N または階層グループ化に備えて、レポート内のグループ
を並べ替えます。この段階ではレコードは読み取られません。その代わり、Crystal Reports はパス 1 のグルー
プインスタンスだけを参照し、適切な上位/下位 N を決定したり、指定された階層グループ化設定に基づいて
グループを並べ替えます。
B.1.5 パス 2
Crystal Reports はパス 2 で、データを一覧してページを書式設定します。ページの書式設定は必要に応じて
行われます。つまり、Crystal Reports では、ユーザから要求されるか、パス 3 で総ページ数のカウントに必要
になるまで、ページは書式設定されません。
ページの書式設定では、Crystal Reports で次の項目が処理されます。
666
•
グループ選択式
•
積算合計
•
WhilePrinting Records とマークされた式の計算
2012-05-10
レポート処理モデル
小計または集計情報への参照を含む式があります。このような式は、出力時に評価される式です。また、こ
の評価時期を WhilePrinting Records と言います。
•
クロスタブ、チャート、およびマップ
積算合計や出力時に評価される式を含むクロスタブ、チャート、およびマップはパス 2 で生成されます。ま
た、クロスタブに基づくチャートもパス 2 で生成されます。
•
OLAP グリッド
•
サブレポート
•
必要に応じたページの生成
注
•
•
レポートがグループ選択式を含む場合は、小計、総計、および集計の値が正しくならない場合があります。
これは、パス 1 で総計と集計が計算された後に、パス 2 でグループ選択式がデータに再度フィルタを適用
するためです。集計操作の代わりに積算合計を使用することにより、グループ選択式を含むレポートのデー
タを集計できます。
オンデマンドサブレポートを使用して、メインレポートを単一パスレポートのままにしておくことができます。
オンデマンドサブレポートを使用した場合でも、Crystal Reports ではデータを通じてパス 2 を作成する必
要があります。ただし、このパス 2 は、サブレポートにドリルダウンするまで開始されません。したがって、オ
ンデマンドサブレポートを使用することで、サブレポートを含んでいるレポートのパフォーマンスを向上させ
ることができます。
B.1.6 パス 3
最後のパス 3 では、総ページ数が決定されます。この値は、"合計ページ数"や"ページ数(N/M)"などの特殊
フィールドを使用するレポートに適用されます。
667
2012-05-10
Crystal Reports エラーメッセージ
Crystal Reports エラーメッセージ
C.1 Drive:\filename.extension
ドキュメントを開くことができませんでした。Crystal Reports ドキュメントでない可能性があります。
コンテキスト
拡張子が RPT でない Crystal レポートファイルを開こうとしたときに発生します。
原因
このエラーは、レポートが壊れているために発生します。
解決策
破損したファイルの代わりに、レポートのバックアップコピーを使用する必要があります。
C.2 Drive:\test.rpt
ドキュメントを開くことができませんでした。Crystal レポートドキュメントでない可能性があります。
ドキュメントの拡張子に問題はありませんが(RPT)、ドキュメントが壊れているようです。このレポートを開いたこと
がある場合は、別のバージョンの Crystal Reports で開いてみてください。それでも開くことができな場合は、管
理者に連絡してください。
コンテキスト
拡張子が RPT の Crystal レポートファイルを開こうとしたときに発生します。
原因
このエラーは、レポートが壊れているために発生します。
解決策
破損したファイルの代わりに、レポートのバックアップコピーを使用する必要があります。
669
2012-05-10
Crystal Reports エラーメッセージ
C.3 Database Connector セッションのロードに失敗しました。
原因
レポートを処理しているマシンで Database Connector を使用できません。
レポートを処理中のマシン上で、データベースコネクタが要求するデータベースクライアントソフトウェアが使用
できません。
コンテキスト
保存データを含まない Crystal レポートを最新表示またはプレビューすると発生します。
解決策
レポートを実行できるすべてのマシンに、レポートが使用している Database Connector がインストールされてい
ることを確認します。
レポートを実行できるすべてのマシンに、Database Connector が必要とするデータベースクライアントソフトウェ
アがインストールされ、PATH システム環境変数に設定されていることを確認します。
C.4 接続を開けませんでした。詳細: [データベースベンダーコード: <ベンダーコード番号>]
原因
• レポートが要求するデータソースが使用できないか、レポートを処理中のマシンで正しく設定されていない。
•
レポートが要求するデータベースサーバが使用できない。
•
データベースクライアントがインストールされているが、レポートを処理中のマシン上に正しく設定されてい
ない。たとえば、DB2 データベースエイリアスで、Oracle tnsnames エントリ、または Sybase DSEDIT エント
リが不足している場合や、設定が不適切な場合です。
コンテキスト
保存データを含まない Crystal レポートを最新表示またはプレビューすると発生します。
解決策
• レポートが必要とするデータソースが使用可能であり、レポートを実行するすべてのマシンで正しく設定さ
れていることを確認します。たとえば、ODBC データソースまたは JNDI データソースが存在し、クライアント
テストツールから接続を証明できます。
•
670
レポートに必要なデータベースサーバが実行中で、レポートを実行するすべてのマシンのクライアントテス
トツールで接続を証明できることを確認します。
2012-05-10
Crystal Reports エラーメッセージ
C.5 データベースからのデータを受信できませんでした。詳細: [データベースベンダーコード: <ベン
ダーコード番号>]
コンテキスト
保存データを含まない Crystal レポートを最新表示またはプレビューすると発生します。
原因
サーバに送信済みのレポート SQL クエリを実行できません。データベースサーバがクエリを処理した後、サー
バからエラーが返されたためです。たとえば、レポートが要求するフィールド/テーブル/プロシージャが見つか
らないか、クエリに構文エラーがあります。
解決策
レポートが正しい接続情報を使用していることを確認してください。たとえば、データソース名、サーバ名、デー
タベース名、およびユーザ名が正しいことを確認します。
データベースクライアントテストツールで、レポートが使用しているフィールド、テーブル、プロシージャが存在し
ていること、および SQL クエリがそれらに対して実行可能であることを確認します。
Crystal Reports では、SQL クエリに[データベース]メニューの[SQL クエリの表示]オプションに示される構文エ
ラーがないことを確認します。
Crystal Reports に表示される SQL クエリが有効な場合は、データベースクライアントテストツール全体で同じ
SQL クエリを実行します。
671
2012-05-10
アクセシブルレポートの作成
アクセシブルレポートの作成
D.1 アクセシビリティについて
Crystal レポートを組織全体、あるいは世界中の多くのユーザーのために作成する場合には、ユーザーの多様
なニーズについて考える必要があります。レポート作成者はしばしば、特定の言語、国、ジョブ タスクまたはワー
ク グループのためにレポートを作成しますが、ユーザーのアクセシビリティ要件を考慮することもまた重要です。
Web へのアクセスに困難を生じる身体的、感覚的または認知的な制限があるレポート ユーザーがいる可能性
があります。それらのユーザーは、見たり、動いたり、聞いたりすることができないかもしれません。視力が弱かっ
たり、自由に動けなかったりするかもしれません。失読症、色覚異常、発作性疾患の人もいれば、テキストを読
んだり理解したりすることに困難を感じる人もいます。障害が複数ある人もいて、症状の度合いもさまざまです。
障害をお持ちの方は、障害のある部分を補佐する機能を備えた製品や技術など、補助テクノロジをよく利用さ
れます。補助テクノロジーには、スクリーンリーダー(テキストを音声出力に変換)、スクリーン拡大鏡、音声認識
ソフトウェアなどの適応ソフトウェアプログラムがあります。障害のある人々は、テキストまたは音声のみでナビ
ゲートする特別なブラウザを使用することもあります。複数のピンが突出する点字ディスプレイ、または、"呼気"ス
イッチや"アイゲイズ"テクノロジーを使用した代替キーボードなどの補助デバイスを使用することもあります。
障害のある人々のレポート ニーズを満たすために、できるだけ多くの補助テクノロジをレポートで使用できるよ
うにデザインする必要があります。
アクセシビリティの問題は広範囲に及びますが、この節で説明する技術を使用すると、あらゆる人々に使いや
すいレポートを作成できます。
D.1.1 アクセシブルなレポートの利点
ビジネス界や政府のリーダーが障害を持った人々への Web コンテンツの配信に新しい標準を採用すればす
るほど、アクセシブルなデザインは情報管理および配信において重要な存在になっていきます。
アクセシブルなデザインには多くの利点があります。
•
アクセシブルなレポートはだれもが簡単に使用できます。
多くのアクセシビリティガイドラインは、使いやすさの向上につながります。アクセシブルレポートでは、論理
的で一貫したナビゲーションを提供する必要があります。コンテンツは明確に記述し、わかりやすくする必
要があります。
673
2012-05-10
アクセシブルレポートの作成
•
アクセシブルレポートは、新旧問わずさまざまなテクノロジーに対応します。
アクセシブルコンテンツは容易に単純な形式でエクスポートでき、携帯電話ブラウザ、携帯情報端末(PDA)、
その他の帯域幅の狭いデバイスで使用できます。
キーボードやマウスを使用しない人々がいることが考えられます。画面はテキスト専用で小さく、インターネッ
ト接続が遅いかもしれません。アクセシブルデザインを採用することにより、制限のあるテクノロジーを使用
する人々も情報に簡単にアクセスできるようになります。
•
アクセシブルコンテンツは、他の形式で簡単に再利用できます。
ビューアでは、アクセシブルレポートはさらに正確に他の形式にコピーまたはエクスポートされます。
•
アクセシブルレポートは、サーバの効率性を向上させます。
わかりやすいナビゲーションを提供することにより、ユーザは必要なものを迅速に見つけ出すことができるよ
うになり、サーバの HTTP リクエストの数の減少につながる場合があります。テキストのみのナビゲーション
にすると、貴重な帯域をふさぐ画像の数を減らすことができます。
•
最近の指導により、アクセシブルな Web コンテンツを提供することが世界的な動向になっています。
アクセシビリティを Web コンテンツの要件にする企業が増えています。政府がリハビリテーション法
(Rehabilitation Act)第 508 条を導入したアメリカでは、特にそうです。アクセシビリティは急速に Web コン
テンツ配信の重要部分になりつつあります。
•
アクセシブルコンテンツを提供するよう法律で定められている場合があります。
障害を持つ人々に公平な機会を保障するため、差別禁止法を導入する国が年々増えています。アクセシ
ビリティガイドラインを満たすよう法的に要求されていないとしても、ガイドラインに従う必要のある組織とビジ
ネスしようとすることもありえます。
•
既存のレポートを修正してアクセシブルにするよりも、新しいアクセシブルレポートを作成するほうが簡単で
す。
現時点でアクセシブルな機能をレポートに組み込んでおけば、後で既存のレポートを再デザインするよりも
コストを大幅に節約できます。
D.1.2 アクセシビリティ ガイドラインについて
最も包括的なアクセシビリティ ガイドラインは、国際的な World Wide Web Consortium(W3C)が開発した Web
Content Accessibility Guidelines(WCAG)です。WCAG は、障害を持つ人々への Web コンテンツ配信に関す
る最も信頼のおける推奨事項です。WCAG は、世界中の同様の Web コンテンツ標準の開発に影響を与えて
います。
世界中の組織と政府が W3C のアクセシビリティの推奨事項を採用しています。オーストラリアでは、障害差別
撤廃法に Web サイト アクセシビリティに対する標準が含まれています。同様のガイドラインがイギリスとヨーロッ
パ全体でも導入されています。カナダでは、政府の Web コンテンツはすべて、W3C の Web Content Accessibility
Guidelines を基にした Common Look and Feel(CLF)発案に従って開発されています。アメリカ政府は Web ア
クセシビリティをさらに一歩踏み込み、リハビリテーション法(Rehabilitation Act)第 508 条という形で法律を制定
し、政府の Web コンテンツにアクセスできる権利を保障しています。
674
2012-05-10
アクセシブルレポートの作成
すべてのガイドラインに共通しているのは、障害または機能障害の有無に関係なく、万人に有用な Web コン
テンツを提供することに主眼を置いていることです。レポートについても、アクセシブル デザインは同じキー コ
ンセプトに主眼を置いています。
•
コンテンツは理解しやすく、ナビゲートしやすい必要があります。
•
非テキスト オブジェクトの代替テキストや、テキスト バージョンのレポートを提供する必要があります。
•
オブジェクトは、オブジェクト間の関係が明らかになるように論理的に構成する必要があります。
•
レポートは、マウス、キーボード、カラー画面など、特定の 1 つのタイプのハードウェアに依存しないように
する必要があります。
特定のアクセシビリティ ガイドラインについての詳細は、694 ページの 「リソース」を参照してください。
D.1.3 アクセシビリティと Business Objects 製品
Business Objects 製品では、アクセシブル レポートをデザインし、Web を介してユーザーに配信することがで
きます。アクセシビリティ ガイドラインを遵守することによって、Crystal Reportsを使用して、障害を持つユーザー
にとってアクセシブルなレポートを作成できます。次にこれらのレポートを BI プラットフォームサーバに公開し、
障害のあるユーザが BusinessObjects Business Intelligence プラットフォーム Web デスクトップと DHTML ビュー
アを使用して Web で表示できるようにします。
この節で使用するレポートは Crystal Reports で作成されており、スクリーン リーダー(JAWS 4.5 を含む)を使
用してテストされています。
ただし、現在のところ Crystal Reports は、障害を持つレポート作成者に対しては、完全なアクセシビリティを提
供していません。
現在、BusinessObjects Business Intelligence プラットフォームセントラル管理コンソール (CMC) やセントラル
設定マネージャ (CCM) などの BusinessObjects Business Intelligence プラットフォームの管理コンポーネント
では、アクセシビリティ機能はサポートされません。ActiveX と Java ビューアも利用できません。
BusinessObjects Business Intelligence プラットフォーム Web デスクトップは、BusinessObjects Business
Intelligence プラットフォームでレポートを使用するためのメインのユーザインタフェースで、ほとんどのユーザは
ログオンしたり、レポートを表示したりできます。ただし、新しいアカウントのサインアップやスケジューリングといっ
たその他のエリアには、アクセスできません。
注
同じデザイン ガイドラインの多くを使用して OLAP Intelligence Professional レポートのアクセシビリティを向上
させることはできますが、Worksheet をアクセシビリティ用の形式にすることは困難です。障害を持つ方々にレ
ポートを提供するためのオプションとして、Crystal Reports をお勧めします。
D.2 レポートのアクセシビリティの向上
675
2012-05-10
アクセシブルレポートの作成
Crystal レポートのアクセシビリティを向上させる手始めとして、すぐ簡単に実装できるアクセシビリティ ガイドラ
インから始めます。デザイン規則や企業テンプレートの小さな変更が、アクセシビリティに重大な影響を与える
場合があります。
単純なナビゲーションと明確に記述されたコンテンツはアクセシビリティに重要ですが、これらは簡単に実装す
ることができ、すべてのレポート ユーザーにとって有用です。
次の節では、アクセシビリティを念頭においてレポートをデザインする方法に関するヒントとガイドラインを示しま
す。次のリンクをクリックして、目的の節にジャンプしてください。
•
676 ページの 「レポートへのオブジェクトの配置」
•
677 ページの 「テキスト」
•
681 ページの 「色」
•
682 ページの 「ナビゲーション」
•
683 ページの 「パラメータ フィールド」
D.2.1 レポートへのオブジェクトの配置
オブジェクトをレポートに配置する際に、留意が必要な一般的なガイドラインがいくつかあります。
D.2.1.1 オブジェクトの論理的な構成
オブジェクトをレポートに配置するときは、明確で論理的な配置であることを確認します。レポート内の 2 つの
オブジェクトの関係を示す必要があるときは特に注意します。たとえば、チャートのテキスト説明を含める場合
は、チャートに十分近づけてつながりがわかるようにします。
多くの補助テクノロジは、左から右へ、上から下へと読みます。したがって、チャートにテキスト説明とタイトルを
付ける場合は、ユーザーにどれを最初に読んでもらうかを決める必要があります。レポート内のオブジェクトが
正しい順序で読まれることを確認します。
D.2.1.2 オブジェクトの順序立った配置
レポートを SAP BusinessObjects Business Intelligence プラットフォームに公開すると、HTML バージョンでは、
レポート内でのオブジェクトの位置によってではなく、Crystal Reports にオブジェクトを追加した順序に従って、
レポート内のオブジェクトが構成されます。レポートは画面上では同じに表示されますが、ベースとしている
HTML コードでは、レポート オブジェクトは挿入された順序で一覧されています。スクリーン リーダーなどの補
676
2012-05-10
アクセシブルレポートの作成
助デバイスは、レポート左から右、上から下に読む代わりに、HTML で指定された順序に従います。レポートを
アクセシブルにするには、スクリーン リーダーに読ませる順序でオブジェクトをレポートに追加する必要があり
ます。
たとえば、[詳細]セクションに[四半期]フィールド、[年]フィールド、[請求書]フィールドを配置し、次に[レポート
ヘッダー]にレポート タイトル"四半期別の請求書"を追加します。レポートを BI プラットフォームサーバに公開
すると、Crystal Reports で表示したときと同じに見えますが、基になる HTML はまずデータベースフィールド
見出しを表示し、その次にタイトルを表示します。スクリーン リーダーは、レポートのタイトルを最初に読むので
はなく、[四半期]、[年]、[請求書]、[四半期別の請求書]といったヘッダーを最初に読みます。
これを回避するには、[四半期別の請求書]というタイトルを最初に挿入します。データ テーブルを追加する前
に、テーブル内容を示す紹介のテキスト オブジェクトを追加することができます。最後に、[詳細]セクションに
フィールドを追加します。これでレポートは、スクリーン リーダーでも理解可能になりました。まず"四半期別の
請求書"が読まれます。次のテーブルには、各四半期の請求書が一覧表示されます。"四半期、年、請求書"の
後にデータが続きます。アクセシブルなデータ テーブルの提供についての詳細は、686 ページの 「データテー
ブルのアクセシビリティの向上」を参照してください。
したがって、アクセシブルな レポートを作成するには、Crystal Reportsで作業を開始する前に、レポートでのオ
ブジェクトの配置順序を計画しておく必要があります。まず紙の上で計画します。追加するオブジェクトとその
配置場所を把握している必要があります。すべての計算、画像、チャートを計画に含めます。計画に基づいて
新しいレポートを作成するときは、オブジェクトをレポートの左上の角から右下の角に向けて順番に追加します。
オブジェクトは、配置後に変更することができます。この変更によって順序が影響を受けることはありません。
注
テキストのみのバージョンのレポートを作成する場合は、それをサブレポートとしてレポートに追加します。最も
重要なのは、サブレポートの追加は、レポートに別のオブジェクトを追加する前に行うことです。詳細について
は、677 ページの 「テキスト」を参照してください。
レポートにすべてのオブジェクトを追加したら、オブジェクト間をタブで移動することにより、その配置順序をテ
ストすることができます。
D.2.1.2.1 レポート内のオブジェクトの配置順序をテストする
1 レポート内のオブジェクトが選択されていないことを確認します。
2 タブ キーを押します。
Crystal Reports は、レポートに最初に配置したオブジェクトを選択します。
3 残りのオブジェクトをタブで移動します。
Crystal Reports がオブジェクト間のタブ移動に使用する順序は、スクリーン リーダーが公開されたバージョ
ンのレポートを表示するのに使用する順序と同じです。
D.2.2 テキスト
レポート設計者が直面する一般的なアクセシビリティに関する問題として、非テキスト オブジェクトのテキストの
みのバージョンでの提供がありますが、これも簡単に解決できます。非テキスト オブジェクトとは、画像や音声
677
2012-05-10
アクセシブルレポートの作成
を介して意味を伝えるオブジェクトを指します。非テキスト オブジェクトには、画像、チャート、グラフィカル ボタ
ン、テキストのグラフィカル表示、音声、アニメーション、およびオーディオまたはビデオ クリップがあります。
補助テクノロジを使用している人々は、テキストのみの置換に慣れているため、提供したテキストのみのバージョ
ンへの反応は良いでしょう。
テキストを使用してレポートのアクセシビリティを向上するには、いくつもの方法があります。
•
レポート内にオブジェクトの代替テキストを提供します。
•
レポートのテキスト バージョンを提供します。
•
テキストが明確に記述され、書式設定されていることを確認します。
テキストは、アクセシブル レポートを作成するための有用なツールです。スクリーン リーダー、音声合成装置、
点字ディスプレイを含むほとんどの補助テクノロジでは、テキスト入力が必要です。テキストはサイズ変更と書式
設定が簡単で、インポートやエクスポートに最も柔軟に対応できます。
D.2.2.1 代替テキストの提供
レポート作成時に、非テキスト オブジェクトを明確に表す代替テキストを使用する機会がよくあります。
•
説明テキスト オブジェクトを非テキスト オブジェクトの隣に配置し、それらを必ず連続した順序でレポートに
追加するようにしてください。詳細については、676 ページの 「オブジェクトの順序立った配置」を参照して
ください。
代替テキストでは可能なかぎり常に、レポート内の対応するオブジェクトと同じ情報を伝えます。たとえば、
レポートでデータを円チャートで表示している場合は、内容をまとめたテキスト ボックスをチャートの隣に配
置します。
非テキスト オブジェクトの目的を説明します。たとえば、画像をクリックすると動作が実行される場合は、そ
の動作を説明します。Web サイトを開くボタンについては、"クリックして Web サイトを表示"というラベルの
テキストボックスを提供します。
•
レポートにオーディオリンクが含まれる場合は、重要なオーディオクリップに対して文章化したものを用意し
ます。
•
レポートがマルチメディアまたはビデオ映像にリンクしている場合は、文章化したものを用意します。映像の
オーディオ部分とオーディオ説明に字幕を提供する場合もあります。字幕はオーディオに合わせる必要が
あります。
D.2.2.2 テキストのみのバージョンの提供
レポートに非テキスト オブジェクトが多すぎる場合、またはアクセシブル デザインをレポートすべてに統合する
リソースがない場合は、完全なテキストのみのバージョンを提供することができます。たとえば、データをチャー
678
2012-05-10
アクセシブルレポートの作成
トとグラフィックのみで表したレポートに対して、同じデータをデータ テーブルとテキスト オブジェクトを使って示
したテキストのみのレポートへのリンクを提供します。
テキストのみのバージョンでは、可能なかぎり常に、元のレポートと同じ情報を提供します。メイン レポートで画
像を介して伝える情報も、代わりのレポートではテキスト オブジェクトを使用して説明する必要があります。
注
完全なテキストのみのバージョンのレポートを作成できない場合でも、レポートに掲載した重要な情報や結論を
説明する要約を提供することで、アクセシビリティを向上させることができます。
サブレポートでテキストのみのバージョンを提供し、メイン レポートの左上の隅からリンクさせるのは良い方法で
す。そうすることにより、ユーザーは即座にテキストのみのバージョンに切り替えることができます。他のオブジェ
クトよりも先にサブレポートをレポートに追加し、スクリーン リーダーが最初にそれを読むようにします。サブレ
ポートをスクリーン リーダーや類似ソフトウェアを使用するユーザーのみに表示する場合は、サブレポート リン
クを背景色と同じ色で作成することもできます。リンクは小さな空欄として表示されますが、スクリーンリーダーに
よりリンクのテキストが読まれます。
D.2.2.2.1 サブレポートにテキストのみのバージョンを追加する
1
2
3
4
テキストのみのバージョンのレポートを作成し、保存します。
新しいレポートを開きます。
[挿入]メニューの[サブレポート]をクリックします。
[サブレポートの挿入]ダイアログ ボックスで[レポートを選択]を選択し、[参照]をクリックしてステップ 1 で作
成したレポートを見つけます。
5 サブレポートをクリックし、次に[書式]メニューから[サブレポートの書式]を選択します。
6 書式エディタの[サブレポート]タブで、[オンデマンド サブレポート]を選択します。
7 サブレポート リンクを隠すには、[フォント]タブでレポートの背景色と同じ色を選択します。
注
サブレポート リンクを隠す代わりに、サブレポートが含まれているセクションを条件付きで非表示にすること
ができます。詳細については、686 ページの 「アクセシビリティとサブレポート」を参照してください。
D.2.2.3 句読点の使用
音声テキストの論理的な流れを向上させるため、余分な句読点を追加して一時停止を入れる必要があります。
余分な句読点を追加しないと、スクリーン リーダーは、複数のテキスト オブジェクトを 1 つの連続した文として
読んでしまうため、内容を理解しにくくなります。たとえば、データ テーブルの情報が、止まることなく一気に読
まれてしまう可能性があります。これを避けるには、フィールド間にピリオドなどを挿入して、データ テーブル内
の情報を区切ります。
一部の句読点は、そのまま音読されるため、頻繁に用いると耳障りになることがあります。たとえば、コロン":"の
場合、スクリーンリーダーは、一時停止を入れる代わりに、"コロン"と読む可能性があります。スクリーン リーダー
の設定で、音読する句読点の数を変更することができます。
レポートの句読点の問題を解消するには、スクリーン リーダーを使用してレポートを読んでみるのがいいでしょ
う。オブジェクトがひとまとめにされ、あまりに速く読まれていませんか。または一時停止が多すぎませんか。句
679
2012-05-10
アクセシブルレポートの作成
読点が音読されていませんか。句読点によって、レポートが使いやすくなっていますか、それとも使いにくくなっ
ていますか。
D.2.2.4 テキストの書式設定
非テキスト オブジェクトの代替テキスト、またはテキストのみのバージョンを作成したら、テキストが明確に記述
されていて読みやすいことを確認します。次のデザイン ガイドラインに従います。
•
大きいフォントを使用します。
視覚機能障害のある人々はズーム機能を使用してレポート サイズを大きくすることができますが、フォント
サイズが大きければレポートをそれほど大きく拡大する必要はありません。たとえば、チャート ラベルと凡例
は、デフォルトの小さいフォントで表示できます。読みやすさを一般的に考えると、8 ポイント以上のフォント
の使用が推奨されます。アクセシビリティについては、11 ポイント以上のテキストを使用するようにしてくださ
い。
•
サンセリフ体のフォントを使用します。
Times や Palatino などのセリフ体フォントよりも、Arial、Helvetica などの単純なフォントのほうが読みやすく
なります。
•
左揃えまたは両端揃えを選択します。
中央揃えまたは右揃えのテキストよりも、左揃えまたは両端揃えのテキストのほうが読みやすくなります。
•
テキストが色の使用に関するガイドラインに従っていることを確認します。詳細については、681 ページの
「色」を参照してください。
注
パラメータと条件付き書式設定を使用し、ユーザーが別のフォント設定を選択できるようにすることができます。
詳細については、684 ページの 「アクセシビリティと条件付き書式設定」を参照してください。
D.2.2.5 テキスト オブジェクトと非テキスト オブジェクトの適切なバランスを見つける
代替テキストは非常に柔軟で、しばしばアクセシビリティのための最良のソリューションとなりますが、常に必要
で最適だとは限りません。
すべての非テキスト オブジェクトに対して代替テキストが必要なわけではありません。テキストによる説明なしで
はユーザーがわからない情報やナビゲーション要素を提供する非テキスト オブジェクトに対してだけ、テキスト
の代替を含める必要があります。装飾目的で使用される画像にテキスト説明は必要ありません。レポートにデー
タの背景として機能する透かし画像がある場合、代替テキストを提供する必要はありません。装飾オブジェクト
のテキスト説明の追加により、レポートが必要以上に繁雑になることがあります。
レポート内の視覚または聴覚オブジェクトのテキスト バージョンは、差し替えとしてではなく、オブジェクトの補
足として使用する必要があります。非テキスト オブジェクトを削除する必要はありません。レポート内の視覚オ
680
2012-05-10
アクセシブルレポートの作成
ブジェクトは、注意力欠如障害などの学習障害のある人々や、聴覚障害のある人々には特に有用です。聴覚
機能障害のある人々は、手話などのビジュアル コミュニケーションに慣れており、テキストよりも画像のほうが役
に立つと感じることがあります。
1 つの表現方法だけであらゆるユーザのニーズを満たすことはできません。オーディオクリップは視覚機能障
害のある人々には非常に有用ですが、聴覚機能障害のある人々は使用できません。両グループの手助けに
なるように、オーディオとテキストを組み合わせて提供します。マルチメディア映像は、視覚機能障害のある人々
にはオーディオ情報を、耳の聞こえない人々またはよく聞こえない人々にはビデオ情報を提供できます。マル
チメディア映像は、特に注意力欠如障害のある人々に効果的です。ただし、特定の精神上の障害を持つ人々
については、視覚オブジェクトやオーディオ オブジェクトが注意をそらす原因になることがあります。
最も理想的な方法は、テキストと非テキスト オブジェクトの両方で同じ情報を伝えることです。画像を補足する
説明テキストを追加し、テキストを補足するイメージを追加します。
テキスト オブジェクトがレポート内に多くなりすぎたら、別のレポートまたはサブレポートで完全にテキストのみ
のバージョンを提供することもできます。詳細については、678 ページの 「テキストのみのバージョンの提供」を
参照してください。
さまざまなユーザのニーズを満たす表現方法の選び方については、683 ページの 「柔軟なデザイン」を参照し
てください。
D.2.3 色
レポート内のオブジェクトに対して選択する色は、視覚機能障害、低視力、色覚異常のある人々のアクセシビ
リティに大きな影響を与えることがあります。レポートが白黒で表示されても理解できるものであることを確認しま
す。
D.2.3.1 対比色
視覚に制限のあるユーザの場合、色を区別できないことがあります。レポートの色の対比をテストするには、白
黒で印刷または表示します。たとえば、円チャートのさまざまな色で表示される値やフィールドを区別できる必
要があります。
レポートで色の区別ができない場合は、別の色に変えるかグレー スケールを使用します。これを実行しても問
題を解決できない場合は、他の特徴を変更できます。
テキストについては、書式エディタを使用してフォント、サイズまたはスタイルを変更します。境界線、下線、背
景色を追加して、テキスト オブジェクトを区別することができます。
チャートについては、塗りつぶしとパターンを組み合わせて使用します。チャート エキスパートを使用してカラー
チャートを白黒に自動変換したり、値を個々に選択して独自のパターンを選択したりすることができます。
681
2012-05-10
アクセシブルレポートの作成
D.2.3.2 色を使用した情報の提供
レポート中の重要な情報の特徴の識別は、色だけで行わないようにしてください。
たとえば、テキストオブジェクトを使用して、ユーザに"緑色のボタンをクリック"してサブレポートを開くように指示
するとします。しかし、視覚に障害のあるユーザーは、どのボタンが緑色かわかりません。色の他に別の決定的
な特徴を使用して、ボタンがわかるようにする必要があります。たとえば、ボタングラフィックをレポートの他の箇
所では使用されていない形に変更し、ユーザに"緑色の矢印ボタンをクリック"するように指示することができま
す。この解決策は、色を区別できる人には色情報を提供し、色を区別できない人には追加情報を提供します。
重要な情報を提供する目的で色が使用される一般的なケースとして、次のものがあります。
•
強調表示
テーブル内の特定の値を強調表示する場合、値の色だけを変更しないでください。たとえば、未払いの請
求書を赤で強調表示しても、視覚に障害のある人には支払済みの請求書と同じに見えるかもしれません。
[強調表示エキスパート]ダイアログボックスで、フォントスタイルなどの色以外のフォント特性を変更します。
•
ハイパーリンク
ハイパーリンクを識別する方法として色のみを使用することも、色覚異常のユーザーに問題を生じさせます。
レポートを白黒で印刷し、白黒でもハイパーリンクが見えることを確認します。
•
レポートの重要なエリアの識別
レポートを構成するとき、背景、またはセクションやエリア間の区切りとして色を使用しないでください。セク
ションの識別に色を使用せず、レポート全体のナビゲーションを明確かつ一貫したものにしてください。
D.2.4 ナビゲーション
アクセシブルなデザインの他の側面については、代替のナビゲーション方法をいくつか提供すると、より多くの
人のレポート ニーズを満たすことができます。W3C は、種類の違うナビゲーション方法をいくつか含めることを
推奨しています。その一方で、シンプルであることも直感的なナビゲーションでは重要です。508 条は、ナビ
ゲーション リンクの使用回数を極力抑えた簡単なナビゲーションを推奨しています。明確さと一貫性を保つか
ぎり、いずれの方法もレポートに効果的です。
レポートのある部分を、レポートをナビゲートしたり、いくつかのレポートに接続したりするために使用する場合
があります。ページ ヘッダーに一連のリンクを配置するときは、ユーザーがページを最新表示または新しいペー
ジを表示するたびに、スクリーン リーダー ソフトウェアがナビゲーション情報を読み直すことに留意してくださ
い。このような場合には、シンプルなナビゲーションが適しています。
大きなレポートについては、目次としてナビゲーション リンクの一覧をレポート ヘッダーに配置できます。デー
タ量が多いときは、さらに広範囲のナビゲーションが役に立ちます。ユーザがリストをスキップできるようにする
ため、最初のページヘッダにジャンプする"目次をスキップする"リンクで開始することができます。
682
2012-05-10
アクセシブルレポートの作成
一般的に、レポートのナビゲーションは次のガイドラインに従う必要があります。
•
各リンクのターゲットを識別します。
•
レポートの最初で、レイアウトとナビゲーションを説明する情報を提供します。
•
一貫したナビゲーションを使用します。
•
繰り返しのナビゲーション リンクをスキップできるようにします。
D.2.5 パラメータ フィールド
レポートで使用するパラメータ フィールドは、明確でシンプルにします。パラメータ フィールドは、アクセシブル
なコンテンツを提供するための有効な手段ですが、アクセシビリティに関するいくつかの懸念もあります。すべ
てのパラメータ フィールドのアクセシビリティをテストすることが重要です。
パラメータ フィールドは、以下のガイドラインに従う必要があります。
•
ユーザーが選択できるデフォルト値のリストを用意する。
ユーザーにパラメータ値の入力を求めないようにします。ユーザーが独自の値を指定する場合は、パラメー
タ フィールドがその値の書式を確実に認識できることを確認する必要があります。デフォルト値のリストは使
いやすく、ユーザーによる有効な書式の値の選択を保証します。
•
複雑なパラメータ フィールドを避ける。
複雑なパラメータ フィールドは、複数のパラメータに分割すると使用しやすくなります。パラメータ フィール
ドのアクセシビリティをテストする際には、範囲を必要とするパラメータに特に注意を払ってください。範囲の
上限と下限を表す離散値を入力する 2 つのパラメータ フィールドを設けるほうが、同じパラメータ フィール
ドで両方の値を選択するよりもわかりやすいでしょう。
•
日付フィールドに対して、ユーザーが独自の値を選択できるようにしない。
日付値の選択に使用できるカレンダーは、現在、アクセシブルではありません。デフォルトの日付値の選択
リストを用意してください。デフォルト値のリストを使用すれば、無効な日付書式を避けることができます。
D.3 柔軟なデザイン
柔軟性は、アクセシブルなレポートを提供するためのキーとなります。ユーザによって必要とするアクセシビリ
ティのレベルは異なるため、できるだけ多くの人々のニーズを満たすためにさまざまな表現スタイルと方法を提
供することをお勧めします。ただし、詳細なレポートについては、余分なオブジェクトによってレポートを繁雑に
することなく複数の表現スタイルを提供できない場合があります。
この問題を解決するには、アクセシブルな書式をどの程度レポートに統合するのかを計画します。各オブジェ
クトや各セクション、またはサブレポートとして、アクセシブルな書式を提供することができます。ユーザーにアク
683
2012-05-10
アクセシブルレポートの作成
セシブルな書式を表示するかどうかの選択を要求するパラメータ フィールドを使って、独自のアクセシビリティ
オプションを選択させることができます。
パラメータ フィールドを使用すると、異なるアクセス ニーズに合わせて条件付きでオブジェクトを書式設定した
り、セクションを非表示にしたりすることができます。または、サブレポートを使って異なる表示オプションを用意
することもできます。
D.3.1 アクセシビリティと条件付き書式設定
アクセシビリティ パラメータ フィールドを簡単な式で使用し、レポートの任意のオブジェクトに複数の書式を設
定できます。パラメータによってプロンプト表示されたときにユーザが"はい"を選択すると、条件式により、アク
セシブルな書式設定規則にオブジェクトが変更されます。ユーザが"いいえ"を選択すると、レポートはアクセシ
ブルな書式設定なしで、おそらく標準の企業テンプレートで表示されます。
アクセシブルなテキストの書式設定では、この節と W3C で提示するガイドラインに従うか、レポート ユーザー
の意見を聞いて最適な書式を決定することができます。使用する書式設定オプションを決定したら、オプション
を定義する条件式を作成できます。たとえば、全データベースフィールドを大きな Arial フォントで、黒背景に
白文字で、[複数行に出力]オプションを有効にした状態で表示できます。
次の手順では、[?アクセス]パラメータフィールドに基づいて条件付き書式設定式を作成します。[?アクセス]パ
ラメータフィールドが"はい"に設定されると、式はフォントサイズを大きくします。同じような式を使用して、色の
変更、境界線の追加、または [複数行に出力] 設定の有効化を行うことができます。条件付き書式設定フィー
ルドと書式設定式エディタの使用方法の詳細については、 『Crystal Reports オンライン ヘルプ 』を参照して
ください。
注
テキストオブジェクトが小さすぎて大きいフォントが入りきらない場合は、[複数行に出力] 設定を有効にする同
じような条件付き書式設定式を使用できます。この設定は、書式エディタの [共通] タブに表示されます。
D.3.1.1 アクセシブルな設定を条件付きでフォント サイズに適用する
1 Crystal Reports の[デザイン]タブでレポートを開きます。
2 [詳細]セクションで、条件付きで書式設定するフィールドを右クリックし、[フィールドの書式]を選択します。
3 書式エディタで、[フォント]タブをクリックします。
4
[サイズ] リストに対応する [式] ボタンをクリックします。
書式設定式エディタに、新しい式 [フォント サイズ] が表示されます。
5 式のテキスト ウィンドウで、(Crystal 構文を使用した)次の式を入力します。
if {?Access} = "Yes"
then 20
else 10
684
2012-05-10
アクセシブルレポートの作成
この式では、ユーザーがアクセシブルな書式設定の表示を選択すると、現在選択されているフィールドの
フォント サイズが 10 ポイントから 20 ポイントに変更されます。
6 [保存して閉じる]をクリックします。
7 書式エディタの[OK]をクリックします。
D.3.2 アクセシビリティと非表示セクション
個々のオブジェクトを条件付きで書式設定する代わりに、レポート コンテンツのアクセシブル バージョン用の
セクションを別に設け、アクセシビリティ パラメータ フィールドを使用して、そのセクションを条件付きで非表示
にすることができます。アクセシブル セクションおよび非アクセシブル セクションは、ユーザーが選択したパラ
メータ値に基づいて非表示または表示が切り替えられます。
レポート コンテンツのアクセシブル バージョンに別のセクションを作成すると時間が余計にかかりますが、オブ
ジェクト レベルで書式設定するよりも、セクションを条件付きで非表示にするほうが実用的であるケースがいく
つかあります。
•
レポートに多くのオブジェクトが含まれているときは、セクションを非表示にすることで、必要になる条件式の
数を減らすことができる場合があります。
•
すべての設定、機能を条件付きで書式設定できるとはかぎりません。しかし、セクションを非表示にすること
で、自由に書式設定を変更できます。
•
アクセシブル バージョンのレポートを表示するユーザーに、全く異なるタイプの情報を提供したい場合もあ
ります。たとえば、視覚オブジェクトとオーディオ オブジェクトを 2 つの別セクションに分割し、ユーザーが
選択するパラメータ値に応じて条件付きでそれらを非表示にする場合です。
D.3.2.1 アクセシブル セクションを非表示にする
1 条件付きで非表示にするセクションの左境界を右クリックし、[セクション エキスパート]をクリックします。
2
セクション エキスパートで、[非表示 - ドリル ダウン不可] 設定に対応する [式] ボタンをクリックします。
書式設定式エディタに、新しい式 [非表示 - ドリル ダウン不可] が表示されます。
3 式のテキスト ウィンドウで、(Crystal 構文を使用した)次の式を入力します。
if {?Access} = "No" then True
ユーザーがアクセシブルなレポート コンテンツを表示しないことを選択すると、この式により [非表示] オプ
ションが選択されます。
4 [保存して閉じる]をクリックします。
5 セクション エキスパートで[OK]をクリックします。
685
2012-05-10
アクセシブルレポートの作成
D.3.3 アクセシビリティとサブレポート
アクセシブルなレポートのデザインは、条件付きで書式設定されるオブジェクトと非表示にされるセクションの使
用により、非常に扱いにくくなる可能性があります。特に、次の 2 つの状況が問題です。
•
レポートをアクセシブルにするために、レポートセクション全体の構成を変更したり、または別のオブジェクト
が必要になったりすることがあります。
•
レポートに多数のオブジェクトやセクションが含まれている場合、それらすべてに条件式を作成するために
は、多大な時間を要します。
たとえば、レポートに含まれている多数の非テキストオブジェクトが、一連の複雑なグループやセクションで表示
される場合、テキストのみのバージョンを提供することができます。このバージョンでは、アクセシビリティガイド
ラインを満たすために、さまざまなオブジェクトと単純化したグループ構造を使用します。この問題に対処する
最も簡単な方法は、レポートのアクセシブルバージョンを表示するサブレポートを作成し、そのサブレポートを
メインレポートの先頭に置くことです。テキストのみのバージョンのアクセシブルなサブレポートを作成する詳細
については、678 ページの 「テキストのみのバージョンの提供」を参照してください。
スクリーンリーダーだけがサブレポートを認識するようにしたい場合は、サブレポートへのリンクを背景色と同じ
色に変更することによって、サブレポートのリンクを隠すことができます。あるいは、[?アクセス]パラメータフィー
ルドを使用して、レポート内のサブレポートの表示/非表示をユーザが選択できるようにすることも可能です。サ
ブレポートを固有のセクションに配置し、[?アクセス]パラメータフィールドに基づいて、そのセクションを条件に
よって非表示にします。詳細については、685 ページの 「アクセシビリティと非表示セクション」を参照してくださ
い。
D.4 データテーブルのアクセシビリティの向上
大きなデータ テーブルは、ユーザーがスクリーン リーダーなどの視覚以外の方法で Web にアクセスしている
場合、解釈が難しくなることがあります。スクリーン拡大鏡またはズーム機能を使用している人は、データ テー
ブルをナビゲートしにくいと感じるかもしれません。なぜなら彼らには、テーブル ヘッダーは常時見えないから
です。スクリーン リーダーが読んでいる値と対応する列および行ヘッダーとの関連付けが難しくなることがよく
あります。ユーザーは、データ値のテーブル内の位置と、他の値との関係を理解できる必要があります。
データ テーブルをナビゲートしやすくするには、テキスト オブジェクトを使用して、それぞれの値に対してコン
テキスト情報を提供することができます。条件付きの書式設定や非表示の使用により、ユーザーが表示を選択
した場合にだけオブジェクトを表示するレポートを作成できます。別のデザイン ガイドラインは、概要パラグラフ
や列ヘッダーの拡大など、よりわかりやすい大きなデータ テーブルの作成に役立ちます。
注
この節では、W3C アクセシビリティ ガイドラインに準拠した用語を使用しています。これらのガイドラインで
は、"データ テーブル"という用語は、列および行に配置される値を指します。Crystal Reports のデータテーブ
ルは、グループまたはページヘッダが[詳細]セクション内のデータベースフィールドと結びついた形式を取りま
686
2012-05-10
アクセシブルレポートの作成
す。データ テーブルをデータベース テーブルと混同しないでください。データベース テーブルとは、Crystal
Reports が使用するデータ ソースを指します。
D.4.1 テキスト オブジェクトとデータ テーブルの値
大きなテーブルをわかりやすく、そしてナビゲートしやすくするには、テーブル内の各値に関する情報を提供
するテキスト オブジェクトを追加します。
表示される値の意味とコンテキストの識別に必要な情報をすべて追加してください。また、必要に応じて、列
ヘッダーまたは付近のフィールドを説明する情報も追加してください。たとえば、レポートに従業員名と給与を
表示する場合、[給与]データベースフィールドの前に、"{名前}の給与は"というテキストオブジェクトを追加する
ことができます。ユーザは、追加されたテキストオブジェクトを読むことで、値のコンテキストと意味を判断するこ
とができます。
テキスト オブジェクトでは句読点を使用して、スクリーン リーダーが音読したときに、内容がわかりやすいことを
確認します。アクセシビリティ目的の句読点がないと、データ テーブルは、1 つの長い文として読まれる可能性
があり、ナビゲーションや解釈が非常に困難になります。たとえば、スクリーン リーダが列と行との間に一時停
止を入れるように、値の後にピリオドを追加することができます。詳細については、679 ページの 「句読点の使
用」を参照してください。
レポート内のすべてのオブジェクトと同様に、レポート上にテキスト オブジェクトを配置する順序は、アクセシビ
リティに影響することがあります。スクリーン リーダーは、オブジェクトが追加されたオリジナルの順序でオブジェ
クトを読みます。詳細は、676 ページの 「オブジェクトの順序立った配置」を参照してください。データ テーブル
内の特定の列の内容を表すテキスト オブジェクトを追加する際には、正しい順序で配置することが非常に重要
です。デザイン プロセスの最後にテキスト オブジェクトを追加すると、これらのテキスト オブジェクトは、参照し
ている列の後に読まれる可能性があります。レポート内の値を説明するテキスト オブジェクトを追加する際に
は、必ず読ませる順序に従って、オブジェクトをレポート上に配置してください。
アクセシブルなデータ テーブルを作成する場合は、前もってレポートを計画し、レポートで使用するオブジェク
トとデータベース フィールドを決定しておく必要があります。オブジェクトは、読ませる順序で配置する必要が
あるため、アクセシビリティを考慮して内容を計画することが不可欠です。この計画の一環として、テキスト オブ
ジェクトを使用してデータ テーブルの値を示す方法を選択するのはいい考えです。テキスト オブジェクトは、
単純に各データベース フィールドの前に追加することができます。また、テキストオブジェクトを条件付きで非
表示にしたり、テキストオブジェクトと値を結合する式を使用したりすることもできます。
D.4.1.1 テキストオブジェクトによるデータテーブルの説明
各フィールドの前に、テーブル内のフィールド位置を示すテキストオブジェクトを追加します。次の例では、テキ
スト ボックスは、社員番号についての情報を提供しています。このレポートがスクリーンリーダーによって読まれ
る際には、各番号の前に、テキスト ボックス内の簡単な説明が読まれます。
687
2012-05-10
アクセシブルレポートの作成
各値に対して付加的な情報を提供すると、データテーブルは視覚障害のない人々にとって煩雑に感じられま
す。そこで、フォントの色を背景色と同じ色に変更することにより、余分なテキストオブジェクトを隠すことができ
ます。余分なテキストは目には見えませんが、スクリーンリーダーはこれを検知して読むことができます。
D.4.1.2 データテーブルの説明に条件を付けて使用
テキストオブジェクトの追加は比較的簡単ですが、アクセシビリティに関するあらゆる懸念に対応しているわけ
ではありません。目に見えないテキストは、スクリーンリーダーが読むことができますが、視覚障害のある人々の
役には立ちません。テキストオブジェクトを条件付きで書式設定したり非表示にしたりすることによって、データ
テーブル内にテキストの説明を表示するかどうかを、ユーザが選択可能にすることができます。
688
2012-05-10
アクセシブルレポートの作成
レポートに、アクセシビリティパラメータフィールドが含まれていることを確認してください。[?アクセス]というアク
セシビリティパラメータフィールドの作成方法については、683 ページの 「柔軟なデザイン」を参照してください。
パラメータフィールドを使用して、条件付きでテキストオブジェクトを非表示にすることができます。これは、フォ
ントの色を背景色と同じにするのと同じ効果がありますが、テキストを条件付きで非表示にすると、パラメータ
フィールドを使用して、フォントサイズやスタイルといった別の書式設定オプションを指定することもできます。
[?アクセス] パラメータ フィールドに対し [はい] が選択されたときだけテキストオブジェクトが表示されるように、
次のレポートでは、単純な条件式を使用して、書式エディタの [共通] タブの [非表示] オプションを有効にし
ています。
{?Access}="No"
非表示にする各テキストオブジェクトにこの式を追加する必要があります。
ユーザが[?アクセス]パラメータフィールドに対し[はい]を選択すると、テキストオブジェクトは非表示にされず、
データテーブルにはテキスト説明が表示されます。
注
上のレポートでは、[?アクセス]パラメータフィールドは、[複数行に出力]オプション(これも書式エディタの[共通]
タブにある)を有効にし、視覚障害を持つ人々のためにフォントサイズを大きくするためにも使用されています。
ユーザが [?アクセス] パラメータフィールドに対し [いいえ] を選択すると、条件式は、テキストオブジェクトを非
表示にし、レポートのテキストオブジェクトの部分をスペースのままにします。
D.4.1.3 式を使用したデータテーブルの説明
データテーブルに説明テキストを追加する別の方法として、テキスト、データベースフィールド、条件付き書式
設定を組み合わせた式を作成することができます。[?アクセス]パラメータフィールドに基づく条件付き式にテキ
ストとデータベースフィールドを一緒に追加することにより、レポートにスペースを残すことなく、テーブル内の値
に関するオプションのテキストを提供できます。式を使用すると、レポート内のオブジェクトの数を減らすこともで
きるため、適切な配置順序の維持が容易になります。
689
2012-05-10
アクセシブルレポートの作成
注
レポートに集計フィールドまたは計算フィールドが存在する場合は、この方法を使用しないでください。式によっ
てデータが最良の方法で表示されても、データがテキストに変換されることにより、計算に支障をきたす可能性
があります。
以下のレポートでは [詳細] セクションに配置された式を使って、データベースフィールドと追加のテキストを結
合しています。ユーザが [?アクセス] パラメータフィールドに対し [はい] を選択すると、各式によって、説明と
値を含む文字列が作成されます。
このレポートで使用している式は、次のとおりです。
@社員番号
If {?Access}="Yes" then "Employee ID "
+ ToText({Employee.Employee ID},0) + ". "
else ToText({Employee.Employee ID},0)
@苗字
If {?Access}="Yes" then "Employee last name is "
+ {Employee.Last Name} + "."
else {Employee.Last Name}
@給与
If {?Access}="Yes" then {Employee.Last Name} + "'s Salary is " + ToText({Employee.Salary}) + "."
else ToText({Employee.Salary})
文の最後に句点が追加されていることに注意してください。各式の終わりの句点により一呼吸おかれるため、
スクリーンリーダーの音読内容がわかりやすくなります。
注
•
•
690
また、レポートでは、[複数行に出力]設定を有効にしてフォントサイズを大きくするためにも、[?アクセス]パ
ラメータフィールドが使用されています。
@Employee ID では、[?アクセス]パラメータフィールドに「0」を設定して、[複数行に出力]オプションを有効
にし、フォントサイズを大きくします。
2012-05-10
アクセシブルレポートの作成
ユーザが [?アクセス] パラメータフィールドに対し [いいえ] を選択すると、式はデータのみを返します。レポー
トでは、条件付きのテキストオブジェクトの部分にスペースは表示されません。どちらのバージョンのレポートも
読みやすくなっています。
D.4.2 データテーブルデザインのその他の考慮事項
テキストオブジェクトをデータ値に付けるのに加えて、その他のデザイン手法を使って、わかりやすくナビゲート
しやすいデータテーブルを作成します。
•
テーブルの内容を要約した導入的なパラグラフを含めます。要約は、できれば、1 文か 2 文の短いものが
よいでしょう。
•
ヘッダーでは、それらが付けられている値を明確に識別できる十分な情報が提供されていることを確認して
ください。
•
テーブルのアクセシビリティをテストするには、そのヘッダーを読み、値を左から右、上から下へと直線的に
読みます。たとえば、レポートで各顧客の名フィールドと姓フィールドを表示する場合、姓に続いて名が読
まれるようにするといいでしょう。できる限り、スクリーンリーダーソフトウェアなどの補助テクノロジーを使って、
レポートをテストしてください。
最終的なアクセシブル レポートには、データテーブルが含まれます。
691
2012-05-10
アクセシブルレポートの作成
テーブルを条件付きで表示するため、レポート作成者は、[ページヘッダ]を 2 つのセクションに分けました。[?
アクセス]パラメータフィールドが[いいえ]の場合は、1 ページ目のヘッダが非表示になります。[はい]を選択す
ると、2ページ目のヘッダが非表示になります。詳細については、685 ページの 「アクセシビリティと非表示セク
ション」を参照してください。
D.5 アクセシビリティと BusinessObjects Business Intelligence プラットフォーム
アクセシブルなレポートをデザインすることは、ソリューションの一部にすぎません。同一のデザイン ガイドライ
ンに従うアクセシブルなインタフェースを通してレポートが提供されていることを、確認する必要があります。
現在 SAP BusinessObjects Business Intelligence プラットフォームの管理コンポーネントと BI プラットフォーム
サーバ Web デスクトップのスケジュール機能は、あらゆるユーザにとってアクセシブルというわけではありませ
んが、SAP BusinessObjects Business Intelligence プラットフォーム Web デスクトップと DHTML ビューアを使
用すると、レポートへの Web 経由のアクセシブルなアクセスが可能です。
アクセシビリティの問題を考慮して、BI プラットフォームサーバでは、いくつかの機能拡張が行われました。ツー
ルバー ボタンやその他のイメージのテキスト説明が、ALT タグで提供されるようになりました。また、テキスト
ボックスの説明がわかりやすくなり、DHTML ビューアでショートカット リンクが提供されたため、ツールバーや
グループ ツリーをナビゲートすることができます。
D.5.1 SAP BusinessObjects Business Intelligence プラットフォームのアクセシブルな基本設定
SAP BusinessObjects Business Intelligence プラットフォームで最良のアクセシビリティサポートを実現するに
は、一定の表示基本設定が必要です。
BI プラットフォームサーバ Web デスクトップでは、[アクション] ビューにオブジェクトを表示します。使用可能な
レポートのテキスト一覧が表示され、レポート コマンドにショートカット メニューが使用されていないため、[アク
692
2012-05-10
アクセシブルレポートの作成
ション]ビューはよりアクセシブルだと言えます。ユーザーのニーズに従って、各ページに表示するレポートの数
を減らすこともできます。
レポートの表示には、基本設定のデフォルト ビューアとして DHTML ビューアを選択します。
注
基本設定を指定するには、システムで個人専用のアカウントを所有している必要があります。
D.6 アクセシビリティとカスタマイズ
Crystal レポートまたは SAP BusinessObjects Business Intelligence プラットフォーム Web デスクトップをカスタ
マイズする場合、あるいは BI プラットフォームサーバを既存の Web サイトに統合する場合は、変更が、米国ア
クセス委員会が 508 条で示すアクセシビリティガイドラインか、W3C の Web Accessibility Initiative に従って
いることを確認する必要があります。
Crystal レポートまたは SAP BusinessObjects Business Intelligence プラットフォーム Web デスクトップに対し機
能拡張を伴うカスタマイズを行う場合は、他のアクセシビリティの問題が発生する可能性があります。包括的な
アクセシビリティガイドラインを提供するオンラインリソースについては、694 ページの 「リソース」を参照してくだ
さい。以下のリストは、Crystal Reports または SAP BusinessObjects Business Intelligence プラットフォームのコ
ンテンツをカスタマイズする際に発生する可能性のある、一般的なアクセシビリティの問題を示しています。
•
フレーム
簡単に識別してナビゲーションできるように、フレームは明確にラベル付けされている必要があります。フ
レームの最上部に、その目的を示すテキストを追加します。たとえば、さまざまな国へのリンクの一覧を提供
するフレームの場合、タイトル("国")または短い指示("詳細は国をクリック")などのテキストをフレームに追加
することで、フレームの目的を明確にできます。
•
スタイルシート
視覚機能障害がある場合、障害に合わせた固有の表示基本設定でスタイルシートを作成することができま
す。たとえば、黒の背景に白い文字で大きなフォントを使ってすべての Web ページを表示するスタイルシー
トを作成できます。ユーザは自分専用のスタイルシートをCrystal レポートに適用することはできませんが、
ビューアに視覚機能障害のある人が必要に応じて拡大率を上げることができる[ズーム]ボタンを用意しま
す。条件式を使用し、ユーザにさまざまな書式設定オプションから選択させることもできます。詳細について
は、684 ページの 「アクセシビリティと条件付き書式設定」を参照してください。
•
スクリプト
Crystal コンテンツを変更して、コンテンツまたは対話型のオブジェクトを表示するスクリプトを含める場合
は、スクリプトの目的を示すテキストによって、そのスクリプトが識別されるようにしてください。また、スクリプ
トが無効にされたり、サポートされない場合でも、スクリプト付きのページが使用可能であることを確認してく
ださい。スクリプトとアクセシビリティについての詳細は、694 ページの 「リソース」?を参照してください。
•
イメージマップ
サーバ側のイメージマップは、座標を使用してアクティブ領域を特定します。なお、座標は、スクリーンリー
ダーにとって意味がありません。クライアント側のイメージマップは、イメージマップ内の各アクティブ領域に
リンクまたは URL を割り当てることができるため、アクセシビリティが向上します。
693
2012-05-10
アクセシブルレポートの作成
•
電子フォーム
電子フォームは、スクリーンリーダーでは扱いにくいため、慎重に設定する必要があります。フォームのコン
ポーネントにラベルを付けるときは、ラベルがフォーム コンポーネントの隣に明確に配置されていることを確
認してください。たとえば、[検索]ボックスの場合、適切なテキスト ボックスの横に"検索"タイトルが表示され
るようにします。
•
アプレットとプラグイン
ページ コンテンツの解釈にレポートでクライアント マシン上にアプレット、プラグインなどのアプリケーション
が必要な場合、これらのプラグインやアプレットは、アクセシビリティ ガイドラインに従う必要があります。
レポートに PDF または Real Audio ファイルなどのマルチメディアまたはその他の追加リソースファイルを添
付するときは、必要なプラグインまたはソフトウェアをインストールするリンクを提供し、必要なソフトウェアも
アクセシビリティ デザイン標準を満たしていることを確認します。
•
点滅
点滅画像は、発作性疾患の人の発作を誘発することがあります。W3C は、1 秒間に 4 回から 59 回点滅ま
たはフラッシュする画像の使用を避けることを推奨しています。
•
検索エンジンの挿入
Web サイトの、サーチ エンジンでの検索の向上を目的とした、隠しテキストは使用しないでください。隠しテ
キストはスクリーンリーダーによって読み取られるため、読みやすさを低下させます。また、隠しテキストは
Google などの人気のある検索エンジンでも推奨されておらず、利点もほとんどありません。
D.7 リソース
この節は、Crystal ソフトウェアでのアクセシブル レポートの作成方法と配布方法に主眼を置いています。この
節のレポート設計技術は、JAWS 4.5 を使用してテストされています。可能な場合は、JAWS や他の補足技術
を使用して、アクセシブル レポートのすべてをテストするとよい実践になります。
すべての Web 通信をアクセシブルにするには、W3C または政府の Web サイトから参照できるガイドラインで
詳細を確認してください。
•
World Wide Web Consortium の Web Accessibility Initiative(英語)
http://www.w3.org/WAI/
•
508 条についての米国アクセス委員会の Web サイト(英語)
http://www.access-board.gov/sec508/guide/
•
カナダ政府インターネット方針(英語)
http://www.tbs-sct.gc.ca/clf2-nsi2/index-eng.asp
694
2012-05-10
より詳しい情報
より詳しい情報
情報リソース
場所
SAP BusinessObjects 製品情報
http://www.sap.com
http://help.sap.com/businessobjects/ へアクセスし、[SAP BusinessObjects
Overview] サイドパネルから [All Products] をクリックします。
SAP ヘルプ ポータルでは、すべての SAP BusinessObjects 製品とそのデプ
ロイメントについて扱った最新のドキュメンテーションにアクセスできます。PDF
版またはインストール可能な HTML ライブラリのダウンロードが可能です。
SAP ヘルプ ポータル
一部のガイドは SAP サービス マーケットプレイスに格納されており、SAP ヘ
ルプ ポータルからは入手できません。ヘルプ ポータルのガイド一覧で、その
ようなガイドには SAP サービス マーケットプレイスへのリンクが付いています。
保守契約を締結されたお客様には、このサイトにアクセスするための正規ユー
ザー ID が付与されます。ID の入手方法については、お客様担当のカスタ
マー サポート担当者までお問い合わせください。
http://service.sap.com/bosap-support > ドキュメンテーション
•
•
SAP サービス マーケットプレイス
インストール ガイド:https://service.sap.com/bosap-instguides
リリース ノート:http://service.sap.com/releasenotes
SAP サービス マーケットプレイスには、一部のインストール ガイド、アップグ
レードおよび移行ガイド、デプロイメント ガイド、リリース ノート、サポート対象
プラットフォームに関するドキュメントが格納されています。保守契約を締結さ
れたお客様には、このサイトにアクセスするための正規ユーザー ID が付与さ
れます。ID の入手方法については、お客様担当のカスタマー サポート担当
者までお問い合わせください。SAP ヘルプ ポータルから SAP サービス マー
ケットプレイスにリダイレクトされた場合は、左側のナビゲーション ペインのメ
ニューを使用して、アクセスするドキュメンテーションが含まれているカテゴリを
探します。
https://cw.sdn.sap.com/cw/community/docupedia
Docupedia
695
Docupedia は追加のドキュメンテーションリソース、協調的なオーサリング環
境、および対話型のフィードバックチャネルを提供します。
2012-05-10
より詳しい情報
情報リソース
開発者向けリソース
場所
https://boc.sdn.sap.com/
https://www.sdn.sap.com/irj/sdn/businessobjects-sdklibrary
SAP Community Network 上の SAP
BusinessObjects に関する記事
ノート
https://www.sdn.sap.com/irj/boc/businessobjects-articles
これらの記事は、以前はテクニカル ペーパーという名称でした。
https://service.sap.com/notes
これらのノートは、以前はナレッジ ベース記事という名称でした。
SAP Community Network 上のフォー
ラム
https://www.sdn.sap.com/irj/scn/forums
http://www.sap.com/services/education
トレーニング
弊社では、従来のクラス型の学習から目標を定めた eラーニング セミナーま
で、学習ニーズや好みの学習スタイルに合わせたトレーニング パッケージを
提供しています。
http://service.sap.com/bosap-support
オンライン カスタマー サポート
SAP サポート ポータルには、カスタマー サポート プログラムとサービスに関
する情報が含まれています。また、さまざまなテクニカル情報およびダウンロー
ドへのリンクも用意されています。保守契約を締結されたお客様には、このサ
イトにアクセスするための正規ユーザー ID が付与されます。ID の入手方法
については、お客様担当のカスタマー サポート担当者までお問い合わせくだ
さい。
http://www.sap.com/services/bysubject/businessobjectsconsulting
コンサルティング
696
コンサルタントは、初期の分析段階からデプロイメント プロジェクトの実現まで
一貫したサポートを提供します。リレーショナル データベースと多次元データ
ベース、接続、データベース設計ツール、カスタマイズされた埋め込みテクノ
ロジなどのトピックに関する専門的なサポートを行います。
2012-05-10
索引
数字
1 対多のリンク 555
処理速度に関する留意点 517
プロセス 520
2 パスレポート処理 665
A
A to B, A to C リンク, 設定する 555
ABAP クエリ
パラメータ 587
レポーティング 563
ABAP クエリー
サブレポート 587
ABAP データ クラスタ
テーブルとしてマップ 599
レポーティング 598
ABAP データ クラスタのマップ 599
ABAP データクラスタ
オープン SQL ドライバ 591
クラスタ定義ツール 599
説明 592, 598
テーブルとしてマップ 599
レポート用の選択 592
ABAP プログラム
オープン SQL ドライバ 591
計算と関数 594
説明 592, 594
例 595
レポート用の選択 594
Access 640
Access のクエリー, 開く 551
DAO 549
ODBC 550
ACT! 556, 645
ActiveX Data Objects 647
ADO 647
B
Basic 構文
式の作成 425
BeforeReadingRecords 665
BLOB フィールド 83
BusinessObjects Enterprise
レポートのスケジュール 560
BW
クエリを使用したレポーティング 563
BW クエリ
階層のある 575
697
BW クエリ (続き)
階層ノード変数のある 580
階層変数のある 580
書式設定付きレポーティング 565
接続設定 565
ダイナミックピックリスト 565
デフォルトのレポートタイトル 570
フィールドの内容説明と技術名称 568
レポート用に作成 571
レポート用の選択 569
BW クエリドライバ, 接続設定 565
BW でのレポートコンテンツの移行 619
C
Case 式 127
Case 式を使った If-Then-Else 127
Clipper 641
Crystal Reports
Unicode サポート 620, 632, 634
作業 634
データへのアクセス 632, 634
Crystal Reports (RPT)
エクスポート 376
Crystal Reports ウィザード 24
Crystal Reports でのデータ変換 639
Crystal SQL Designer ファイル(ODBC
データ ソース) 662
Crystal 構文
式の作成 425
Crystal 辞書ファイル(ODBC データ ソー
ス) 662
D
DAO, Access のクエリーを開く 549
Data Access Objects (DAO) 641
DataDirect ドライバ
ODBC 655
DB2 サーバ 647
dBASE 641
DBMS, SQL 505
DISTINCT 句 508
E
Enterprise フォルダ 387
レポートを開く 387
レポートを保存または公開する 389
Equal リンク 533
Excel 654
ODBC 経由 654
データベース 654
Exchange
Crystal Reports による処理 643
Exchange フォルダ, エクスポートする 382
F
FoxPro 641
FROM 句 508
G
Greater Than Or Equal リンク 535
Greater Than リンク 534
GROUP BY 句 510
H
[HTML プレビュー]タブ 72
HTML へのエクスポート 376, 384
I
Informix 655
ODBC 経由 655
Online Server 647
データベース 655
Inner 結合 527
J
Java Database Connectivity(「JDBC」を参
照) 657
Java Naming and Directory
Interface(「JNDI」を参照) 657
JDBC データソース 657
JNDI の説明 657
L
LanguageCode% 式 617
Left Outer 結合 528
Less Than Or Equal リンク 537
Less Than リンク 536
Lotus Domino 646, 656
ODBC 経由 656
2012-05-10
索引
M
MANDT フィールド 594
MDX キューブ 563
MDX クエリドライバ 564
接続設定 565
Microsoft 640
Access データベース 640, 654
Excel データベース 654
Exchange 643
Outlook 645
Proxy(IIS) 649
Microsoft Excel(97-2003)へのエクスポー
ト 376
Microsoft Excel(97-2003)へのデータの
みのエクスポート 376
Microsoft Excel Workbook データのみ、
エクスポート 376
Microsoft Mail へのエクスポート 383
Microsoft Word(97-2003) - 編集可能へ
のエクスポート 376
Microsoft Word(97-2003)へのエクスポー
ト 376
MS Mail 643
N
Not Equal リンク 538
NT イベント ログ 648
NT イベント ログのレポート作成 557
O
ODBC 376, 655
Access のクエリーを開く 550
Informix 655
Lotus Domino 656
Microsoft Access 654
Microsoft Excel 654
SQL データベース 655
Visual FoxPro 656
エクスポート 376
(「Open Database Connectivity.」を参照)
649
ODBC データ ソース 554
設定を調べる 554
セットアップ 553
テーブルの追加 554
ログオフ 555
ログオン 554
ODBC データソース 649
エクスポート 385
ODS ドライバ 584
概要 584
データソースの選択 584
698
OLAP 368
OLAP レポートの作成 358
グリッドのビューの変更 368
データベースの場所の更新 364
レポーティング 357
OLAP キューブ 275
チャートの作成 275
マップの作成 289
OLAP グリッド 373
計算の挿入 373
書式設定 365
並べ替え 370
フィルタ処理 372
OLAP データ 372
並べ替え 370
フィルタ処理 372
OLAP レポート作成ウィザード 25
OLE 299
機能 300
動的なメニューコマンド 303
[ピクチャ]コマンド 303
リンクオブジェクトと埋め込みオブジェ
クト 306
OLE DB 657
OLE オブジェクト 301
コピーと貼り付け 301
静的 304
動的 305
リンクと埋め込み 306
レポートでの表示 302
レポートへの挿入 301
Oracle 7/8 646
ORDER BY 句 509
P
Paradox データベース 641
PDF へのエクスポート 376
Pervasive データベース 642
R
RDBMS アプリケーション 499
Report Designer 560
SAP への接続 560
SAP へのログオン 561
Right Outer 結合 529
S
SAP BusinessObjects Enterprise
LDAP 108
管理 108
クラスタリング 108
スケール 108
SAP BusinessObjects Enterprise (続き)
スケジュール 108
セキュリティ 108
バージョン管理 108
日付/時刻関数を評価する 109
負荷分散 108
レポートの公開 619
SAP BusinessObjects Enterprise への公
開 (「Enterprise フォルダ」を参照) 387
SAP BusinessObjects Enterprise リポジト
リ 95
SAP BW
システムの移行 619
接続設定 565
レポートの公開 619
SAP システム 560
ドライバを使用した接続 560
ドライバを使用したログオン 561
[SAP システムログオン]ダイアログボック
ス 561
[SAP ツール]ツールバー 563, 565
SAP パラメータ 578, 582
階層ノード変数 578
階層変数 582
SAP へのログオン 561
SELECT 句 508
Shockwave フラッシュオブジェクト(SWF)
308
Xcelsius 310
Xcelsius SWF へのバインド 311
レポートへの挿入 310
Siebel セキュリティ 628
Siebel の書式設定、適用 629
Siebel モバイル Web クライアント 625
SPRAS フィールド 594
SQL 503
Crystal Reports 507
DBMS 505
ODBC 経由のデータベース 655
結合の種類 526
言語 508
サーバ側のグループ化 541
式の使用 124
ストアドプロシージャ 118, 506
データベース 522, 655
使用 503
ストアド プロシージャの選択 506
データベースに関するリンク時の留意
点 521
SQL インジェクション 510
SQL クエリの編集 507
SQL コマンド 510
SQL 式フィールド
Case 式 127
パフォーマンスの向上 124
レポートに配置 77
2012-05-10
索引
SQL ストアド プロシージャ
パラメータを変更する 506, 507
SQL の表示 343
SQL 文 508
DISTINCT 句 508
FROM 句 508
GROUP BY 句 510
ORDER BY 句 509
SELECT 句 508
WHERE 句 509
SQL リンクの種類 526
Sybase Adaptive Server 646
T
TrueType フォント 235
U
Unicode のサポート 549
V
Visual FoxPro データベース 656
W
Web Accessibility Initiative 694
Web Content Accessibility Guidelines
674
Web/IIS ログ ファイル 649
Web フォルダ, 使用する 386
Web レポート, パフォーマンスを最適化
する 107
WHERE 句 509
X
Xcelsius でのレポートへのオブジェクトの
挿入 310
XML へのエクスポート 376
xtreme.mdb 23
XY 散布図 269
Z
ZCDD, クラスタ定義ツール 599
あ
アーキテクチャ 504
クライアント/サーバ 504
リレーショナルモデル 499
699
アクセシビリティ 673, 686
BusinessObjects Enterprise 692
Crystal Reports 673
ガイドライン 674
デザインの留意点 676
リソース 694
利点 673
アクセス
DAO エンジン経由 641
ODBC 経由 654
データベース 640, 654
値 143
カスタムグループの作成 148
グループ集計値の並べ替え 166
降順並べ替え 143
昇順並べ替え 143
単一フィールドの並べ替え 143
並べ替え方向 143
パラメータフィールド 447
値の一覧 103
NULL の処理 468
概要 453
共通する一覧の共有 466
作業 465
種類 453
データソースとしてのコマンドオブジェ
クト 468
独立した値と説明 467
リポジトリから追加する 103
長い一覧 468
値の一覧のバッチサイズ 468
宛名ラベル レポート作成ウィザード 25
アラート(「レポートのアラート」を参照) 405
合わせる, オブジェクトをガイドラインに
226
アンダーレイ機能 281
チャートで使用 281
い
依存関係チェッカーの使用 91
色
アクセシビリティ 681
対比 681
追加 237
印刷 330
縦置き 233
複数ページにわたるクロスタブ 330
プリンタドライバに関する留意点 235
横置き 233
レポート領域の特性 55
インデックス, パフォーマンス 116
インデックス付きテーブル 500
リンク 525
インフォセット 563
サブレポート 587
インフォセット (続き)
パラメータ 587
レポート用の選択 588
インフォセットドライバ, データソースの選
択 588
インポート 619
BW コンテンツ 619
ファイルからテキストベースのオブジェ
クト 222
インポートウィザード 619
う
ウィザード 24
OLAP 25
宛名ラベル 25
クロスタブ 24
標準 24
レポート 621
埋め込まれた集計 337
埋め込みオブジェクトとリンクオブジェクト
306
埋め込みフィールド, 空白行を非表示に
する 220
え
エイリアス 515
エキスパート
強調表示 258
上位 N/グループ並べ替え 166
選択 130
チャート 269, 276
マップ 284
エクスプローラのドッキング 93
エクスポート 380
Crystal Reports(RPT)へ 376
Exchange フォルダへ 382
HTML へ 376, 384
Microsoft Excel(97-2003)への 376
Microsoft Excel Workbook データの
み(.xlsx) 376
Microsoft Excel(97-2003)へのデータ
のみ 376
Microsoft Mail へ 383
Microsoft Word(97-2003) - 編集可
能への 376
Microsoft Word(97-2003)への 376
ODBC データソースへ 385
ODBC との接続 376
PDF へ 376
XML へ 376
XML(レガシー)への 376
アプリケーションへ 380
エクスポート形式 376
カンマ区切り値(CSV)へ 376
2012-05-10
索引
エクスポート (続き)
出力先 380
タブ区切りテキスト(TTX)へ 376
ディスクファイルへ 381
テキスト(TXT)へ 376
ファックスへ 375
リッチテキスト形式(RTF)へ 376
レコードスタイル(REC)へ 376
レポート 376
レポート定義(TXT)へ 376
エラーメッセージ 436
説明 669
エンタープライズハイパーリンク
作成 401
円チャート 269
マップ 284
円チャートマップの地域的領域 284
お
オープン SQL ドライバ 591, 604
ABAP プログラム 594
概要 591
クラスタ定義ツール 599
サポートされるオブジェクト 591
セキュリティの定義 604
データソースの選択 592
デフォルトセキュリティモデル 604
オブジェクト 224
OLE 299
OLE のコピーと貼り付け 301
X 位置の条件に応じた変更 256
ガイドライン 224
ガイドラインに合わせる 226
ガイドラインを使って配置する 227
可変長 194
関連したセクションのマージ 191
クィックリファレンス 341
書式設定 35
スケール 247
静的 OLE 304
動的 OLE 305
トリミング 247
Linking and Embedding(OLE) 306
リンクビットマップイメージ 308
オプション, Crystal Reports の設定 561,
565, 568
オプションのパラメータ 450
オペレーショナルデータストアドライバ 584
データソースの選択 584
親ビジネスコンポーネント 630
折れ線チャート 269
拡大/縮小 278
オン/オフプロパティ, 条件付き 253
700
か
下位 N 167
グループの選択 167
条件でグループ選択 169
条件でパーセント選択 169
並べ替え 666
パーセントの選択 167
階層
BW クエリーでの作成 575
BW クエリ内 574
階層ノード変数のある 578, 580
レポーティング 575
階層のある BW クエリーの作成 575
階層ノード変数 578
からのレポートの作成 578, 580
のあるクエリの作成 578
階層変数 580
からのレポートの作成 580, 582
作成 580
ガイドライン 224
オブジェクトを合わせる 226
オブジェクトを配置する 227
挿入 225
デザイン 224
表示 224
概要情報, 追加する 34
拡大/縮小機能 278
カスタマイズ
セキュリティ定義 604
カスタム関数
式エキスパートの使用 425
追加
リポジトリへの追加 100
画像 99
挿入
リポジトリからの追加 102
レポート 304
動的 305
リポジトリに追加 99
株価チャート 269
可変長オブジェクト 194
完全外部結合 531
ガント チャート 269
カンマ区切り値(CSV)へのエクスポート
376
き
技術名称, フィールド 568
キャプション, サブレポートに追加する
497
行 242, 250
空の行を条件付きで追加する 196
行間のスペースの追加/削除 250
追加 242
行 (続き)
変更 242
予期される書式設定の動作 244
境界線 237
追加 237
行間隔 231
強調表示エキスパート 258
条件付き書式設定 259
優先順位の設定 260
行レベルのセキュリティ 613, 614
概要 613
カスタムセキュリティ Exit の使用 615
権限オブジェクトの使用 614
く
句 508
DISTINCT 508
FROM 508
GROUP BY 510
ORDER BY 509
SELECT 508
WHERE 509
空白行 195
削除 195
非表示 220
クエリ
SQL の表示 343
オブジェクトのクイックリファレンス 341
現在の設定を適用 626
編集 342
クエリー 340
階層のある作成 575
複合クエリーの作成 340
作成 340
実行 340
データ選択の定義 340
フィルタ 344
プロンプト 344
クエリフィルタ 344
クエリフィルタ演算子のリファレンス 347
クエリプロンプト (「プロンプト」を参照) 345
クライアント/サーバー アーキテクチャ
Informix Online Server 647
クライアント/サーバアーキテクチャ 504
サーバ 540
サーバサイドプロセス 540
クライアントフィールド 594
クラスタ (「ABAP データクラスタ」を参照)
598
クラスタ定義ツール 599
使用 599
チュートリアル 600
クラスタテーブル 592
レポート用の選択 592
2012-05-10
索引
グラフィック 247
サイズ変更 247
スケール 247
挿入 44
トリミング 247
グリッド 368
OLAP 368
グループ
作成 183
カスタム 148
式を使った積算合計 186
条件付き積算合計 183
積算合計 182
小計 170
選択エキスパートによる選択 152
並べ替え
条件付き 149
レコード 151
編集 164
グループ ヘッダー
ライブ 42
グループ化 147
SQL 式 127
階層的にグループ化 158
データを範囲でグループ化 155
名前の最初の文字 157
パフォーマンス 125
レポート 40
グループ化されたデータの小計 170
グループ集計値の並べ替え 166
グループ選択式 153
作成 153
トラブルシューティング 154
グループ値の集計 165
グループの並べ替え 666
グループフッタセクション 65
グループヘッダ
カスタムヘッダの作成 176
ドリルダウン 177
非表示 177
標準グループヘッダ 174
グループヘッダセクション 65
グローバル変数
実行してはいけない場合 128
グローバルロック機能 605
クロスタブ 313
行/列ラベルのカスタマイズ 328
作業 326
集計フィールド 327
短縮する 327
表示方向 333
書式設定 330
行や列の背景色 331
個別のフィールド 331
積算合計を使用 328
701
クロスタブ (続き)
セルの変更
高さ 330
配置 330
幅 330
チャートの挿入 274
百分率による値の表示 326
複数ページにわたるクロスタブの出力
330
マップの挿入 288
クロスタブ レポート作成ウィザード 24
クロスタブ計算メンバー 334
値式 336
計算式 335
挿入式 337
ヘッダ式 336
クロスタブレポート、作成 319
け
計算, ABAP プログラム 594
計算フィールド, リンク元リンク先 495
罫線
変更 280
チャート 280
経理の形式, 使用する 248
結合の種類 526
Full Outer 結合 531
Inner 結合 527
Left Outer 結合 528
Right Outer 結合 529
結合の取り込みオプション 532
参照先テーブルを取り込む 532
参照元テーブルを取り込む 532
取り込まない 532
両方とも取り込む 532
言語 616
SQL 508
翻訳されたレポート 616
言語フィールド 594
現在のクエリを適用 625
[検索]タブ 70
こ
公開 619
定義済みのレポート 619
バッチ 619
公開ウィザード 619
合計, 積算する 179
降順並べ替え 143
コールスタック 431
子ビジネスコンポーネント 630
コマンド 510, 565
OLE 303
動的な OLE のメニュー 303
コマンド (続き)
ピクチャ 303
リポジトリから追加する 103
リポジトリに追加 101
コンテキストレポートパーツ, 使用例 398
コンポーネント
セキュリティ定義エディタ 604
さ
サーバ, ログオンコマンド 561, 622
サーバサイドプロセス 116, 540
サーバ接続タイプ 624
再インポートする, サブレポート 490
最新バージョンへのレポートのアップデー
ト 628
サイズの変更 31
オブジェクト 197
セクション 250
スペースの削除 251
スペースの追加 250
フィールド 31
削除 195
空白行 195
セクション 190
作成
レポート 560
サブクエリ 350
作成 350
定義済み 350
パラメータ 351
サブレポート 485
1 対多のリンクとデータベースのリン
クとの比較 486
SQL データベース 522
アクセシビリティ 678, 686
同じデータを異なる方法で表示する
498
オンデマンドの作成 496
キャプションの追加 497
再インポート 490
使用 493
関連のないレポートの組み合わ
せ 493
リンクできないデータを持つサブ
レポート 494
使用時機 485
使用時の注意 113
挿入 488
手作業で更新する 491
パフォーマンスの向上 113
プライマリレポートとして保存 490
プレビュー 489
リンク 114, 491
選択式を変更しないでメインレ
ポートにリンク 493
2012-05-10
索引
サブレポート (続き)
リンク (続き)
プライマリレポートのデータへのリ
ンク 491
リンクされたものとリンクされていない
もの 485
リンクされたレポートの更新 490
サンプルデータ 23
サンプルレポート 560, 628
最新表示 628
し
式 411
LanguageCode% 617
機能拡張されたレコード選択 119
グローバル検索 427
構文 413
選択 421
コピー 429
オンラインヘルプから 428
既存 428
レポートからレポートにコピー 429
コンポーネント 412
入力する 421
削除 430
作成 425
式エキスパート 425
積算合計 186
式エキスパート 425
式エディタ 420
式ワークショップ 416
実行してはいけない場合 127
集計 128
種類 415
アラート式 415
検索式 415
条件付き書式設定式 415
積算合計条件式 415
選択式 415
レポート式 415
使用例 411
積算合計 128
選択をプッシュダウンする 119
追加 425
定数 665
テキストの検索と置換 427
デバッグ 431
評価時エラー 431
トラブルシューティング 137
パラメータフィールドの操作 447
編集 427
式のコピー 429
レコード選択 129
レポートへの挿入 425
論理値 253
702
式エキスパート 425
式エディタ 420
キー操作 422
式エディタのキー操作 422
式コンパイラによる警告 436
式フィールド
挿入 77
リンク元リンク先 495
式ワークショップ 416
[一般]ツールバーボタン 417
[式エディタ]ツールバーボタン 417
ボタン 417
ワークショップツリー 417
[ワークショップツリー]ツールバーボ
タン 417
時刻フィールド
書式設定 240
自然分割, 範囲マップ 284
集計データのドリルダウン 84
集計フィールドをチャートに表示 273
集計レポート, 使いやすさ 112
上位 N 167
グループの選択 167
条件でグループ選択 169
条件でパーセント選択 169
並べ替え 666
パーセントの選択 167
上位 N/グループ並べ替えエキスパート
166
障害 (「アクセシビリティ」を参照) 673
小計フィールド, チャートを作成する 273
条件付きオン/オフプロパティ 253
条件付き書式設定 253, 617
アクセシビリティ 684
強調表示エキスパートの使用 258
パラメータフィールドの操作 475
ページ余白 255
条件付き積算合計, グループごとに作成
する 183
条件付き属性プロパティ 254
条件付きメッセージ, フォームレターに出
力する 203
条件によるグループの並べ替え 149
詳細セクション 65
昇順並べ替え 143
書式設定
LanguageCode% 式の使用 617
OLAP グリッド 365
Siebel の適用 629
Web 表示用のレポート 236
アクセシビリティ 680
オブジェクト 35
境界線、色、影 237
強調表示の優先順位を設定 260
空白行の削除 195
クロスタブ 313, 330
書式設定 (続き)
クロスタブの行や列の背景色 331
クロスタブの個別のフィールド 331
経理の形式 248
条件付き, 強調表示エキスパートを
使って 258
条件付き書式設定 253
条件付き, パラメータフィールド 475
[書式ペインタ]の使用 261
線の変更 242
追加 196
空白行を条件付きで 196
図形 246
線 242
プロパティ 237
翻訳されたレポート 617
無条件 237
横方向のページ 249
レポートデータ 83
書式, フィールドのデフォルトを変更する
240
書式ペインタの使用 261
書式設定付きレポーティング 565
処理速度
レポートにおける留意点 522
人事モジュール, データクラスタ 598
す
垂直配置 231
数値 134
書式設定 248
レコード選択 134
数値, 経理の形式を使用する 248
数値軸チャート 269
スクリーン リーダー 673
図形, 追加する 246
ストアド プロシージャ 506
SQL データベースからの選択 506
ストアドプロシージャ
パフォーマンス 118
スペース 250
サイズ変更して削除する 251
サイズ変更によるセクションへの追加
250
セクションの非表示による削除 252
スマートタグ 402
スマートリンク 524, 593
複数のインデックスを持つテーブル
のリンク 525
スレッドセーフデータベースドライバ 117
せ
制限 604
行レベル 613
2012-05-10
索引
制限 (続き)
データアクセス 604
テーブルレベル 605
制限, ABAP プログラム 595
積算合計 179
1 対多リンク 185
作成 181
グループごと 182
式を使用する 186
セキュリティ 628
既存の制限の維持 605
行レベルの制限 613
クライアントに依存しないモデルから
の移行 605
グローバルロック機能 605
定義 604
テーブルレベルの制限 605
セキュリティ定義エディタ
説明 604
セキュリティの定義 604
セクション 212
アクセシビリティ 685
移動 191
サイズ変更 193
サイズ変更してスペースを削除 251
削除 190
識別 67
詳細 65
挿入 190
非表示にしてスペースを削除する 252
複数セクションの使用 194
分割 192
ページヘッダ 65
マージする, 関連する 2 つのセクショ
ン 191
読み取り専用にする 238
レポートヘッダ 65
接続 560, 625
SAP システムに 560
サーバ接続タイプ 624
ローカル(アクティブな専用セッション)
接続タイプの使用 625
[ローカル]接続タイプの使用 624
接続、作成 621
[接続情報]ダイアログボックス 621
接続設定 565
接続タイプ 623
サーバ 624
ローカル 624
ローカル(アクティブな専用セッション)
625
接続名 623
接続文字列 624
設定, BW への接続 565
設定オプション 561, 565
設定ファイル 625
703
セル 330
変更
高さ 330
配置 330
幅 330
セルの書式設定
高さ 330
配置 330
幅 330
選択 569
ABAP クエリ 588
ABAP プログラム 594
BW クエリ 569
SAP システム 561
SQL データベースからのストアド プ
ロシージャの選択 506
インフォセット 588
キューブ 569
テーブル、ビュー、プログラム、クラス
タ 592
複数のオブジェクト 230
レポート用のドライバ 560
選択エキスパート 130, 152
グループ選択 152
式エディタ 132
選択式 119, 447
トラブルシューティング 137
パフォーマンス 119
パラメータフィールド 447
範囲を限定する条件 522
保存されたデータ 133
保存データ選択式 133
選択条件 37
そ
総計
SQL 式 127
パフォーマンス 125
挿入 373
OLAP グリッドのフィルタ 372
[挿入]メニュー
OLE オブジェクト 303
[ピクチャ]コマンド 303
属性プロパティ, 条件付き 254
た
タイトル
挿入 34
タイトルページの追加 86
マップ 291
タイトル, レポートの 570
ダイナミックピックリスト 565
対比, 色 681
ダイレクト アクセス データベース 638
ファイル 638
ダイレクトアクセスデータベース
テーブル 525
リンク 525
高さ, セルを変更する 330
多次元データ, レポーティング 564
タブ
[デザイン]タブと[プレビュー]タブの
相違点 71
タブ区切りテキスト(TTX)へのエクスポー
ト 376
ち
チャート
XY 散布図 269
アンダーレイ機能の使用 281
拡大/縮小機能 278
境界線を変更する 280
作成 272
OLAP キューブ 275
クロスタブ 274
集計フィールド 273
小計フィールド 273
自動整列 279
種類 269
円 269
折れ線 269
折れ線チャート, 拡大/縮小 278
株価 269
ガント 269
数値軸 269
ドーナツ型 269
バブル 269
ヒストグラム 269
ファンネル 269
棒 269
棒チャート, 拡大/縮小 278
メーター 269
面 269
立体等高線 269
立体ライザー 269
レーダー 269
条件付き書式設定 280
ドリルダウン 271
配置 271
変更 280
チャートエキスパート 276
[チャートオプション]コマンド 276
凡例テキスト 281
チャートエキスパート 268
チャートを変更する 276
チャートのレイアウト 268
OLAP 268, 275
グループ 268, 273
2012-05-10
索引
チャートのレイアウト (続き)
クロスタブ 268, 274
詳細 268
チュートリアル 571, 578, 580
MDX クエリドライバ 574
階層ノード変数のあるレポートの
作成 578
階層変数のあるレポートの作成
580
階層レポートの作成 574
簡単なレポートの作成 571
つ
通貨フィールド, 強調表示エキスパートを
使って書式設定する 258
ツールバー 565
SAP ツール 563
て
定義済みのレポート
公開 619
定型フォーム 214
定数式 665
データ 143
BLOB フィールド 83
アクセシビリティ用の書式設定 686
カスタムグループの作成 148
グループ化 41, 147
階層的にグループ化 158
名前の最初の文字 157
範囲 155
グループ化されたデータの小計 170
グループ内のレコードの並べ替え 151
グループの集計 165
クロスタブ 313
降順並べ替え 143
昇順並べ替え 143
転送を最小化する 107
保存 112
ライブ 111
リンク 74
レポートデータの書式設定 83
レポートに配置 76
レポートの最新表示 473
レポートのレコード選択 84
データ ソース 637
ODBC のセットアップ 553
OLE DB 657
選択 625
ネイティブ 638
データアクセス 560
データアクセスコンポーネントを使用
した接続 560
704
データアクセスコンポーネント 560
SAP への接続 560
データアクセス制限 604
データ型 631
データクラスタ(「ABAP データクラスタ」を
参照) 598
データクラスタのディクショナリ 599
データ更新インジケータ 68
データソース 514, 560, 563, 591
ABAP データクラスタ 591
ABAP プログラム 591
JDBC 657
ODBC 649
ODS 584
オペレーショナルデータストア 584
キューブ 569
透過、プール、およびクラスタテーブ
ル 591
ビュー 591
変更 513, 514
データ転送, 最小化する 107
データの最新表示 447
パラメータフィールド 447
レポートデータ 473
データの不一致, マップで解消する 293
データパラメータ 449
データファイル, リンクする 520
データベース 499
エイリアス 515
サンプル 23
スレッドセーフドライバ 117
選択 26
名前と保存場所の変更 515
パフォーマンス 116
リレーショナル 499
論理 587
データベース クライアントのインストール
653
データベース テーブル 554
レポートに追加(ODBC) 554
データベース ファイル 638
ダイレクト アクセス 638
データベース フィールド 32
挿入 28
テキスト オブジェクトでの組み合わせ
32
データベース管理システム, SQL 505
データベーステーブル
インデックス 500
データベースの種類 640
Access 640
ACT! 645
ActiveX Data Objects 648
Btrieve. 642
dBASE, FoxPro, Clipper 641
Informix 655
データベースの種類 (続き)
Lotus Domino 646, 656
Microsoft Access 654
Microsoft Excel 654
Microsoft Exchange 643
Microsoft Proxy(IIS) 649
NT イベント ログ 648
Oracle 7/8 646
Paradox 641
Pervasive 642
SQL 655
Sybase Adaptive Server 646
Visual FoxPro 656
Web/IIS ログ ファイル 649
データベースの場所, レポート用の設定
628
データベースのランク機能 353
作成 353
定義済み 353
パラメータ 354
データベースファイル
保存場所 513
データベースフィールド 76
変更されたデータベースフィールドの
再マップ 545
レポートに配置 76
データベースフィールドの表示方式, 設
定オプション 561
データへのアクセス 634
データを範囲でグループ化 155
テーブル 74, 593, 607, 686
インデックス付き 500
エイリアス 515
空白行の削除 195
グループによるセキュリティの定義
613
権限のカスタマイズ 607
参照先 516
参照元 516
追加 74
ビジュアルリンクエキスパート 524
リンク 516, 524, 593, 629
インデックスなし 496
パフォーマンスの向上 117
複数 74
レコード 516
リンクされた SQL テーブル 522
リンクの処理順序 525
レポート用の選択 591
ロック 605
テーブルインデックス, パフォーマンス
116
テーブルのロック 605
テーブルレベルのセキュリティ 605
テキスト オブジェクト
アクセシビリティ用の書式設定 680
2012-05-10
索引
テキスト オブジェクト (続き)
テキスト オブジェクトでのデータベー
ス フィールドの組み合わせ 32
レポートに配置 677
テキスト(TXT)へのエクスポート 376
テキストオブジェクト 197
移動/サイズ変更モード 197
挿入
リポジトリからの追加 102
フォームレターの作成に使用する 198
編集モード 197
リポジトリに追加 99
レポートに配置 79
テキストベースオブジェクトの間隔調整
223
行のインデント 228
グリッドの選択 224
テキストベースのオブジェクト, ガイドライ
ンを使用する 224
テキストベースのオブジェクトの配置 218
[デザイン]タブ
セクション 28
フィールド名の表示 32
[プレビュー]タブとの比較 71
領域 65
デザインソリューション 211
テンプレート 205
再適用する 207
削除 207
適用 206
留意点 209
テンプレートフィールドオブジェクト 208
と
等カウント, 範囲マップ 284
透過テーブル 591
説明 591
レポート用の選択 592
等級表示マップ 284
動的グループ ヘッダー 42
動的グループヘッダ
作成 174
動的プロンプトの概要 450
等範囲, 範囲マップ 284
ドーナッツ型チャート 269
ドット密度マップ 284
ドライバ 560
MDX クエリ 564
SAP への接続 560
オープン SQL ドライバ 591
オペレーショナルデータストア 584
データアクセスコンポーネント 560
レポート用の選択 560
ドライバ、レポートのための選択 621
705
トラブルシューティング 137, 595
ABAP プログラム 595
グループ選択式 154
設定オプション 561, 565
レコード選択式 137
トランザクション ZCDD, クラスタ定義ツー
ル 599
取り込まない 532
ドリルダウン
集計データ 84
チャート 271
マップ 286
な
内容説明, フィールド 568
長い値の一覧 468
ナビゲーション 390
セットアップ 391
データコンテキストの書式 399
他のレポートオブジェクト 395
レポートパーツのドリルダウン 393
ナビゲーション, アクセシビリティ 682
[名前を付けて保存]ダイアログ ボックス
36
名前を付ける, レポートのタイトル 570
並べ替え 125, 666
OLAP グリッド 370
SQL 式 127
下位 N 666
グループ 666
グループ内のレコード 151
上位 N 666
条件によるグループ 149
単一フィールド 143
パフォーマンス 125
レコード 42
レポート 40
並べ替え順序 143
降順 143
昇順 143
パラメータフィールドを使った設定
479
並べ替えとグループ化の組み合わせ 147
に
入力パラメータ, ABAP プログラム 594
ね
ネットワーク, クライアント/サーバ 504
は
バーコード 263
外観の変更 264
削除 265
追加 263
背景色, 書式設定する(行/列) 331
配置, セルを変更する 330
ハイパーリンクフィールド
エンタープライズハイパーリンクの作
成 81
挿入 81
パス 665
パス 2 666
パス 1 665
パス 3 667
プレパス 2 666
プレパス 1 665
幅, クロスタブを変更する 330
パフォーマンス 119
主な方法 108
最適化 107
サブレポート 113
テーブルインデックスを使用する 116
テーブルのリンク選択 117
デザインの留意点 110
レコード選択の留意点 119, 120
パフォーマンス向上のためのオンデマン
ドサブレポート 113
バブル チャート 269
パラメータ クエリー, Access 551
パラメータ フィールド
アクセシビリティ 683
パラメータパネル 70, 464
パラメータフィールド 447
ABAP クエリ 587
ABAP プログラム 594
インフォセット 587
削除 471
作成 476
カスケード値の一覧を伴う 462
静的プロンプトを伴う 457
動的プロンプトを伴う 460
レポートタイトル 476
サブレポートのリンク 487
サブレポートのリンクに使用 487
手動でのデフォルト値の作成 582
使用 124
レコード選択 124
条件付き書式設定 475, 684
挿入 78
データのフィルタ 124
並べ替え順序の設定 479
入力要求に応じる 473
パフォーマンスの向上 124
日付/時刻フィールドの書式設定 240
2012-05-10
索引
範囲マップ 284
自然分割 284
等カウント 284
等範囲 284
標準偏差 284
ひ
ピクチャ 44, 247
サイズ変更 247
スケール 247
挿入 44
動的に挿入 305
トリミング 247
[ピクチャ]コマンドと[OLE オブジェクト]
コマンド 303
ビジネス ビュー 661
ビジネスコンポーネント
親子 630
選択 627
ビジュアルリンクエキスパート 524
ヒストグラム チャート 269
日付/時刻フィールド
書式設定 240
日付範囲, レコードの選択 135
日付フィールド
書式設定 240
日付, レコードの選択 135
ビットマップイメージオブジェクト 99
リポジトリからの挿入 102
リポジトリに追加 99
リンク 308
非テキスト オブジェクト 677
非表示
グループヘッダ 177
レポートオブジェクト 216
ビュー 592, 628
SAP での説明 592
リンク 593
レポーティング 591
ビューモードフィールド 629
標準グループヘッダの作成 174
標準偏差, 範囲マップ 284
ふ
[ファイルに名前を付けて保存]ダイアロ
グ ボックス 36
ファイルの保存場所 513
ファックス送信する, レポート 375
ファンネル チャート 269
フィールド 83
BLOB データへのアクセス 83
エイリアス 515
計算フィールドへ/からリンク 495
サイズと位置のロック 239
706
フィールド (続き)
サイズ変更 31
削除 39
書式設定 331
クロスタブの個別 331
選択 30
挿入 28
追加 30
デフォルト書式の変更 240
ビューモード 629
表示 29
読み取り専用にする 238
フィールド間隔, 調整する 40
フィールド見出し, 挿入 36
フィールド名, 表示する 32
フィルタ 372
And または Or による結合 347
OLAP グリッドへの追加 372
演算子のリファレンス 347
削除 349
作成 344
プロンプトとの組み合わせ 346
編集 349
プールテーブル 592
レポート用の選択 592
フォーマット 205
フォームレター
あいさつ文 201
宛名を挿入する 200
条件付きでメッセージを出力する 203
テキストオブジェクトを使用する 197
日付を挿入する 200
フォント
小数フォントサイズの設定 232
複数行のテキストベースのオブジェクトの
配置 221
複数言語ユニバース 339
複数構造 570
複数セクション 189
空白行の削除 195
レポートで使用 194
複数の列を持つレポート 214
フッタ, そのページ以降に作成 257
フラッシュオブジェクト 308
Xcelsius SWF へのバインド 311
レポートへの挿入 310
プリンタドライバ 235
不一致 235
[プレビュー]タブ 31, 68
[デザイン]タブとの比較 71
標準ビュー 68
プレビューパネル 69
グループツリー 69
[検索]タブ 70
パラメータパネル 70, 464
プログラム(「ABAP プログラム」も参照)
592
プロシージャ, ストアド 118
プロトタイプ, 紙に作成する 56
プロパティ
条件付きオン/オフプロパティ 253
条件付き属性 254
プロンプト 345, 448
概要 447
カスケードする動的プロンプトの作成
462
作成 345
静的プロンプトの作成 457
動的プロンプトの作成 460
フィルタとの組み合わせ 346
ベストプラクティス 469
留意点 448
プロンプトグループの説明 457
へ
ページフッタ 85
最初のページ以外に作成 257
ページフッタセクション 65
ページヘッダ 85
ページヘッダセクション 65
ページ余白 234
ヘッダ 174
カスタムグループに作成 176
動的グループヘッダ 174
ドリルダウン 177
非表示 177
標準グループヘッダの作成 174
変更
データソース 513
編集モード(テキストオブジェクト) 197
変数
Crystal Reports でのピックリストの作
成 582
ほ
棒チャート 269
拡大/縮小 278
棒チャートマップ 284
補助テクノロジ 673
[保存]ダイアログ ボックス 36
保存する, レポート 36
保存データ 112
保存データのインデックス 546
インデックスを付けるフィールドの選
択 548
留意点 547
ボタン 417
[一般]ツールバー (式ワークショップ)
417
2012-05-10
索引
ボタン (続き)
[式エディタ]ツールバー (式ワーク
ショップ) 417
式ワークショップ 417
[ワークショップツリー]ツールバー (式
ワークショップ) 417
ボックス
予期される書式設定の動作 244
翻訳されたレポート 616
準備 617
書式設定 617
翻訳の準備 570
ま
前処理, ABAP プログラム 594
マップ
拡大/縮小 294
クロスタブへの挿入 288
作成
OLAP レイアウトを使った OLAP
キューブ 289
グループレイアウトを使ったグ
ループフィールド 287
種類 284
中央揃え 295
データの不一致 293
ドリルダウン 286
配置場所 286
パン 295
変更
種類 291
タイトル 291
地図 294
レイヤ 292
マップエキスパートを使った編集 290
マップエキスパート 284
マップの編集 290
マップナビゲータ 295
非表示 295
表示 295
マップのタイプ 283
円チャート 284
等級表示マップ 284
ドット密度マップ 284
範囲 284
棒チャートマップ 284
マップレイアウト 283
OLAP 283
グループ 283
クロスタブ 283
詳細 283
まとめて公開 619
マルチパスレポート 665
マルチバリュー、列 630
707
む
無条件の書式設定 237
め
メーター チャート 269
メニューコマンド, 動的な OLE 303
面チャート 269
も
モード 197
移動/サイズ変更 197
編集 197
文字間隔 231
文字列, レコードを選択する 134
元に戻す/やり直しの操作 261
戻り値の型, ラッパー関数の使用 595
モバイル Web クライアント 625
ゆ
ユーザ関数ライブラリ (UFL) 414
ユニバース
Crystal Reports との概要 660
接続 339
複数言語 339
よ
横方向のページ 250
繰り返して出力する, オブジェクト 249
番号付け 250
余白 234
ら
ライブデータ 111
ラッパー関数, 戻り値の型の定義 595
り
立体等高線チャート 269
立体ライザーチャート 269
リッチテキスト形式(RTF)へのエクスポート
376
リハビリテーション法第 508 条 674, 694
リポジトリ 95
作業の流れ 95
サブカテゴリの追加 98
サブフォルダの追加 98
追加する, アイテム 99
カスタム関数 100
リポジトリ (続き)
追加する, アイテム (続き)
コマンド 101
テキストオブジェクト 99
ビットマップイメージ 99
[元に戻す]使用する 106
リポジトリにアクセスする 96
リポジトリオブジェクト 95
削除 105
変更 103
レポートで使用 101
レポートでの更新 104
領域の識別 67
両方とも取り込む 532
リレーショナルデータベース 499
インデックス 500
リンク 308, 520, 593
1 対 1 516
1 対多 486, 517, 555
SQL データベースに関する留意点
521
SQL テーブル 522
インデックス付きテーブル 525
インデックスのないテーブル 496
埋め込みオブジェクトとの違い 306
クライアントフィールド 594
計算フィールドへ/からリンク 495
言語フィールド 594
サブレポート 486
サブレポートとパフォーマンス 114
サブレポートをプライマリレポートにリ
ンク 491
参照先テーブル 516
参照元テーブル 516
式フィールドへ/からリンク 495
データファイル 520
テーブル 74, 516, 629
テーブルとビュー 593
パフォーマンス向上のためのテーブ
ル 117
ビジュアルリンクエキスパート 524
ビットマップイメージオブジェクト 308
複数のデータベーステーブル 74
リンクオプション 526
リンクの種類 526
536
= 533
> 534
Greater Than Or Equal 結合 535
Less Than Or Equal 結合 537
Not Equal 結合 538
リンクリレーションシップ 516
2012-05-10
索引
れ
レイアウト 268
チャート 268
マップ 283
例外の強調表示とアクセシビリティ 682
レーダー チャート 269
レコード 181
現在の選択に制限 627
積算合計を作成する 181
選択 134
組み込みの日付範囲 135
数値 134
日付 135
日付、数値、文字の組み合わせ
の使用 136
文字列 134
選択の設定 129
並べ替え 42
グループ内 151
単一フィールド 143
リンクリレーションシップ 516
レコードスタイル(REC)へのエクスポート
376
レコード選択 37, 129
クライアントフィールド(MANDT)で 594
言語フィールド(SPRAS)で 594
式の使用 131
処理速度に関するヒント 120
セットアップ 129
選択エキスパートの使用 130
プッシュダウンする 119
レコード選択式 121, 153
If 文を使用する 139
大文字と小文字の不統一 138
記述方法 121
作成 153
修正 138
詳細 121
トラブルシューティング 137
パフォーマンスの向上 119
パラメータフィールドの操作 447
不要なスペース 139
レコードの読み込み処理 665
列、マルチバリュー 630
レポーティング 665
2 パス 665
ABAP データクラスタの使用 598
ABAP プログラムの使用 594
BW クエリから作成 571
NT イベント ログ 557
SAP データの使用 563
テーブル、ビュー、クラスタ、プログラ
ムの使用 591
マルチパス 665
708
レポート 237, 560, 621
BW コンテンツの移行 619
BW の多次元データのレポーティン
グ 564
BW への保存 570
OLAP レポートの作成 358
OLE オブジェクトの表示方法 302
Web 表示用の書式設定 236
エクスポート 376
Exchange フォルダへ 382
Microsoft Mail へ 383
アプリケーションへ 380
ディスクファイルへ 381
拡大/縮小 85
関連したセクションのマージ 191
グループ化 147
データ 147
グループツリーの表示 69
公開 619
コンテンツを決定する 51
最新バージョンへのアップデート 628
削除する, セクション 190
作成 23, 560, 563
BW 階層から 574
SAP データの使用 560
オペレーショナルデータストアの
使用 584
階層ノード変数から 578
階層変数から 580
クイック スタートを使った新規作
成 45
新規 26
作成のチュートリアル 571, 574, 578,
580
サブレポートのリンク 487
サンプルの最新表示 628
式フィールド 77
出力領域の特性 55
使用 194
[HTML プレビュー]タブ 72
OLAP データ 357
印刷用の[プレビュー]タブ 68
関連のないレポートを組み合わせ
るサブレポート 493
フォームレターを作成するための
テキストオブジェクト 197
複数セクション 194
リポジトリオブジェクト 101
条件付き書式設定 253
書式設定 83
データ 83
テンプレートの使用 205
処理速度に関する留意点 522
スケジュール 560
積算合計フィールド 78
セクションの移動 191
レポート (続き)
セクションを分割およびサイズ変更す
る 192
接続の作成 621
選択 560
SAP システム 561
データベース 26
ドライバ 560
挿入 28, 81
OLE オブジェクト 301
概要 87
セクション 190
タイトル 34
タイトルページ 86
データベース フィールド 28
ハイパーリンクフィールド 81
タイトル 570
使いやすいように集計する 112
データの決定 53
データの最新表示 473
データの整理 84
データベースの場所の設定 628
データを操作する 54
デザインの基礎 51
ドライバの選択 621
配置 76
SQL 式フィールド 77
チャート 271
データ 76
データベースフィールド 76
テキストオブジェクト 79
特殊フィールド 79
マップ 286
初めてレポートのプレビュー 473
パフォーマンス向上のためのデザイ
ンの留意点 110
パフォーマンスの最適化 107
パラメータフィールド 78
標準ビューに表示 68
ファックス 375
ページヘッダとページフッタ 85
変更 515
データベースの保存場所 515
データベース名 515
マップタイトル 291
保存 36
翻訳 616
翻訳の準備 617
無条件の書式設定 237
目的を明らかにする 51
読み取り専用にする 238
リポジトリオブジェクトの更新 104
レイアウト 52
レポート オブジェクトとアクセシビリティ
676
レポート セクション 28
2012-05-10
索引
レポートウィザード、接続の作成 621
レポートエキスパート(「エキスパート」を参
照) 24
レポートセクション 189
移動 189
グループフッタ 65
グループヘッダ 65
結合 189
削除 189
詳細 65
追加 189
ページフッタ 65
ページヘッダ 65
文字を出力する 55
レポートフッタ 65
レポートヘッダ 65
レポート定義(TXT)へのエクスポート 376
レポートデザイン, 主な方法 108
レポートデザイン環境
TrueType フォント 235
印刷の向きと用紙サイズの設定 233
セクションごとにページの向きを設定
233
セクションの特性 212
定型フォーム 214
テキストベースのオブジェクトの配置
218
デザインソリューション 211
ファイルからテキストベースのオブジェ
クトをインポート 222
複数行のテキストベースのオブジェク
トの配置 221
レポートのアラート 405
削除 408
作成 405
式で参照する 409
表示 408
編集 407
レポートの最新表示 628
レポートの作成 51, 53, 237, 560
OLE オブジェクトの表示方法 302
アクセシビリティ 676
関連したセクションのマージ 191
コンテンツを決定する 51
サイズ変更 31, 250
セクションのサイズ変更によるス
ペースの削除 251
セクションへのスペースの追加
250
709
レポートの作成 (続き)
サイズ変更 (続き)
フィールド 31
削除 39
セクション 190
フィールド 39
使用 65
[HTML プレビュー]タブ 72
印刷用の[プレビュー]タブ 68
[デザイン]タブの領域 65
複数セクション 194
条件付きオン/オフプロパティ 253
条件付き書式設定 253
書式設定
オブジェクト 35
セクションの移動 191
セクションを非表示にしてスペースを
削除する 252
セクションを分割およびサイズ変更す
る 192
挿入 30, 81
OLE オブジェクト 301
セクション 190
追加フィールド 30
データベース フィールド 28
ハイパーリンクフィールド 81
チャート
OLAP キューブ 275
クロスタブ 274
集計フィールド 273
小計フィールド 273
チャートの凡例テキストを変更する
281
追加
概要 34, 87
サブレポートへのキャプションの
追加 497
タイトル 34
タイトルページ 86
フィールド見出し 36
データの書式の設定 83
データの整理 84
データを操作する 54
テキストベースのオブジェクトの間隔
を調整 223
配置 271
SQL 式フィールド 77
式フィールド 77
積算合計フィールド 78
レポートの作成 (続き)
配置 (続き)
チャート 271
データ 76
データベースフィールド 76
テキストオブジェクト 79
特殊フィールド 79
パラメータフィールド 78
マップ 286
非表示
レポートオブジェクト 216
レポートセクション 215
フィールド間隔を調整する 40
複数のオブジェクトの選択 230
複数のデータベーステーブルのリン
ク 74
複数の列 214
プロトタイプを作成する 56
変更
チャートの境界線 280
マップタイトル 291
無条件の書式設定 237
文字を出力する 55
レコード選択 84
レポートのスケジュール 560
レポートパーツ 390
コンテキストレポートパーツの使用例
398
レポートパーツナビゲーション 393
レポートパーツビューア 390
レポートフッタセクション 65
レポートヘッダセクション 65
ろ
ローカル(アクティブな専用セッション)接
続タイプ 625
[ローカル]接続タイプ 624
ログオンサーバコマンド 561, 622
ログオンダイアログボックス 561
ロゴの挿入 44
論理データベース 587
わ
ワークベンチの使用 89
ワークベンチへのオブジェクトパッケージ
の追加 90
2012-05-10