sbo41sp3 crj usergde ja

sbo41sp3 crj usergde ja
SAP Crystal Reports for Enterprise
文書バージョン: 4.1 Support Package 3 - 2014-04-03
SAP Crystal Reports for Enterprise ユ
ーザガイド
目次
1
SAP Crystal Reports (Enterprise 向け) 入門. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1
Crystal Reports について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2
オンラインヘルプについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3
ドキュメントの例について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2
クイック スタート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
2.1
Crystal Reports の使い方の学習. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1
2.2
2.3
サンプルデータ - xtreme.mdb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
クイック スタート - 初心者ユーザー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
2.2.1
開始する前に. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.2
顧客リストレポートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3
レコードの選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.4
グループ化と並べ替え. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.5
レポートの完成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
高度な機能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.1
データソースへの接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.2
テンプレートからのレポートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3
レポートセクションの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.4
スマートガイドラインを使用しないレポートのデザイン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.5
レポートデータの合計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.6
レポートへのクロスタブの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.7
レポートへのチャートの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
2.3.8
レポートへのサブレポートの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.9
レポート要素の条件付き書式設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
2.3.10
レポートへの式の追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.11
レポートへのパラメータの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.12
レポートの配布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3
サーバへのログオン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1
BI プラットフォーム Web サービスに対する SSL の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.1
システムキーストア/信頼ストアへのインストール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2
JRE キーストア/信頼ストアへのインストール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2
SAP BusinessObjects Business Intelligence プラットフォームに初めてログオンする. . . . . . . . . . . . . . . . . . 39
3.3
SAP BusinessObjects Business Intelligence プラットフォームにログオンする . . . . . . . . . . . . . . . . . . . . . . 40
3.4
CORBA に対する SSL の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4
レポートの基礎. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1
レポートデザイン環境について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
目次
4.2
4.1.1
レポートデザインキャンバス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.2
サイドパネル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.3
[書式] ダイアログボックス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1.4
[問題] パネル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1.5
キーボードショートカット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
新しいレポートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.1
データソースから新しいレポートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.2
Web テンプレートから新しいレポートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.3
データソースの選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.4
フォルダおよび結果オブジェクトの選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.5
レポートのテーブルの選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.6
データの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2.7
データの書式の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.8
データのグループ化、並べ替え、および合計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.9
タイトルページの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.10
レポートへのコメントの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2.11
ズーム機能の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5
レポートデザインの概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1
レポートデザインの基礎. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2
レポートの内容の決定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3
5.2.1
目的の明確化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2
レポートの構造の決定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.3
データの決定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.4
データの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.5
出力領域の特性の決定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
紙でのプロトタイプの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.1
紙にプロトタイプをデザインする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6
Web ベースのレポートテンプレート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.1
Web 上のレポートリポジトリ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2
レポートテンプレートの選択とデータオブジェクトのマップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2.1
6.3
6.4
データソースの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
6.3.1
データソースを追加し、データをマップする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.3.2
データソースを削除する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
プレースホルダ式の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
6.4.1
6.5
レポートテンプレートを選択してデータオブジェクトをマップする . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
プレースホルダ式を使用する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
連結されていないオブジェクトの再マップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.5.1
連結されていないオブジェクトを再マップする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
SAP Crystal Reports for Enterprise ユーザガイド
目次
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
3
7
データソース接続およびクエリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.1
データソース接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.2
7.3
7.4
7.5
7.1.1
ユニバースへの接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.1.2
SAP BEx クエリへの接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.1.3
分析ビューへの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.1.4
他のデータソースへの接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.1.5
リレーショナル接続への接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.1.6
サーバ接続情報をインポートする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.1.7
サーバ接続情報をエクスポートする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
データソースの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
7.2.1
データソースを追加し、データをマップする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.2.2
データソースを削除する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.2.3
プレースホルダ式の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
7.2.4
連結されていないオブジェクトの再マップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
クエリの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.3.1
ユニバースクエリの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.3.2
SAP BEx クエリの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
SQL および SQL データベースの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4.1
Crystal Reports が使用する SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4.2
SQL 言語. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4.3
SQL コマンドの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
データベースの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.5.1
ODBC を介して Access のクエリーを開く. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.5.2
ODBC データ ソースの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.5.3
ストアド プロシージャ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.5.4
テーブルのリンク. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.6
最初の最新表示時にデータソースを照合するプロセス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7.7
適切な結果オブジェクトのインデックス付け. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.7.1
保存データにインデックスを付けるには . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
8
レポートのレイアウトと書式設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.1
レポートデザイン環境の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
4
8.1.1
セクションの特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.1.2
複数の列を持つレポートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.1.3
スマートガイドラインの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.1.4
セクションの非表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
8.1.5
レポートオブジェクトの非表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
8.1.6
セクションまたは要素内での改ページの回避. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8.1.7
セクションアンダーレイの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
目次
8.2
8.3
8.1.8
定型フォームの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.1.9
要素内のテキストの切り捨ての防止. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.1.10
埋め込みオブジェクトでの空白行の非表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.1.11
複数行のテキストベースの要素の配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.1.12
行のインデント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.1.13
オーバーフローオブジェクト表示の有効化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.1.14
複数の要素の選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.1.15
テキストの回転. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.1.16
行間隔の変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.17
ページのサイズと向きの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.18
ページ余白の設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.19
カスタムページサイズの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.1.20
TrueType フォントの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.1.21
日本語システムの日付書式の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
書式設定のプロパティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.1
無条件の書式設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.2
条件付き書式設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
書式ペインタの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
8.3.1
8.4
8.5
8.6
書式設定をコピーおよび適用する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
アクションの有効化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
8.4.1
連結アクションの有効化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
8.4.2
連結アクションの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
複数セクションレポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
8.5.1
セクションについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
8.5.2
セクションの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
8.5.3
複数のセクションの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.5.4
フォームレター. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
セマンティックエラーメッセージ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
8.6.1
このグループでは {xxxx} は複数の値を持つことができますが、最初または最後の値のみが表示さ
れます。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
8.6.2
レポートヘッダでは {xxxx} は複数の値を持つことができますが、最初の値のみが表示されます。
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
8.6.3
レポートフッタでは {xxxx} は複数の値を持つことができますが、最後の値のみが表示されます。
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
8.6.4
最初のページの値のみが表示されます. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
8.6.5
ページの最後の値のみが表示されます. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
8.6.6
この場所では、メジャー {xxxx} は有意の値を持ちません. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
8.6.7
この場所では、メジャー {xxxx} は複数の値を持つことができます. . . . . . . . . . . . . . . . . . . . . . . . .189
8.6.8
このグループでは、依頼されたメジャー {xxxx} は複数の値を持つことができます. . . . . . . . . . . . . . 190
8.6.9
このグループでは、依頼されたメジャー {xxxx} の値を計算することはできません. . . . . . . . . . . . . . 190
SAP Crystal Reports for Enterprise ユーザガイド
目次
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
5
8.6.10
このクロスタブでは、依頼されたメジャー {xxxx} は複数の値を持つことができます. . . . . . . . . . . . . . 191
8.6.11
このクロスタブでは、依頼されたメジャー {xxxx} の値を計算することはできません. . . . . . . . . . . . . . 191
8.6.12
階層でグループ化する場合、'外部階層' オプションを選択します。. . . . . . . . . . . . . . . . . . . . . . . . 192
8.6.13
階層オブジェクトは階層グループ内に配置する必要があります。. . . . . . . . . . . . . . . . . . . . . . . . . 192
8.6.14
レベル {xxxx} は、関連する階層に基づいてグループ内に配置する必要があります. . . . . . . . . . . . . 192
8.6.15
この合計に推奨される演算は {xxxx} です. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
8.6.16
{xxxx} の合計はお勧めしません. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
9
並べ替え、グループ化、集計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
9.1
データの並べ替え. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
9.2
9.3
9.4
9.1.1
並べ替えオプションについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
9.1.2
データの並べ替え方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
9.1.3
並べ替えの制御. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
データのグループ化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
9.2.1
データをグループ化する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
9.2.2
カスタムグループの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
9.2.3
グループ内での改ページの回避. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
9.2.4
最初のページに最初のグループを維持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.2.5
グループ内のレコードの並べ替え. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.2.6
データを範囲でグループ化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
9.2.7
顧客名の最初の文字でグループ化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
9.2.8
データを階層的にグループ化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
グループデータの合計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
9.3.1
グループ化したデータを合計する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
9.3.2
合計値によるグループの並べ替え. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
9.3.3
上位または下位の N グループまたはパーセントの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
割合の計算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
9.4.1
9.5
9.6
6
割合(%)を計算する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
グループヘッダ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
9.5.1
グループヘッダの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
9.5.2
グループヘッダの非表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
9.5.3
グループヘッダのドリルダウン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
積算合計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
9.6.1
積算合計の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
9.6.2
単一のリスト内での積算合計の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
9.6.3
グループ単位での積算合計の作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
9.6.4
条件付き積算合計の作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
9.6.5
式を使った積算合計の作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
目次
10
チャート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.1
チャートの基礎. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.2
10.3
10.1.1
チャートの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.1.2
チャートの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.1.3
チャートのドリルダウン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
チャートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.2.1
チャートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
10.2.2
ボックスプロットチャートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.2.3
タグクラウドチャートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.2.4
ツリーマップチャートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.2.5
クロスタブ合計のチャート作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
チャートの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.3.1
チャートの編集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.3.2
チャートの書式設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
10.3.3
トレンドライン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.3.4
二重軸チャート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.3.5
チャートの自動整列. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
11
クロスタブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
11.1
クロスタブについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
11.2
クロスタブの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
11.2.1
11.3
11.4
11.5
クロスタブを追加する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
クロスタブの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
11.3.1
値を % で表示する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
11.3.2
複数ページにわたるクロスタブの出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
11.3.3
列内での改ページの回避. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
クロスタブの書式設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
11.4.1
クロスタブセルの幅、高さ、および配置を変更する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
11.4.2
すべての行や列の背景色を書式設定する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
11.4.3
要素を個別に書式設定する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
11.4.4
複数の要素を一度に書式設定する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
11.4.5
クロスタブデータの非表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
11.4.6
合計の水平方向の表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
高度なクロスタブ機能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
11.5.1
クロスタブでの階層の表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
11.5.2
計算メンバー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
11.5.3
埋め込み合計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
12
レポートの保存、エクスポート、印刷および表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.1
レポートの保存. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
SAP Crystal Reports for Enterprise ユーザガイド
目次
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
7
12.2
12.3
12.1.1
レポートをローカルコンピュータに保存する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.1.2
データなしでレポートを保存する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
レポートの配布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
12.2.1
SAP BusinessObjects Business Intelligence プラットフォームを使用するレポートの配布. . . . . . . 250
12.2.2
レポートの電子メール送信. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
12.2.3
レポートのエクスポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
12.2.4
レポートの印刷. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
レポートの表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
12.3.1
レポートを開く. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
12.3.2
[Smart View] を使用した CMC のレポートの表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13
パラメータとプロンプト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
13.1
パラメータとプロンプトの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
13.2
13.1.1
パラメータの条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
13.1.2
値の一覧の種類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
13.1.3
オプションパラメータ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
13.1.4
プロンプトの種類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
パラメータの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
13.2.1
13.3
13.4
パラメータを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
インタラクティブフィルタの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
13.3.1
インタラクティブフィルタを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
13.3.2
インタラクティブフィルタを追加する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
13.3.3
インタラクティブフィルタを削除する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
値の一覧の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
13.4.1
静的な値の一覧を伴うパラメータの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
13.4.2
動的な値の一覧を伴うパラメータの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
13.4.3
カスケードパラメータグループの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
13.4.4
独立した値と説明のオブジェクト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
13.5
パラメータの順序を変更する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
13.6
パラメータを削除する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
13.7
高度なパラメータ機能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
8
13.7.1
複数の値を許可するパラメータを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
13.7.2
[一覧から値を選択] を有効にする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
13.7.3
離散値または値の範囲を許可するパラメータの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.7.4
非表示プロンプトを伴うパラメータを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.7.5
値の一覧のフィルタの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.7.6
データ型をメンバーに設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
13.7.7
式にパラメータを取り込む. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
13.7.8
エディットマスクによるエントリタイプと書式の定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
目次
13.7.9
NULL の処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
14
式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
14.1
式の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
14.1.1
式の使用例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
14.2
式の構成要素. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
14.3
式の説明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
14.4
式ワークショップの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
14.5
14.6
14.4.1
式ワークショップへのアクセス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
14.4.2
ナビゲーションパネル(式ワークショップ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
14.4.3
オブジェクトパネル(式ワークショップ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
14.4.4
式テキストウィンドウ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
14.4.5
式ワークショップのボタン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
式の作成と変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
14.5.1
式の作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
14.5.2
式を編集する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
14.5.3
テキストを検索して置換する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
14.5.4
式の削除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
式のデバッグのチュートリアル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.6.1
このチュートリアルについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.7
エラーメッセージと式コンパイラによる警告. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
14.8
Crystal 構文による式の作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
14.8.1
Crystal 構文の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
14.8.2
Crystal 構文の基本. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
14.8.3
コメント(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
14.8.4
オブジェクト (Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
14.8.5
式(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
14.8.6
代入(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
14.8.7
単純データ型(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
14.8.8
範囲データ型(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
14.8.9
配列データ型(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
14.8.10
変数(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
14.8.11
関数(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
14.8.12
演算子(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
14.8.13
制御構造(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
14.8.14
制限(Crystal 構文). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
15
サブレポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
15.1
サブレポートの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
15.2
リンクされていないサブレポートとリンクされたサブレポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
SAP Crystal Reports for Enterprise ユーザガイド
目次
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
9
15.3
15.4
15.2.1
リンクされていない. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
15.2.2
リンクされたサブレポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
サブレポートの挿入. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
15.3.1
新規レポートをサブレポートとして挿入する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
15.3.2
既存のレポートをサブレポートとして挿入する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
サブレポートをメインレポートとして保存. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
15.4.1
15.5
サブレポートをメインレポートとして保存する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
サブレポートの書式設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
15.5.1
サブレポートの書式を設定する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346
15.6
サブレポートの再インポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
15.7
サブレポートフィルタによるサブレポートのメインレポートへのリンク. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
15.7.1
15.8
データ受け渡しのリンクによるサブレポートのメインレポートへのリンク. . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
15.8.1
15.9
15.11
データ受け渡しのリンクを使ってサブレポートをメインレポートにリンクする. . . . . . . . . . . . . . . . . . . 348
データ受け渡しのリンクを使用したレコード選択式の変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .349
15.9.1
15.10
サブレポートフィルタを使ってサブレポートをメインレポートにリンクする. . . . . . . . . . . . . . . . . . . . . 348
データ受け渡しのリンクを使用したレコード選択式を変更する. . . . . . . . . . . . . . . . . . . . . . . . . . . 349
サブレポートによる関連のないレポートの組み合わせ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350
15.10.1
関連のない 2 つのレポートを組み合わせるには. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
15.10.2
関連のない 3 つ以上のレポートを組み合わせるには. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
オンデマンドサブレポートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
15.11.1
オンデマンドのサブレポートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
15.11.2
オンデマンドサブレポートへのキャプションの追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352
15.12
レポートのデータを異なるビューで表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
16
多言語レポーティング. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354
16.1
多言語レポーティングのレベル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
16.2
多言語レポートテンプレートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
16.2.1
16.3
多言語レポートのスケジュール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
16.3.1
16.4
多言語レポートテンプレートを作成する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355
多言語レポートをスケジュールする. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
多言語レポートの表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
16.4.1
表示の基本設定を設定する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
17
アクセシブルレポートの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
17.1
アクセシビリティについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
17.1.1
17.2
10
アクセシブルなレポートの利点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
レポートのアクセシビリティの向上. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
17.2.1
レポートへの要素の配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
17.2.2
テキスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
17.2.3
色. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
目次
17.3
17.4
17.2.4
ナビゲーション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
17.2.5
パラメータ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
柔軟なデザイン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
17.3.1
アクセシビリティパラメータを作成する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
17.3.2
アクセシビリティと条件付き書式設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
17.3.3
アクセシビリティと非表示セクション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
17.3.4
アクセシビリティとサブレポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
データテーブルのアクセシビリティの向上. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
17.4.1
テキスト要素とデータテーブルの値. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
17.4.2
データテーブルデザインのその他の考慮事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
18
SAP Crystal Reports のバージョン間のレポートの共存. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
18.1
SAP Crystal Reports のバージョン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
18.2
別々に処理されるレポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
18.3
既存のレポートの更新. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
18.4
[日時フィールドを変換] オプションの無効化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
18.5
監査レポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
SAP Crystal Reports for Enterprise ユーザガイド
目次
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
11
1
SAP Crystal Reports (Enterprise 向け) 入門
1.1
Crystal Reports について
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
オンラインヘルプについて
このオンラインヘルプでは、オブジェクトの配置、レポートの書式設定、レコードの並べ替えなど、レポートを作成するための基
本的な操作手順について説明します。より特殊な作業に関する情報もあります。たとえば、高度な式を作成したり、異なるタイ
プのデータにアクセスします。このオンラインヘルプは、レポート作成における新しい概念の理解に役立つと共に、基本的なレ
ポート作成作業のリファレンスとしても使用できます。
12
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
SAP Crystal Reports (Enterprise 向け) 入門
1.3
ドキュメントの例について
この Crystal Reports のドキュメントには、さまざまなデータソースに接続する方法、およびそれらのデータソースから Report
Designer に情報を追加する方法について記載されています。また、関数のコードの例も提供されます。用語はデータベース
およびフィールドを参照していますが、説明は結果オブジェクトを含むユニバースおよびクエリなどのデータソースにも適用さ
れます。
便宜上、サンプルのフォルダ名およびオブジェクト名が説明および関数コードの例で使用されます。以下のコードのサンプル
は、フォルダ名およびオブジェクト名の使用方法を示しています。
Average ({orders.ORDER AMOUNT}, {customer.CUSTOMER ID})
多くの例では、カスタマフォルダからのオブジェクトとインターネットセールスフォルダからの数値が使用されます。この文書で
は他のオブジェクトが出てくることがありますが、次の表では使用される最も一般的なオブジェクトを示します。
顧客
オブジェクト
データ型
顧客
文字列
市
文字列
州
文字列
国
文字列
インターネット売上金額
数値
インターネット注文金額
数値
オブジェクトは通常次のように表示されます。
●
<顧客>
●
<インターネット注文金額>
●
<国>
SAP Crystal Reports for Enterprise ユーザガイド
SAP Crystal Reports (Enterprise 向け) 入門
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
13
2
クイック スタート
2.1
Crystal Reports の使い方の学習
Crystal Reports の使い方を学習するには、この節で説明する次の方法から選択します。
●
サンプルレポートおよびサンプルデータベースの使い方を学習し、その説明を読む。
Crystal Reports のサンプルレポートとサンプルデータベースは、次のリンクからダウンロードできます。Direct
download link for samples
サンプルデータベースの使い方の詳細については、サンプルデータ - xtreme.mdb [14
ページ]およびサンプルデータベースのダウンロード [15 ページ]を参照してください。
●
クイック スタート - 初心者ユーザー [14 ページ]にある詳細な解説と手順の説明を使用する。
●
高度な機能 [33 ページ]にある概要とトピックの相互参照を使用する。
「高度な機能」の節は、レポートの概念をすでに理解している場合に特に便利です。
それぞれの方法は、どれも Crystal Reports を学習して理解するには有効な方法です。1 つの方法ではプログラムを使い始
めるのに十分ではない場合でも、必要に応じていつでもこの節に戻り、別の方法を調べることができます。
2.1.1
サンプルデータ - xtreme.mdb
サンプルデータベース xtreme.mdb は、Crystal Reports の使い方の学習に役立ちます。このデータベースは次のリンクか
らダウンロードできます。Direct download link for samples
詳細については、サンプルデータベースのダウンロード [15
ページ]を参照してください。
xtreme.mdb は、マウンテンバイクとその部品を扱う架空の製造会社、Xtreme マウンテンバイク社のデータを含む
Microsoft Access データベースです。必要なドライバはすべて、Crystal Reports をインストールした際に保存されているた
め、データベースを開いてレポートのデザインを開始できます。このマニュアルのほぼすべてのサンプルは、xtreme.mdb の
データに基づいています。
注記
このサンプルデータは、データベースの設計やデータの操作の学習ではなく、レポートの作成に関するさまざまな概念の学
習を目的として設計されています。データベースの設計とデータの操作の詳細については、お使いのデータベースのドキュ
メントを参照してください。
2.2
クイック スタート - 初心者ユーザー
このチュートリアルでは、顧客リストレポートを作成します。顧客リストは、最も基本的なビジネスレポートです。通常、顧客名、
顧客の住所、担当者名などの情報が含まれています。
まず、基本的な概念である、データベースへの接続、データベースからの新しいレポートの作成、レポート上でのフィールドお
よび要素の配置について学習します。次のタスクについても学習します。
14
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
●
データベースフィールドおよびレポート要素を移動し、サイズを変更する。
●
スマートガイドライン機能を使用する。
●
行および列の間隔を調整する。
●
[ページ] モードでレポートをプレビューして、細かい調整を行う。
●
概要情報に基づいてタイトルを作成する。
●
レポート要素を書式設定する。
●
レコードフィルタを使用して、必要なデータだけをレポートに入れる。
●
データのグループ化および並べ替え
2.2.1
開始する前に
このチュートリアルは、Microsoft Windows 7 を使用して作成されています。異なるプラットフォームを使用している場合、こ
のチュートリアルの画像は実際の画面とは少し異なる場合があります。
このプログラムのすべてのレポートセクションでは、9 ポイントの Arial または MS P ゴシックがデフォルトのフォントに設定さ
れています。デフォルトのフォントを変更した場合や、使用しているプリンタがこのフォントをサポートしていない場合は、レポー
トのフィールドのサイズおよびフィールドの間隔が、このチュートリアルで示されるスクリーンショットとは異なって表示されま
す。
2.2.1.1
サンプルデータベースのダウンロード
このチュートリアルを開始する前に、このリンク Direct download link for samples
から xtreme.mdb データベースをダ
ウンロードする必要があります。このチュートリアルで作成する顧客リストレポートでは、xtreme.mdb データベースのデータ
を使用します。
2.2.1.2
データベース接続の設定
Windows で xtreme.mdb データベースを使用してレポートを作成するには、このデータベースへの接続を設定する必要が
あります。
2.2.1.2.1
1.
データベース接続を設定する
[ODBC データソースアドミニストレータ] を開きます。これは通常、
ータ ソース (ODBC)
スタート
コントロール パネル
管理ツール
デ
にあります。
[データ ソース (ODBC)] オプションが [スタート] メニューにない場合は、Windows ディレクトリで odbcad32.exe ファ
イルを検索して開き、[ODBC データ ソース アドミニストレーター] を開くことができます。
2.
[システム DSN] タブで、[追加] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
15
[新規データ ソースの作成]ダイアログ ボックスが表示されます。
3.
[Microsoft Access Driver (*.mdb)] をクリックし、[完了] をクリックします。
[データ ソースの新規作成] ダイアログボックスが閉じ、[ODBC Microsoft Access セットアップ] ダイアログボックスが表
示されます。
4.
[データ ソース名] フィールドに「xtreme」と入力します。
5.
[選択] をクリックします。
[データベースの選択] ダイアログボックスが表示されます。
6.
リストとペインを使用して、xtreme.mdb データベースが含まれるディレクトリに移動し、このデータベースを選択します。
7.
各ダイアログボックスで [OK] をクリックしてダイアログボックスを閉じ、データベース接続の設定を終了します。
これで、xtreme.mdb データベースを使用して、Crystal Reports 内でレポートを作成できるようになりました。
2.2.2
顧客リストレポートの作成
2.2.2.1
データベース接続からの新しいレポートの作成
レポートの作成手順は、テンプレートを使用するかデータソースへの接続を使用するかによって異なります。また、使用するデ
ータソースの種類によっても異なります。顧客リストレポートでは、リレーショナルデータベースへの ODBC 接続を使用しま
す。
リレーショナルデータベースからレポートを作成する場合は、まず、レポートをデータベースに接続し、使用するテーブルを選
択します。
2.2.2.1.1
1.
データベース接続から新しいレポートを作成する
Crystal Reports で、
ファイル
新規作成
データソースから
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
3.
[ベンダーによる接続] をクリックして、セクションを展開します。
Microsoft
MS Access 2003
ODBC
をクリックしてから、[次へ] をクリックします。
4.
[ログインパラメータ] タブで、[データソース名] リストを使用して [xtreme] を選択します。
5.
[次へ] をクリックし、[データソース接続の選択] ダイアログボックスの [レポートのテーブルを選択] 領域に進みます。
注記
このダイアログボックスは、次のタスクのために開いたままにしておきます。
これで、xtreme.mdb データベースと接続されました。
次に、レポートで使用するデータベーステーブルを選択する必要があります。
16
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
2.2.2.2
データベーステーブルの選択
データベースのテーブルを選択して、レポートで使用するデータを指定します。複数のテーブルを選択できますが、顧客リスト
に必要となるのは顧客データのみであるため、<Customer> テーブルのみを選択します。
2.2.2.2.1
データベーステーブルを選択する
この手順は、[データソース接続の選択] ダイアログボックスの [レポートのテーブルを選択] 領域で実行します。このダイアロ
グボックスの領域は、データベースへの接続後に表示されます。
1.
[使用可能なテーブル] ペインで、[テーブル] フォルダを展開し、xtreme.mdb データベースのテーブルのリストを表示し
ます。
2.
<Customer> テーブルを [選択したテーブル] ペインにドラッグします。
[選択したテーブル] ペインには、テーブル名の下にテーブルのフィールドが表示されます。
3.
[完了] をクリックします。
空のレポートキャンバスが生成され、[ページ] モードで表示されます。<Customer> テーブルのデータフィールドが、[データ
エクスプローラ] の [結果オブジェクト] 領域に表示されます。これで、レポートのデザインを開始できます。
2.2.2.3
レポートキャンバスについて
レポートキャンバスは次の 5 つのセクションに分かれています。
●
レポートヘッダ: このセクションは、レポートの先頭に 1 回表示する情報のために使用されます。
●
ページヘッダ: このセクションは、各ページの先頭に表示する情報のために使用されます。
●
ボディ: このセクションは、レポートデータのために使用され、1 レコードあたり 1 つ表示されます。
●
レポートフッタ: このセクションは、レポートの末尾に 1 回表示する情報のために使用されます。
●
ページフッタ: このセクションは、各ページの一番下に表示する情報のために使用されます。
作業しているレポートセクションがわからない場合は、レポートの左側の影付きの領域を見ます。ここには、常にセクション名
が表示されます。
デフォルトでは、Crystal Reports のレポートキャンバスの上にルーラーが表示されます。このルーラーを、レポート要素の配
置やサイズ変更の際のガイドとして使用できます。ルーラーが非表示の場合には、[基本設定] ダイアログボックスを使用して
有効化できます。
編集
基本設定
をクリックし、[デザインキャンバス] をクリックし、[ルーラーを表示] チェックボックスを
オンにして [OK] をクリックします。
2.2.2.4
ページモードと構造モードの使用
[ページ] モードと [構造] モードを切り替えるには、レポートキャンバスの上に位置する [ページ] ボタンおよび [構造] ボタンを
クリックします。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
17
レポートをデザインする際には、[ページ] モードではなく [構造] モードで作業することをお勧めします。[ページ] モードでは、
変更を行うたびにレポート全体が更新されるため、プログラムの実行が遅くなる場合があります。[構造] モードで作業する方
が実行が速くなります。レポートの印刷表示を確認する必要がある場合のみ、[ページ] モードに切り替えてください。
2.2.2.5
スマートガイドライン機能について
スマートガイドライン機能を使用すると、各要素を手動で選択せずに、レポート要素のすべての列の選択、移動、およびサイ
ズ変更を行うことができます。レポート要素を選択すると、スマートガイドラインが表示され、列の関連する要素が自動的に選
択されます。
注記
このチュートリアルを進める前に、
編集
レポートオプション
をクリックして [レポートオプション] ダイアログボックスを
開き、[スマートガイドラインを表示する] チェックボックスがオンになっていることを確認してください。
このチュートリアルの手順には、スマートガイドラインがオンかオフかで方法が異なるものがあります。このチュートリアルで
は、スマートガイドラインがオンであることを前提とします。
2.2.2.6
フィールドの挿入
データベースフィールドを挿入することで、レポートにデータを追加します。フィールドをレポートに挿入すると、そのフィールド
の値が列の見出しの下に表示されます。
データベースフィールドをレポートに挿入するには、[データエクスプローラ] サイドパネルを使用します。このサイドパネ
ルには、使用できるすべてのフィールドが表示されます。サイドパネルが表示されていない場合は、[データエクスプローラ] ア
イコンをクリックして表示します。
2.2.2.6.1
フィールドを挿入する
この手順を開始する前に、[構造] をクリックして、ビューを [構造] モードに変更します。
1.
[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域で、"<顧客名>" をクリックして選択します。
注記
フィールドに含まれる値が不明な場合は、フィールドを右クリックして [データの参照] を選択することで、値を表示でき
ます。
2.
"<顧客名>" フィールドを、レポートキャンバスの [ボディ] セクションにドラッグし、領域のできるだけ左上に配置します。
オブジェクトをレポートにドラッグすると、矢印カーソルと一緒にオブジェクトフレームが表示されます。
18
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
オブジェクトフレームは、配置しようとしている選択したフィールドを示しています。
"<顧客名>" フィールドが [ボディ] セクションに表示され、対応する見出しがフィールドのすぐ上の [ページヘッダ] セクションに
表示されます。これで、レポートに "<顧客名>" フィールドのデータが含まれるようになりました。
レポートキャンバスは、次のようになります。
2.2.2.7
フィールドについて
このチュートリアルを進める前に、先ほど [ボディ] セクションに配置したフィールドを見ると、次のようになっています。
●
オブジェクトフレームは、レポートの出力時、ボックスを配置した位置にフィールド値が表示されることを示している。
●
オブジェクトフレームのサイズは、フィールドのサイズからおよその大きさが計算される。
●
フィールドの名前がオブジェクトフレーム内部に表示されている。
●
オブジェクトフレーム内部の名前のフォント、フォントサイズ、スタイル (太字、下線など) は、フィールド値のフォント、フォ
ントサイズ、スタイルをそれぞれ表している。
2.2.2.8
複数のフィールドの挿入
次に、さらに 2 つのフィールドをレポートに挿入します。ただし、ここでは Ctrl クリックを使用して、すべてのフィールドを同時に
追加します。
2.2.2.8.1
複数のフィールドを挿入する
1.
[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域で、"<市町村>" フィールドをクリックして選択します。
2.
キーボードの Ctrl キーを押しながら "<国>" フィールドをクリックして、Ctrl キーを放します。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
19
"<市町村>" フィールドに加えて、"<国>" フィールドが選択されます。
注記
Ctrl クリックを使用して、隣接しない複数のフィールドを選択することができます。また、Shift クリックを使用して、リスト内
で連続する複数のフィールドを選択することができます。
3.
フィールドをレポートの [ボディ] セクションにドラッグし、"<顧客名>" フィールドの右隣に配置します。
両方のフィールドが、[データエクスプローラ] サイドパネル内の表示と同じ順序で、レポートの [ボディ] セクションに表示され
ます。
2.2.2.9
フィールドの選択
フォントの変更やフィールドの移動など、フィールドに対する操作を実行するには、まずフィールドを選択する必要があります。
そのためには、カーソルをオブジェクトフレーム内に置き、1 回クリックします。
フィールドを選択すると、オブジェクトフレームの端にハンドル (ボックス) が表示されます。スマートガイドライン機能がオンの
場合は、青のガイドラインにより各列が縁取られ、各列の上に列ハンドルが表示されます。
複数のフィールドを選択するには、Ctrl クリックまたは Shift クリックを使用します。また、レポートキャンバスの空の部分をクリッ
クして、選択するフィールドを囲むように選択フレームをドラッグすることもできます。
フィールドを選択解除するには、オブジェクトフレームの外にカーソルを移動し、ウィンドウの空の部分をクリックします。ハンド
ルとガイドラインが表示されなくなります。
2.2.2.10 フィールドの再配置
レポートキャンバス上で 2 つの既存のフィールドの間にフィールドを配置したときに、これらのフィールドの間に十分なスペー
スがない場合、スマートガイドラインによって、新しく配置するフィールドに合わせてこれらの既存のフィールドが自動的に移動
します。スマートガイドラインがオンの場合、少ない手順でフィールドの挿入および再配置が可能です。
スマートガイドラインを使用して次のことを実行できます。
●
"<国>" フィールドを、"<顧客名>" フィールドと "<市町村>" フィールドの間に移動する。
●
"<地域>" フィールドを、"<国>" フィールドと "<市町村>" フィールドの間に挿入する。
2.2.2.10.1
1.
フィールドを再配置する
"<国>" フィールドをクリックして選択します。
スマートガイドラインが表示されます。
2.
"<国>" 列の上の列ハンドルをクリックして、"<顧客名>" 列と "<市町村>" 列の間の領域にドラッグします。
列ハンドルを選択するとオレンジ色になります。
"<国>" 列が、"<顧客名>" 列と "<市町村>" 列の間に配置されます。
20
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
3.
[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域から、"<地域>" フィールドを、[ボディ] セクションの "<国
>" フィールドと "<市町村>" フィールドの間にドラッグします。
スマートガイドラインが表示され、キャンバスに "<地域>" フィールドをドロップしたときに配置される位置がオレンジ色の
列ハンドルで示されます。
現時点で、レポートキャンバスには左から順に次のフィールドが含まれています。
●
<顧客名>
●
<国>
●
<地域>
●
<都市>
2.2.2.11
フィールドのサイズ変更
フィールドやその対応する見出しを個々に選択してサイズを変更する代わりに、スマートガイドラインを使用して列のサイズを
変更できます。
2.2.2.11.1
1.
フィールドのサイズを変更する
"<顧客名>" フィールドをクリックして選択します。
スマートガイドラインが表示されます。
2.
カーソルをガイドラインの "<顧客名>" 列と "<国>" 列の間に移動します。
矢印カーソルがサイズ変更カーソルに変わります。
3.
"<顧客名>" フィールドのサイズを変更するために、ガイドラインを 2 インチ (約 5 cm) の幅になるまで右にドラッグしま
す。
スマートガイドライン機能により、見出しのサイズとフィールドのサイズが同じになるように、列の見出しのサイズが自動的
に変更されます。また、"<顧客名>" 列に合わせて、ほかの 3 つの列が右に移動します。
2.2.2.12 作業の確認
ここで、レポートに配置された 4 つのフィールドを確認してみます。
1.
レポートキャンバスの上の領域で、[ページ] をクリックします。
ビューが [ページ] モードに切り替わり、レポートのプレビューが生成されます。レポートは、次のようになります。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
21
各行の間に大きな空のスペースがあります。これで最初の時点の顧客リストはできましたが、レポートを完成させるため
には、行の間隔を調整し、複数のレポート要素を追加する必要があります。
2.
レポートを確認できたら、[構造] をクリックして [構造] モードに戻ります。
2.2.2.13 行の間隔の調整
レポートの行間に表示されるスペースの広さは、レポートセクションの高さによって決まります。[ボディ] セクションの高さはフ
ィールドの高さよりも大きいため、レポート上のデータの行間に空のスペースができます。
不要なスペースを削除するには、セクションの高さがその内部のオブジェクトの高さと一致するように、セクションのサイズを変
更します。
2.2.2.13.1
1.
行の間隔を調整する
[ボディ] セクションの下の境界線上にカーソルを置きます。
矢印カーソルがサイズ変更カーソルに変わります。
2.
[ボディ] セクションの内部のフィールドまで、境界線を上にドラッグします。
[ページ] をクリックしてレポートを表示します。次のようになります。
22
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
行間のスペースが削除されました。
[構造] をクリックして、[構造] モードに戻ります。
2.2.2.14 テキスト オブジェクトでのデータベース フィールドの組み合わせ
次に、"<担当者 (姓)>" フィールドと "<担当者 (名)>" フィールドをレポートに追加します。これらのフィールドを個別のオブ
ジェクトとして追加する代わりに、両方のフィールドを 1 つのテキスト要素に挿入してみます。これにより、1 つの要素の書式を
変更するだけで、2 つのフィールドの書式を管理できます。
2.2.2.14.1
せる
1.
テキストオブジェクト内でデータベースフィールドを組み合わ
レポートキャンバスの上の [挿入] タブで、[テキスト] をクリックします。
カーソルをレポートの上に移動すると、矢印カーソルが十字カーソルになります。
2.
"<市町村>" フィールドの横でクリックしてドラッグし、幅が 1.5 インチ (約 3.8 cm) で、現在レポート上にあるフィールドの
高さと一致するオブジェクトフレームを作成します。
テキスト要素がレポートに挿入されます。
3.
デフォルトのテキストを削除し、レポートキャンバスの空の部分をクリックして、テキスト要素を選択解除します。
4.
[データエクスプローラ] からテキスト要素に "<担当者 (姓)>" フィールドをドラッグします。
カーソルがテキスト要素内部にあるときに、要素が強調表示されます。
フィールド名がテキスト要素内で {Contact Last Name} のように表示されます。
5.
テキスト要素の内部をダブルクリックして編集用に選択し、テキストの後にカンマとスペースを入力します。
6.
レポートキャンバスの空の部分をクリックして、テキスト要素を選択解除します。
7.
[データエクスプローラ] からテキスト要素に "<担当者 (名)>" フィールドをドラッグします。
テキスト要素のカンマとスペースの後にフィールドが挿入されます。
[ページ] をクリックして、組み合わされたフィールドの表示を確認します。レポートは、次のようになります。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
23
[構造] をクリックして、[構造] モードに戻ります。
2.2.2.15 フィールド見出しの作成
上で見たように、組み合わされた "<担当者名>" フィールドだけは見出しがありません。ここでは、見出しを作成します。
2.2.2.15.1
1.
フィールド見出しを作成する
レポートキャンバスの上の [挿入] タブで、[テキスト] をクリックします。
カーソルをレポートの上に移動すると、矢印カーソルが十字カーソルになります。
2.
[ページヘッダ] セクションの "<担当者名>" フィールドのすぐ上で、クリックしてドラッグし、ほかのフィールド見出しと同じ
高さで "<担当者名>" フィールドと同じ幅のオブジェクトフレームを作成します。
テキスト要素がレポートに挿入されます。
3.
デフォルトのテキストが太字でない場合は、レポートキャンバスの上にある [書式] タブをクリックし、[太字] をクリックしま
す。
4.
デフォルトのテキストを削除し、「担当者名」と入力します。
5.
レポートキャンバスの空の部分をクリックして、テキスト要素を選択解除します。
これで、"<担当者名>" フィールドに、ほかのフィールド見出しと同じようなフィールド見出しができました。
2.2.2.16 概要情報の追加
次に、レポートに概要情報を加えます。概要情報には、レポートの作成者、タイトル、表題、およびレポートに関するキーワード
やコメントを入れることができます。概要情報を追加すると、ユーザーはレポートに関する情報をすぐに知ることができます。
24
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
2.2.2.16.1
1.
ファイル
概要情報を追加する
プロパティ の順にクリックします。
[プロパティ] ダイアログボックスが表示されます。
2.
[“レポートタイトルをここに入力してください”] と表示されるフィールドに、「顧客リスト」と入力します。
次のセクションではこの情報を使用します。
3.
(オプション) ほかのフィールドを使用して、レポートに関するその他の情報を入力できます。そのためには、セクション見
出しをクリックしてセクションを展開し、その他のオプションを表示します。
4.
[OK] をクリックして概要情報を保存し、ダイアログボックスを閉じます。
2.2.2.17
タイトルの追加
お気づきのとおり、レポートにタイトルがないと不完全な感じがします。テキスト要素を使用してタイトルを追加することもできま
すが、事前定義済みオブジェクトを使用して、[プロパティ] ダイアログボックスから直接タイトル情報を取得することもできま
す。
2.2.2.17.1
タイトルを追加する
1.
[データエクスプローラ] サイドパネルで、[事前定義済みオブジェクト] 領域を展開します。
2.
[レポートタイトル] オブジェクトを [レポートヘッダ] レポートセクションの左上隅にドラッグします。
[ページ] をクリックしてレポートを表示します。次のようになります。
レポートタイトルオブジェクトに、[プロパティ] ダイアログボックスで入力したタイトルが表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
25
2.2.2.18 オブジェクトの書式設定
次に、レポートタイトルを書式設定します。タイトルの書式を確認しながら設定できるように、[ページ] モードのまま作業しま
す。
2.2.2.18.1
オブジェクトを書式設定する
1.
レポートタイトルを選択します。
2.
オブジェクトフレームの右端を、"<担当者名>" フィールド内のデータの右端と同じくらいの位置までドラッグして、レポート
タイトルのサイズを変更します。
カーソルが "<担当者名>" 列の右端まで届くと、ガイドラインが表示されます。このガイドラインは、レポートタイトルの右
端が "<担当者名>" 列の右端に合わせて整列されることを示します。
これで、レポートの左端から右端まで広がったオブジェクトフレームができます。そのため、タイトルをレポートの中央に整
列できます。
3.
レポートキャンバスの上の [書式] タブで、[中央揃え] をクリックします。
タイトルがオブジェクトフレームの中央に移動します。
4.
レポートタイトルを右クリックし、コンテキストメニューから [事前定義済み要素の書式設定] を選択します。
[書式] ダイアログボックスが表示されます。
5.
[フォント] をクリックして、フォントオプションを表示します。
6.
次の書式設定オプションを使用して、レポートタイトルを見やすくします。
a) [サイズ] リストで、[16] をクリックします。
b) [色] リストをクリックしてパレットを開き、[標準の色] で [栗色] スウォッチをクリックします。
c) [フォントスタイル] リストで、[太字] をクリックします。
7.
[閉じる] をクリックして、ダイアログボックスを閉じます。
これで、レポートタイトルが書式設定され、タイトルがレポートで際立って表示されます。レポートは、次のようになります。
26
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
2.2.2.19 レポートの保存
1.
画面左上隅にあるツールバーで、[保存] をクリックします。
今回初めてレポートを保存するので、[名前を付けて保存] ダイアログボックスが表示され、デフォルトではファイルが保存
されるディレクトリが表示されます。
2.
(オプション) レポートをデフォルトのディレクトリ以外の場所に保存する場合は、このダイアログボックスのオプションを使
用して、別のディレクトリを選択します。
3.
[ファイル名] フィールドに「Custlist.rpt」と入力します。
4.
[保存] をクリックします。
これで、デフォルトのディレクトリまたは別に選択したディレクトリにレポートが保存されます。
正常に終了しました。基本的な顧客リストのレポートが完成しました。残りのチュートリアルでは、このレポートにより詳細な設
定を行います。
2.2.3
レコードの選択
Crystal Reports では、レポートに入れるレコード数を制限できます。ここでは、次のタスクを実行する方法について説明しま
す。
●
レポートに入れるレコードを選択する。
●
選択条件も含めて、レポートのコピーを保存する。
たとえば、米国だけの顧客を一覧できる顧客リストが必要とします。サンプルデータには、米国と世界各国のレコードがありま
す。この場合、レコードフィルタを使用して、レポートに表示するデータを制限できます。
2.2.3.1
レポートデータのフィルタ処理
レポートをスクロールすると、世界各国の顧客情報が入っていることがわかります。ここでは、米国のデータのみを選択して表
示するためのレコードフィルタを作成します。
2.2.3.1.1
1.
レポートデータをフィルタ処理する
レポートキャンバスの上の [データ] タブで、[レコードフィルタ] をクリックします。
[レコードフィルタ] ダイアログボックスが表示されます。
2.
[フィルタの追加]をクリックします。
新しいフィルタがダイアログボックスに表示されます。このフィルタには 2 つのリストと 1 つのフィールドが含まれます。
3.
これらのリストとフィールドを使用して、レポートに入れるレコードの条件を設定します。
a) 1 つ目の (一番左の) リストで、[Customer.国] をクリックします。
b) 2 つ目のリストで、[等しい] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
27
c) フィールドをクリックして編集用に選択します。
フィールドが入力可能なリストに変わります。手動で値を入力するか、リストから値を選択することができます。
d) フィールド内のリストから、"“米国”" を選択します。
これで、"<国>" フィールドの値が "“米国”" であるレコードを選択するフィルタを作成できました。
4.
[OK] をクリックしてレコードフィルタの作成を終了し、ダイアログボックスを閉じます。
レポートデータを更新するように求めるプロンプトが表示されます。
5.
[データの最新表示] をクリックします。
レポートが更新され、レコードフィルタの条件に一致するレコードのみがレポートに表示されます。
元のレポートを上書きしないでこのバージョンのレポートを保存するには、
ファイル
名前を付けて保存
をクリックし、フ
ァイル名に「USA.rpt」と入力して、[保存] をクリックします。
注記
残りのチュートリアルでは、この USA.rpt レポートを操作します。
2.2.4
グループ化と並べ替え
ほとんどのレポートでは、読みやすくまた理解しやすくなるように、データをグループに分ける必要があります。また、レポート
内の特定のレコードが見つけやすくなるように、データを並べ替える必要もあります。Crystal Reports では、レポートデータ
のグループ化と並べ替えをさまざまな方法で実行できるため、非常に柔軟にレポートをカスタマイズできます。
2.2.4.1
レポートのグループ化
ここでの顧客リストでは、顧客を地域ごとにグループ化し、グループをアルファベット順に並べ替えます。
2.2.4.1.1
レポートをグループ化する
この手順を開始する前に、[構造] をクリックして、[構造] モードに戻ります。
1.
レポートキャンバスの上の [挿入] タブで、[グループ] をクリックします。
オプションのパネルが [グループ] ボタンの下に表示されます。
2.
パネル左側のリストで、[Customer.地域] をクリックします。
このリストは、グループが基づくデータを指定するために使用します。
3.
[昇順] をクリックします。
このオプションは、グループの並べ替え順序を指定するために使用します。[“昇順”] の並べ替え順序は、グループが最
小値から最大値 (A から Z、1 から 9) の順序で配置されることを表します。
4.
[挿入] をクリックします。
レポートキャンバス上に、[グループヘッダ 1] と [グループフッタ 1] という 2 つの新しいセクションが表示されます。これ
は、レポートがどのようにグループ化されているかを示しています。
28
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
[グループヘッダ] セクションにはグループ名要素があります。この要素は動的ヘッダです。動的ヘッダについては、次の
節で説明します。
5.
[ページ] をクリックして、レポートを [ページ] モードで表示します。
レポートは、次のようになります。
6.
サイドパネルの [グループツリー] アイコンをクリックして、レポート内のグループのツリービューを表示します。
[グループツリー] を利用すると、レポートをスクロールしてグループを探さなくても、特定のグループに即座にジャンプでき
ます。たとえば、テキサス州の顧客グループを表示するには、[グループツリー] の [TX] をクリックします。すると、TX グ
ループにジャンプし、そのグループが表示されます。
注記
データをグループ化する主な理由は、レポートのすべてのレコードに対してではなく、グループ単位のレコードに対して合計
や集計を行うようにすることです。たとえば、売上レポートを作成する場合は、地域ごとの売上合計を計算します。レポート
データの合計と集計の詳細については、並べ替え、グループ化、集計 [194 ページ]を参照してください。
2.2.4.2
動的ヘッダについて
動的ヘッダは、グループの内容に基づいて変化するヘッダです。[グループヘッダ 1] セクションのグループ名要素は動的ヘッ
ダです。
グループを挿入すると、[グループヘッダ] セクションにグループ名要素が自動的に挿入され、レポート内のレコードよりも目立
つように要素が書式設定されます。グループ名要素には、現在のグループ名が表示されます。たとえば、地域ごとにレポート
データをグループ化してレポートを [ページ] モードで表示した場合、CA (カリフォルニア州) グループのグループヘッダは
“CA” と表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
29
2.2.4.3
レコードの並べ替え
一般的な顧客リスト レポートでは、アルファベット順に顧客名をリストしています。ここでは、地域ごとに顧客名をアルファベット
順に並べ替えます。
2.2.4.3.1
レコードを並べ替えるには
この手順を開始する前に、[構造] をクリックして、[構造] モードに戻ります。
1.
レポートキャンバスの上の [データ] タブで、[並べ替え] をクリックします。
[グループと並び替え] ダイアログボックスが表示されます。
グループの作成時に "<地域>" フィールドを並べ替えているため、[地域によってグループ化されたグループ #1] セクショ
ンには [“並べ替え基準: 地域”] という並べ替えアイテムが表示されます。
各地域内で顧客名を並べ替えるには、[ボディ] セクションでデータを並べ替えます。
2.
[グループと並べ替え] ダイアログボックスで、[ボディ] の横の矢印をクリックしてこのセクションを展開します。
3.
[並べ替えの追加] をクリックし、表示されるリスト内で [顧客名] をクリックします。
"<顧客名>" フィールドに基づいた新しい並べ替えアイテムは、ダイアログボックスの [ボディ] セクションに表示されます。
4.
並べ替えアイテムの右側のアイコンより、並べ替え順序が [昇順] に設定されていることを確認します。
並べ替え順序が [降順] に設定されている場合は、アイコンをクリックして [昇順] に変更します。
5.
[OK] をクリックして、[グループと並べ替え] ダイアログボックスを閉じます。
各グループ内のレコードがアルファベット順に並べ替えられています。
2.2.5
レポートの完成
顧客リストレポートは完成間近です。冗長な情報を削除し、レポートのレイアウトを調整し、レポートの最初のページに会社の
ロゴを追加してレポートを完成させます。
2.2.5.1
フィールドの削除
現在、レポートには米国だけのレコードが含まれているので、レポートのボディに "<国>" フィールドを表示する必要はありま
せん。また、レポートデータは地域ごとにグループ化され、各グループには地域名のラベルが付けられているため、"<地域>"
フィールドを表示する必要もありません。
ここでは、"<国>" フィールドと "<地域>" フィールドを削除します。
30
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
2.2.5.1.1
フィールドを削除する
1.
Ctrl クリックを使用して、レポートキャンバス上の "<国>" フィールドと "<地域>" フィールドを選択します。
2.
キーボードの Del キーを押します。
"<国>" フィールドと "<地域>" フィールドがレポートキャンバスから削除されます。また、対応する見出しも削除されます。
[ページ] をクリックしてレポートを表示します。次のようになります。
[構造] をクリックして、[構造] モードに戻ります。
2.2.5.2
フィールドの間隔の調整
"<国>" フィールドが削除されたため、"<顧客名>" フィールドと "<市町村>" フィールド間に余分な空のスペースができます。
スペースをそのままにしておくこともできますが、列をバランスよく配置することで、より読みやすいページになります。
2.2.5.2.1
1.
フィールドの間隔を調整する
"<市町村>" フィールドをクリックして選択します。
スマートガイドラインが表示されます。
2.
"<市町村>" 列の上の列ハンドルをクリックして左にドラッグし、"<顧客名>" 列の上部にある列ハンドルの 1 インチ (約
2.5 cm) 右の位置まで動かします。
これで、"<市町村>" 列が "<顧客名>" 列に近づきました。
3.
"<担当者名>" 列の上の列ハンドルをクリックして左にドラッグし、"<市町村>"列の上部にある列ハンドルの 1 インチ (約
2.5 cm) 右の位置まで動かします。
これで、"<担当者名>" 列が "<市町村>" 列のすぐ横に配置されました。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
31
レポートタイトルの右端は、"<担当者名>" 列の右のガイドラインと関連付けられているため、"<担当者名>" 列を移動す
ると、レポートタイトルのサイズも自動的に変更されます。レポートタイトルが [中央揃え] に設定されているため、オブジェ
クトのサイズに基づき、テキストが自動的に中央に配置されます。ページの幅に基づいてレポートタイトルを中央に配置
する場合は、スマートガイドラインをオフにして、タイトルがページ全体の幅になるようにタイトルのサイズを変更する必要
があります。
[ページ] をクリックしてレポートを表示します。次のようになります。
[構造] をクリックして、[構造] モードに戻ります。
2.2.5.3
会社のロゴの挿入
ここでは、レポートの先頭ページの上部に会社のロゴを挿入します。
Crystal Reports では、ほとんどの標準画像ファイル形式 (.bmp、.jpg、.gif など) をサポートしています。ほぼすべての
画像ファイルを会社のロゴとして使用できます。
2.2.5.3.1
1.
会社のロゴを挿入する
レポートキャンバスの上の [挿入] タブで、[ピクチャ] をクリックします。
[ピクチャ] ボタンが表示されていない場合は、
その他
ピクチャ
をクリックします。
[開く] ダイアログボックスが表示されます。
2.
ロゴとして使用する画像ファイルを選択し、[開く] をクリックします。
ダイアログボックスが閉じ、レポート上にカーソルを移動するとオブジェクトフレームが表示されます。このオブジェクトフレ
ームは、配置する会社のロゴを表しています。
3.
[レポートヘッダ] セクションの左上隅にオブジェクトフレームを置き、一度クリックしてロゴを配置します。
[レポートヘッダ] セクションにロゴを配置し、レポートの最初のページだけにロゴが出力されることを確認します。
32
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
グラフィックを配置する場合、[レポートヘッダ] セクションには十分なスペースがないように見えますが、セクションは、ピク
チャがうまく収まるように自動的に広がります。
ロゴのサイズによっては、ロゴがレポートタイトルの一部に重なる可能性があります。この場合は、必要に応じてレポート
要素を移動するか、そのサイズを変更します。
画面左上隅のツールバーの [保存] をクリックし、レポートを保存します。
これで、初めてのレポートが完成しました。
2.3
高度な機能
ここでは、クイック スタート - 初心者ユーザー [14 ページ]で説明していない一部のレポート機能について、概要を説明しま
す。説明に含まれている相互参照を使用して、その機能に関する具体的な指示や、詳細情報を確認できます。
2.3.1
データソースへの接続
クイック スタート - 初心者ユーザー [14 ページ]で説明したリレーショナルデータベース接続以外に、レポートの作成に使用で
きるさまざまなデータソースがあります。Crystal Reports でサポートされるデータソースの種類は次のとおりです。
●
ユニバース
●
SAP BEx クエリ
●
分析ビュー
●
JDBC 接続
●
ODBC 接続
●
Microsoft 接続
選択したデータソースの種類によっては、レポートに含める特定のデータを選択したり、接続の作成時に一部のパラメータを
指定したりする必要があります。例:
●
ユニバースを選択した場合は、[クエリパネル] ダイアログボックスを使用して、クエリに含めるデータを選択する必要があ
ります。
●
Microsoft Access サーバなどのベンダー接続を選択した場合は、ログインパラメータ、設定パラメータ、カスタムパラメー
タなどを指定する必要があります。
データソースに接続するには、
ファイル
新規
データソースから
をクリックし、データソースを選択します。適切な設定
を行い、データソースへの接続を完了した後に、Crystal Reports によって空のレポートキャンバスが生成され、[データエクス
プローラ] サイドパネルにデータが表示されます。
データソースへの接続の詳細については、データソース接続 [88 ページ]を参照してください。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
33
2.3.2
テンプレートからのレポートの作成
最初からレポートをデザインする方法に加えて、レポートリポジトリのテンプレートを使用することもできます。これらのテンプレ
ートには、請求書、勘定書、催促状などの、標準的なビジネスドキュメント用の事前にデザインされたレイアウトが含まれてい
ます。
テンプレートからレポートを作成するには、
ファイル
新規
Web テンプレートから
をクリックし、テンプレートを選択し
ます。テンプレートにデータを追加するには、データソースを選択し、データオブジェクトをテンプレート内のプレースホルダ式
にマップします。
レポートテンプレートの操作の詳細については、Web ベースのレポートテンプレート [81 ページ]を参照してください。
2.3.3
レポートセクションの操作
レポートのレイアウトは、セクションを挿入、再配列、およびアンダーレイすることによってカスタマイズできます。また、指定し
た条件を満たした場合に非表示になるセクションや異なるデータを表示するセクションを作成することもできます。複数のセク
ションを使用することで、レポートの構成をより細かく制御できます。
セクションの操作の詳細については、レポートのレイアウトと書式設定 [151 ページ]を参照してください。
2.3.4
スマートガイドラインを使用しないレポートのデザイン
スマートガイドラインを使用すると、レポート上でオブジェクトを整列する際の時間を節約できますが、この機能をオフにするこ
とで、次のようにレポートをより細かくデザインできます。
●
オブジェクトフレームをガイドラインのいずれかに合わせずに、列の見出しまたはフィールドのサイズを変更する。
●
横の列を移動せずに、列のサイズを変更する。
●
ある列を別の列の横に直接配置する。
スマートガイドライン機能では、列間の小さなスペースが常に維持されます。
スマートガイドライン機能をオフにするには、
編集
レポートオプション
をクリックし、[スマートガイドラインを表示する] チ
ェックボックスをオフにします。
この機能を一時的に無効にして特定の要素のサイズを変更する場合は、その要素を選択してから、Alt キーを押しながらサイ
ズを変更します。
2.3.5
レポートデータの合計
Crystal Reports では、合計、平均、件数などを計算して、売上高などの定量的なデータを操作できます。また、データをグル
ープレベルで計算して、小計を作成することもできます。
レポートに合計を追加するには、
●
34
挿入
合計
をクリックし、次の要素を選択します。
データに対して行う算術演算
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
●
計算対象のデータ
●
合計を配置するレポート内の位置
[挿入] をクリックし、レポートに合計を挿入します。カスタムの位置に合計を挿入する場合は、合計を配置するレポートキャン
バス上の位置をクリックする必要があります。
算術演算データの合計の詳細については、並べ替え、グループ化、集計 [194 ページ]を参照してください。
2.3.6
レポートへのクロスタブの追加
クロスタブを使用して、データを集計し、テーブル内に情報を表示できます。
レポートにクロスタブを追加するには、まず
挿入
クロスタブ
をクリックします。集計するデータを選択し、次にクロスタブ
を配置するレポートキャンバス上の位置をクリックします。
クロスタブの操作の詳細については、クロスタブについて [238 ページ]を参照してください。
2.3.7
レポートへのチャートの追加
Crystal Reports には、データの集計と視覚化に使用できるさまざまなタイプのチャートを含めることができます。利用できる
チャートタイプには、次のものがあります。
●
棒チャート
●
折れ線チャート
●
円チャート
●
タグクラウド
●
ボックスプロット
●
ツリーマップ
レポートにチャートを追加するには、まず
挿入
チャート
をクリックし、チャートタイプを選択します。チャートを配置する
レポートキャンバス上の位置をクリックし、次に [データエクスプローラ] パネルから結果オブジェクトをドラッグして、データをチ
ャート要素に挿入します。
利用できるチャートタイプ、およびそれらの操作方法の詳細については、チャート [219 ページ]を参照してください。
2.3.8
レポートへのサブレポートの追加
サブレポート機能を使用して、あるレポートを別のレポートに要素として挿入できます。サブレポートは、単一のレポート内で同
じデータの異なるビューを示す場合や、関連していない複数のレポートを単一のレポートに組み合わせる場合に便利です。
レポートにサブレポートを追加するには、まず
挿入
サブレポート
をクリックし、次にサブレポートを配置するレポートキ
ャンバス上の位置をクリックします。既存のレポートを選択してサブレポートとして使用することも、最初からサブレポートを作
成することもできます。サブレポート内のデータをメインレポート内のデータとリンクする場合は、サブレポートフィルタまたはデ
ータ受け渡しのリンクを作成する必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
35
サブレポートの操作の詳細については、サブレポート [342 ページ]を参照してください。
2.3.9
レポート要素の条件付き書式設定
特定の条件を満たした場合のみに書式設定のプロパティを適用するように、レポート要素を条件付きで書式設定できます。た
とえば、$50,000 未満の値を赤のフォントで表示し、$50,000 以上の値を青のフォントで表示するように、売上データを書式
設定できます。
条件付き書式設定を適用する方法の 1 つは、Crystal 構文で式を記述することです。そのためには、書式設定する要素を選
択し、
書式
<<要素>> の書式設定
をクリックします。条件付き書式設定を適用するプロパティの横にある [条件式] ア
イコンをクリックし、開かれた [式ワークショップ] ダイアログボックスで、式を作成します。
また、式を作成せずに条件付き書式設定を適用することもできます。そのためには、要素を選択し、次に
書式設定
書式
条件付き
をクリックします。演算子と値を選択して条件を作成し、次に条件を満たす場合に適用する書式設定を選択しま
す。
条件付き書式設定の適用の詳細については、条件付き書式設定 [170 ページ]および条件付き書式設定関数(Crystal 構
文) [326 ページ]を参照してください。
2.3.10 レポートへの式の追加
式を使用して、次のようなさまざまな方法でデータを操作できます。
●
レポート内でオブジェクトを計算する。
たとえば、15% の割引価格を計算します。
●
データオブジェクトの一部分を抽出する。
たとえば、日付オブジェクトから月を抽出します。
●
レポート上でテキストを書式設定する。
たとえば、データオブジェクト内のすべての値を大文字に変更します。
●
カスタム関数を使用する。
たとえば、金額の値の通貨を別の通貨に変換します。
式を作成するには、
データ
式
をクリックして、[式ワークショップ] を使用します。次に、[データエクスプローラ] サイドパ
ネルからレポートキャンバスへ式をドラッグして、レポートに式を追加できます。
式の操作の詳細については、式 [278 ページ]を参照してください。
2.3.11
レポートへのパラメータの追加
パラメータは、Crystal Reports がレポートを生成する前に、レポートのユーザに情報の入力を求めるためのフィールドです。
式および要素の中でパラメータを使用して、ユーザのニーズによって変化する単一のレポートを作成できます。たとえば、売
上レポートでは、国を選択するように求めるパラメータが考えられます。ユーザが国を選択すると、レポートには、すべての国
の結果が返されるのではなく、その指定した国の結果が返されます。
36
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
パラメータを作成するには、まず [データエクスプローラ] サイドパネルを開きます。
新規作成
新しいパラメータ
をクリッ
クし、表示されるダイアログボックスで次の操作を実行します。
●
パラメータの名前を入力します。
●
適切なデータ型 (文字列、数値など) を選択します。
●
ユーザに表示するプロンプトを作成します。
ユーザのプロンプトへの応答として、値を手動で入力するのではなく、一覧から選択する場合は、値の一覧も作成する必要が
あります。パラメータの作成後、[データエクスプローラ] サイドパネルからレポートキャンバスへパラメータをドラッグして、レポ
ートにパラメータを追加できます。
パラメータおよびプロンプトの操作の詳細については、パラメータとプロンプト [262 ページ]を参照してください。
2.3.12 レポートの配布
Crystal Reports を使用すると、次のさまざまな方法で顧客やその他の閲覧者にレポートを配布できます。
●
SAP BusinessObjects Business Intelligence プラットフォームにレポートを公開する。
●
Excel スプレッドシート (.xls)、リッチテキスト形式ファイル (.rtf)、Adobe Acrobat ファイル (.pdf) などの異なるファ
●
レポートの物理的なコピーを印刷する。
イル形式にレポートをエクスポートする。
レポートの配布の詳細については、レポートの保存、エクスポート、印刷および表示 [249 ページ]を参照してください。
SAP Crystal Reports for Enterprise ユーザガイド
クイック スタート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
37
3
サーバへのログオン
サーバのデータソースからレポートを作成するには、まず SAP BusinessObjects Business Intelligence プラットフォームサ
ーバに接続する必要があります。
接続に使用するサーバ URL が正しいかどうか、システム管理者に問い合わせてください。
注記
選択したサーバに接続できない場合は、Web サービス管理者に問い合わせて、Web サービスサーバへの接続が正しく設
定されていることを確認してください。
3.1
BI プラットフォーム Web サービスに対する SSL の設定
Crystal Reports for Enterprise を自己署名証明書とともに使用するには、証明書を信頼ストアにインストールする必要があ
ります。 証明書をシステムキーストアまたは JRE キーストアに追加すると、BusinessObjects Business Intelligence プラット
フォームで接続を作成できます。
BI プラットフォームの SSL の設定の詳細については、Business Intelligence プラットフォーム管理者ガイドのサーバの SSL
の設定を参照してください。
3.1.1
システムキーストア/信頼ストアへのインストール
システムキーストアまたは信頼ストアに証明書をインストールする前に、以下を実行します。
●
Crystal Reports for Enterprise が実行中ではないことの確認
●
ブラウザからの証明書情報の取得
●
証明書のインストール時における、信頼されたルート認証機関ストアへの証明書の格納
1.
Crystal Reports for Enterprise を起動します。
2.
3.
編集
基本設定
ネットワーク設定 に移動します。
SSL 設定セクションで、システムのキーストア/信頼ストアを使用を選択し、OK をクリックします。
ネットワーク設定を確認した後、BI プラットフォームにログオンし、BI プラットフォームの Web サービスサーバ名として証明書
との接続を作成します。
3.1.2
JRE キーストア/信頼ストアへのインストール
JRE キーストアまたは信頼ストアに証明書をインストールする前に、以下を実行します。
●
38
Crystal Reports for Enterprise が実行中ではないことの確認
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サーバへのログオン
●
ブラウザからの証明書情報の取得
●
証明書のインストール時における、信頼されたルート認証機関ストアへの証明書の格納
1.
コマンドウィンドウで、<installdir>\SAP BusinessObjects\Crystal Reports for Enterprise XI
4.0\jre\bin に移動します。
2.
以下を入力します。
keytool.exe -importcert -alias <server name> -file <certificate file> keystore ../lib/security/cacerts
○
エイリアス: サーバ名
○
ファイル: 証明書ファイル
たとえば、以下を使用できます。
keytool.exe -importcert -alias tomcat -file server.cer -keystore ../lib/security/
cacerts
3.
Crystal Reports for Enterprise を起動します。
4.
5.
編集
基本設定
ネットワーク設定 に移動します。
SSL 設定セクションで、JRE のキーストア/信頼ストアを使用を選択し、OK をクリックします。
3.2 SAP BusinessObjects Business Intelligence プラットフォーム
に初めてログオンする
SAP BusinessObjects Business Intelligence プラットフォーム管理者から、正しい Web サービスサーバ名を取得します。
まだ BI プラットフォームに接続したことがない場合、ログオンするにはサーバ接続を追加する必要があります。
1.
ファイル
サーバにログオン
をクリックします。
[サーバに接続する] ダイアログボックスが表示されます。
2.
[新しいサーバ] をクリックします。
ヒント
接続を最低でも 1 つ作成すると、このボタンが [サーバの管理] として表示されます。
3.
[サーバ接続] ダイアログボックスの左側のリストで、[SAP BusinessObjects BI プラットフォーム] をクリックします。
4.
[追加] ボタンをクリックし、サーバ接続を追加します。
5.
[接続表示名] に、分かりやすい接続の名前を入力します。
たとえば「“テストサーバ”」や「“人事部サーバ”」などと入力します。
6.
[BI プラットフォームの Web サービスサーバ名] に、接続先にする BI プラットフォームシステムのサーバ名を入力しま
す。
次の点に注意してください。
○
ここでは完全な URL 名を入力する必要はなく、サーバ名だけを入力します。
○
サーバで暗号化された接続が要求される場合、[このサーバでは、暗号化された接続 (SSL) が必要とされます。] チ
ェックボックスをオンにします。
SAP Crystal Reports for Enterprise ユーザガイド
サーバへのログオン
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
39
7.
[BI プラットフォームの Web サービスサーバポート番号] に、BI プラットフォームサーバ名と関連付けられた Web サー
バポート番号を入力します。
8.
[BI プラットフォーム Web サービスサーバコンテキスト] に、サーバコンテキスト情報を入力します。
サーバコンテキスト情報とは、BI プラットフォームの Web サービスのサーバパスのことです。デフォルト値は /
dswsbobje/services です。
9.
[ユーザ名] を入力します。
10. 正しい [認証の種類] を選択します。
オプション
説明
Enterprise
BI プラットフォームが認識するユーザ名およびパスワードが必要です。
LDAP
LDAP ディレクトリ認証サーバが認識するユーザ名およびパスワードが必要です。
Windows AD (Active
Directory)
Windows AD が認識するユーザ名およびパスワードが必要です。
SAP
SAP が認識するユーザ名およびパスワードが必要です。
○
デフォルトシステムが SAP 認証で正常に設定されている場合、ユーザ名が認識されます。
○
デフォルトシステムではない場合、ログインに完全な SAP ドメインおよびユーザ名が必要です。
11. [OK] をクリックします。
12. [サーバに接続する] ダイアログボックスで、サーバを選択して [OK] をクリックします。プロンプトが表示されたら、パスワ
ードを入力して [OK] をクリックします。
[認証の種類] リストで [Windows AD] を選択した場合、シングルサインオンを有効化するには、[シングルサインオンを
有効にする] チェックボックスをオンにできます。
注記
シングルサインオンに関するサーバ設定を行う必要があります。
これで、SAP BusinessObjects Business Intelligence プラットフォームサーバにログオンできます。新しいレポートを作成し
たり、既存のレポートを編集することができます。
3.3 SAP BusinessObjects Business Intelligence プラットフォーム
にログオンする
SAP BusinessObjects Business Intelligence プラットフォームへのサーバ接続をすでに設定している場合は、次の手順を
実行します。
1.
ファイル
サーバにログオン
をクリックします。
[サーバに接続する] ダイアログボックスが表示されます。
2.
[サーバを選択してください] リストから、接続先サーバのサーバ名をクリックして、[OK] をクリックします。
3.
[ユーザ名] と [パスワード] を入力し、[OK] をクリックします。
これで、SAP BusinessObjects Business Intelligence プラットフォームサーバにログオンできます。新しいレポートを作成し
たり、既存のレポートを編集することができます。
40
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サーバへのログオン
関連情報
サーバ接続情報をインポートする [91 ページ]
サーバ接続情報をエクスポートする [92 ページ]
3.4
CORBA に対する SSL の設定
Crystal Reports for Enterprise を CORBA SSL とともに使用するには、情報を config.ini ファイルに追加します。
CCM または Unix で SSL プロトコルを設定している場合、config.ini ファイルを変更する必要があります。 SSL プロトコ
ルの設定については、Business Intelligence プラットフォーム管理者ガイドの以下のセクションを参照してください。
●
CCM で SSL プロトコルを設定する
●
Unix で SSL プロトコルを設定する
1.
config.ini ファイルを見つけます。
通常、ファイルは以下の場所にインストールされます。 <installdir>\SAP BusinessObjects\Crystal
Reports for Enterprise XI 4.0\configuration
2.
次の情報を追加します。
businessobjects.orb.oci.protocol=ssl
certDir=C:/SSLCert
trustedCert=cacert.der
sslCert=clientcert.der
sslKey=client.key
passphrase=passphrase.txt
SAP Crystal Reports for Enterprise ユーザガイド
サーバへのログオン
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
41
4
レポートの基礎
この節では、SAP Crystal Reports (Enterprise 向け) におけるレポート作成の基本を示します。初めに、レポートデザイン環
境について、次に、結果フォルダを選択し、要素をレポートに配置する方法、およびレポートデータの並べ替え方法、グループ
化方法、および集計方法について学習します。
4.1
レポートデザイン環境について
この節では、レポートを作成するときに主に使用する Crystal Reports の重要な領域について説明します。
4.1.1
レポートデザインキャンバス
レポートデザインキャンバスは、レポートの構造をデザインする領域です。データオブジェクト、チャート、テキスト要素などのさ
まざまな要素をキャンバスに配置できます。
[基本設定] ダイアログボックスの [デザインキャンバス] タブで [ルーラーを表示] オプションを選択している場合は、レポート
キャンバスの上にルーラーが表示されます。ルーラーを使用すると、レポート要素を配置またはサイズ変更するときに、視覚
的に参照できます。[基本設定] ダイアログボックスの [デザインキャンバス] タブで、[単位] オプションを変更すると、ルーラー
に表示される単位を変更できます。
情報をレイアウトし、プレビューするための 2 つのビューが使用できます。1 つは構造のみを表示するビュー ([構造] モード)
で、もう 1 つのビューはデータを含んだページ ([ページ] モード) です。
4.1.1.1
構造モード
レポートを作成する最初の段階では、主に [構造] モードを使用します。ここでは、書式の初期設定をし、各セクションの適切
な場所にオブジェクトを挿入します。
[構造] モードでは、データそのものではなく代替データで作業を行うので、レポートを効率よく作成できます。レポートにオブジ
ェクトを挿入すると、そのオブジェクトは識別されますが、データそのものは取得されません。オブジェクトはフレームで表され
ます。データ収集に必要なコンピュータやネットワークのリソースを使用しないで、オブジェクトや他の要素の追加や削除、移
動、複雑な式の設定などを行うことができます。
[構造] モードで作成されたレポートには、構造および最終レポートを作成するための手順のみが含まれます。データを含んだ
レポートの外観を確認するには、[ページ] モードでレポートを表示します。
4.1.1.1.1
構造モード領域
Crystal Reports で新しいレポートを作成すると、[構造] モードで次の 5 つの重要なレポート領域が自動的に作成されます。
42
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
●
レポートヘッダ
この領域は、一般的にレポートタイトルと、レポートの冒頭に表示するその他の情報に使用します。また、レポート全体の
データを含むチャートやクロスタブのためにも使用されます。
●
ページヘッダ
通常、この領域は、章やドキュメントの名前など、各ページの先頭に表示する情報に使用します。また、レポートのオブジ
ェクトの上部にオブジェクトタイトルを表示する場合にも、この領域を使用できます。
●
ボディ
この領域はレポートの本文に使用し、レコードごとに 1 度出力されます。一般に、レポートデータの大部分はこのセクショ
ンに表示されます。
●
レポートフッタ
この領域は、総計など、レポートの最後に 1 度だけ表示する情報のために使用されます。また、レポート全体のデータを
●
ページフッタ
この領域は、通常ページ番号および各ページの下部に表示するその他の情報を含みます。
含むチャートやクロスタブのためにも使用されます。
グループをレポートに追加すると、次の 2 つの追加領域が作成されます。
●
グループヘッダ
通常、この領域は、グループ名オブジェクトを保持します。また、各グループのデータを含むチャートやクロスタブを表示
するためにも使用できます。このセクションは、各グループの先頭に一度出力されます。
●
グループフッタ
通常、この領域には集計値が格納され、そのデータをチャートまたはクロスタブで表示できます。このセクションはグルー
プの最後に 1 度印刷されます。
グループを追加すると、[グループヘッダ] 領域が [ボディ] 領域のすぐ上に表示され、[グループフッタ] 領域が [ボディ] 領域
のすぐ下に表示されます。
追加グループを設定すると、[ボディ] 領域と既存の [グループヘッダ] 領域および [グループフッタ] 領域の間に新しいグルー
プ領域が作成されます。
4.1.1.1.2
領域とセクションの操作
各領域には、デフォルトで 1 つのセクションがあります。追加のセクションを領域に挿入して整理し、レポートのレイアウトを変
更することができます。詳細については、複数セクションレポート [179 ページ]を参照してください。
レポート領域を選択するには、レポートキャンバスの左側にある、領域の名前を含んだ塗りつぶし部分をクリックします。セク
ションを選択するには、そのセクションの左側にある塗りつぶし部分の中に表示されるタブをクリックします。
塗りつぶし部分またはセクションタブを右クリックすると、ショートカットメニューに領域固有のオプション、またはセクション固有
のオプションが表示されます。
4.1.1.2
ページモード
[ページ] モードでは、レポート構造とそのデータが表示されます。印刷時や公開時のレポートの外観をこのモードで確認でき
ます。
[ページ] モードでは、実際のデータを使用してレポートの書式設定を編集できます。レポートを変更した結果を直接確認でき
るため、希望する外観になるまで書式設定の微調整ができます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
43
4.1.2
サイドパネル
サイドパネルを使用して、接続の追加、オブジェクトの管理、フォルダの挿入などの操作を行います。
サイドパネル領域は、レポートキャンバスの左側にあります。サイドパネル間を移動するには、サイドパネルのサイドバーに縦
に並んでいるアイコンをクリックします。
4.1.2.1
データエクスプローラ
[データエクスプローラ] サイドパネルは、レポートのオブジェクトを挿入、変更、または削除するために使用します。新し
いレポートを作成するか既存のレポートを開くと、レポートキャンバスの横に [データエクスプローラ] サイドパネルが開きま
す。[クエリパネル] に追加したオブジェクトは、[データエクスプローラ] に格納され、そのオブジェクトはここからレポートに追
加することができます。
[データエクスプローラ] サイドパネルは、5 つの領域に分かれています。領域を拡大するには、領域名をクリックします。
結果オブジェクト
この領域には、レポートで使用するように選択したユニバース要素が表示されます。要素をレポートに追加するには、要素を
レポートキャンバスにドラッグします。
レポートに新しいユニバース要素を追加するには、[クエリの編集] をクリックします。
式
この領域には、レポート用に作成した式が表示されます。式をレポートに追加するには、式をレポートキャンバスにドラッグしま
す。新しい式を追加するには、サイドパネルを右クリックして [式の新規作成] をクリックします。
パラメータ
この領域には、レポート用に作成したパラメータが表示されます。新しいパラメータまたは新しいカスケードパラメータグループ
を追加するには、サイドパネルを右クリックして [新規作成] をクリックします。
積算合計
この領域には、レポート用に作成した積算合計が表示されます。新しい積算合計を追加するには、サイドパネルを右クリックし
て [新規積算合計] をクリックします。
44
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
事前定義済みオブジェクト
この領域には、レポートに追加できる事前定義済みオブジェクトが表示されます。オブジェクトをレポートに追加するには、オブ
ジェクトをレポートキャンバスにドラッグします。
4.1.2.2
アウトライン
[アウトライン] パネルを使用すると、レポートの内容をツリービューで表示できます。ルートノードはレポート本体を表
し、第 1 レベルのノードはレポートのセクションを表します。各セクション内では、レポートのオブジェクトと要素が一覧表示され
ます。
レポートオブジェクトと要素を変更するには、[アウトライン] パネルでそれらを右クリックして、[<<オブジェクト>> の書式設
定] をクリックします。[書式] ダイアログボックスに、オブジェクトに対して実行できる操作が表示されます。
4.1.2.3
グループツリー
[グループツリー] パネルを使用すると、レポート内のグループとサブグループのツリービューを表示できます。[グルー
プツリー] で選択した項目はすべて、レポートキャンバスでも選択されます。
注記
このパネルは、レポートを [ページ] モードで表示し、レポートに最低 1 つのグループが含まれている場合にのみ使用でき
ます。
4.1.2.4
プロンプト
[プロンプト] パネルを使用して、レポートで使用するパラメータ値を表示して変更します。
注記
このパネルは、レポートを [ページ] モードで表示し、レポートに [プロンプトを表示しない] 設定を使用しないパラメータかカ
スケードパラメータグループが最低 1 つ含まれている場合にのみ使用できます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
45
4.1.2.5
発生したアラート
[発生したアラート] パネルを使用して、レポートデータによって生成されたアラートを表示し、選択したアラートを生成し
たデータのレポートをフィルタします。
注記
このパネルは、レポートを [ページ] モードで表示し、レポートに最低 1 つのアラートが含まれている場合にのみ使用できま
す。
4.1.2.6
検索
[検索] サイドパネルを使用すると、レポートを検索して特定の値を見つけることができます。テキストボックスに単語ま
たは句を入力して、Enter を押します。検索結果がサイドパネルに表示されます。
4.1.3
[書式] ダイアログボックス
[書式設定] ダイアログボックスには、選択した要素の書式設定オプションが表示されます[書式設定] ダイアログボックスは、
要素を右クリックして [<<オブジェクト>> の書式設定] をクリックすると表示されます。
レポートの他の領域の書式設定を変更するには、[書式設定] ダイアログボックスを使用します。たとえば、レポートキャンバス
で [レポートヘッダ] セクションを右クリックして [<<セクション>> の書式設定] をクリックすると、このセクションに適用できる
変更内容が [書式設定] ダイアログボックスに表示されます。
4.1.4
[問題] パネル
[問題] パネルには、レポートで検出されたエラーが一覧表示されます。表示内容には、エラーの説明、コンテキスト、およびカ
テゴリが含まれます。
レポートキャンバスの下部にある [問題の表示]
4.1.5
アイコンをクリックすると、[問題] パネルが表示されます。
キーボードショートカット
マウスの代わりにキーボードを使用して、レポートの構造をナビゲートすることができます。
46
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
4.1.5.1
共通のキーボードショートカット
次のショートカットはプログラムの多くの領域で適用されます。
アクション
キーボードショートカット
キーボードのフォーカスをユーザインタフェースの別の部分に移動
Tab
します。
注記
ShiftTab キーで、フォーカスを逆方向に戻します。
選択したユーザインタフェースの要素 (ボタンやチェックボックスな
スペースバー
ど) を有効にします。
コンテキストメニューを開きます。
ShiftF10
ノードを展開します。
右矢印
ノードを折りたたみます。
左矢印
コピー
CtrlC
貼り付け
CtrlV
切り取り
CtrlX
4.1.5.2
リストおよびカラーパレット内の移動
次のショートカットを使用してリストとカラーパレットを操作します。
アクション
キーボードショートカット
リストまたはパレットを開きます。
Alt 下矢印
キーボードのフォーカスをリストまたはパレットの別のオプションに
方向キー
移動します。
キーボードのフォーカスをパレットの別のセクションに移動します。
Tab
注記
ShiftTab キーで、フォーカスを逆方向に戻します。
オプションを選択して、リストまたはパレットを閉じます。
Enter
オプションを選択しないで、リストまたはパレットを閉じます。
Esc
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
47
4.1.5.3
構造モードとページモードの使用
次のショートカットを使用して、[構造] モードおよび [ページ] モードを使用します。
レポートモード
キーボードショートカット
構造体
CtrlAltL
ページ
CtrlAltP
4.1.5.3.1
ページモードでの移動
オプションの中には、[ページ] モードでのみ使用可能なものがあります。次のショートカットを使用して、これらのオプションを
使用します。
オプション
キーボードショートカット
戻る
Alt 左矢印
進む
Alt 右矢印
最初のページ
ホーム
前のページ
CtrlPage Up
次のページ
CtrlPage Down
最後のページ
End
ページにジャンプ
CtrlShiftN
レポートの最新表示
F5
4.1.5.4
メイン画面内の移動
F6 キーまたは ShiftF6 キーを押すと、キーボードのフォーカスがメイン画面の次の領域の間を移動します。
●
タブツールバー
●
ファイルおよび編集ツールバー
●
サイドパネル
●
レポートデザインキャンバス
F6 キーを押して、キーボードのフォーカスを 1 つの方向に移動し、ShiftF6 キーを押してフォーカスを逆方向に移動します。
レポートデザインキャンバスの下にあるツールバーにアクセスするには、キーボードのフォーカスがツールバーのいずれかの
ボタンに移動するまで Tab キーを押します。
48
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
タブツールバー内の移動
F6 キーまたは ShiftF6 キーを押して、メイン画面の領域でキーボードのフォーカスを移動して、タブツールバーにアクセスしま
す。その後、次のショートカットを使用してツールバーを操作します。
アクション
キーボードショートカット
タブを変更します。
右矢印または左矢印
キーボードのフォーカスをタブからボタンに移動します。
Tab
キーボードのフォーカスをボタンからタブに移動します。
ShiftTab
キーボードのフォーカスをボタンの間で移動します。
右矢印または左矢印
キーボードのフォーカスをツールバーボタンから [その他] ボタンに
Tab
移動します。
ボタンを有効にします。
スペースバー
キーボードのフォーカスをボタンからパネルに移動します。
Tab
注記
特定のボタンを有効にすると、オプションのパネルが表示されま
す。
ファイルツールバーおよび編集ツールバー内の移動
ファイルツールバーにアクセスするには、F6 キーまたは ShiftF6 キーを押して、メイン画面の領域でキーボードのフォーカスを
移動します。
編集ツールバーにアクセスするには、ファイルツールバーにフォーカスを移動し、Tab キーを押します。
次のショートカットを使用して、ファイルツールバーおよび編集ツールバーを操作します。
アクション
キーボードショートカット
キーボードのフォーカスをボタンの間で移動します。
右矢印または左矢印
ボタンを有効にします。
スペースバー
サブメニューを開きます。
上矢印または下矢印
サブメニューを閉じます。
Esc
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
49
サイドパネル内の移動
次のショートカットを使用して、さまざまなサイドパネルにアクセスします。
サイドパネル
キーボードショートカット
データエクスプローラ
Ctrl1
アウトライン
Ctrl2
グループ ツリー
Ctrl3
プロンプト
Ctrl4
発生したアラート
Ctrl5
検索
Ctrl6
サイドパネルの中には、領域に分割されているものがあります。次のショートカットを使用して、領域にアクセスします。
アクション
キーボードショートカット
領域ヘッダの間を移動します。
上矢印または下矢印
領域を展開します。
右矢印
領域を折りたたみます。
左矢印
展開した領域にキーボードのフォーカスを移動します。
Tab
注記
選択した領域が折りたたまれている場合、Tab キーを押すとキ
ーボードのフォーカスが次の領域ヘッダに移動します。
注記
ShiftTab キーで、フォーカスを逆方向に戻します。
展開した領域内で、キーボードのフォーカスをリンクからオブジェク
Tab
トに移動するか、またはオブジェクトからボタンに移動します。
注記
ShiftTab キーで、フォーカスを逆方向に戻します。
下部のツールバー内の移動
キーボードのフォーカスがツールバーのいずれかのボタンに移動するまで Tab キーを押して、レポートデザインキャンバスの
下にあるツールバーにアクセスします。その後、次のショートカットを使用してツールバーを操作します。
50
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
アクション
キーボードショートカット
キーボードのフォーカスをボタンの間で移動します。
Tab
注記
ShiftTab キーで、フォーカスを逆方向に戻します。
選択したボタンを有効にします。
スペースバー
[問題の表示] ボタンを有効にすると、[問題] パネルが表示されます。このパネルを閉じるには、Tab キーを押してパネルの
右上隅にある [閉じる] アイコンにキーボードのフォーカスを移動してから、スペースバーを押します。
4.1.5.5
レポートデザインキャンバス内の移動
F6 キーまたは ShiftF6 キーを押して、メイン画面の領域でキーボードのフォーカスを移動し、レポートデザインキャンバスにア
クセスします。その後、次のショートカットを使用して、キャンバスのレポート要素にアクセスします。
レポート領域とセクションの選択
次のショートカットを使用して、レポート領域またはセクションを選択します。
アクション
条件
キーボードショートカット
セクションを選択します。
現在のレポートページでは何も選択さ
れていません。
上矢印または下矢印
別のセクションが選択されます。
上矢印または下矢印
セクション内の要素が選択されていま
す。
Alt 上矢印
セクションを含むレポート領域が選択さ
れています。
Alt 下矢印
領域内のセクションが選択されていま
す。
Alt 上矢印
レポート領域を選択します。
要素の選択
次のショートカットを使用して、要素を選択します。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
51
アクション
条件
キーボードショートカット
要素を選択します。
要素を含むセクションが選択されていま Alt 下矢印
す。
同じセクションの別の要素が選択されて 方向キー
います。
複雑なレポート要素 (クロスタブなど) が選択されている場合は、次のショートカットを使用してそのレポート要素内の要素を選
択します。
アクション
キーボードショートカット
選択した要素内の子要素を選択します。
Alt 下矢印
同じレベルにある別の要素を選択します。
方向キー
現在の選択内容の親要素を選択します。
Alt 上矢印
レポートコンテンツ内のハイパーリンクの有効化
レポートキャンバスにフォーカスがある状態で、ハイパーリンクが含まれるレポート要素を選択し、スペースバーを押します。
4.1.5.6
キーボードコマンドを使用した要素の挿入
キーボードを使用してレポートに要素を挿入できます。
4.1.5.6.1
データエクスプローラから要素を挿入する
キーボードを使用して、[データエクスプローラ] サイドパネルから要素を挿入できます。この方法を使用すると、レポートの [ボ
ディ] セクションに要素が挿入されます。別のセクションに要素を配置する場合は、要素を挿入した後でその要素を切り取って
貼り付けるか、または、[データエクスプローラ] から直接その要素をコピーして貼り付ける必要があります。後者の方法の詳
細については、データエクスプローラから要素をコピーして貼り付ける [53 ページ]を参照してください。
1.
[データエクスプローラ] で要素を選択します。
2.
ShiftF10 キーを押して、コンテキストメニューを開きます。
3.
上矢印および下矢印キーを使用して [挿入] を選択し、Enter キーを押します。
選択した要素が、[ボディ] セクションに挿入されます。
52
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
4.1.5.6.2
データエクスプローラから要素をコピーして貼り付ける
[挿入] コマンドを使用する以外に、[データエクスプローラ] からレポート要素をコピーして貼り付けることで、レポートキャンバ
スにレポート要素を挿入することもできます。この方法を使用すると、[ボディ] セクションから要素を切り取って貼り付けなくて
も、選択するレポートセクションに要素を挿入できます。
1.
[データエクスプローラ] サイドパネルで要素を選択し、CtrlC キーを押します。
2.
F6 キーを押して、キーボードのフォーカスをレポートキャンバスに移動します。
3.
要素を貼り付けるキャンバスで、セクションまたは結果オブジェクトを選択します
4.
CtrlV キーを押してから Enter キーを押し、オブジェクトを貼り付けます。
4.1.5.6.3
タブツールバーから要素を挿入する
キーボードを使用して、タブツールバーから要素を挿入できます。
1.
要素を挿入するレポートセクションを選択します。
2.
タブツールバーにフォーカスが移動するまで F6 キーを押し、[挿入] タブがまだ選択されていない場合は、左矢印キーを
押して選択します。
3.
Tab キーを押して [挿入] タブ内にキーボードのフォーカスを設定し、左矢印キーおよび右矢印キーを使用してボタンを選
択します。
4.
スペースバーを押して、ボタンを有効にします。
特定の要素のボタンを有効にすると、オプションのパネルが表示されます。Tab キーを押して、パネル内を移動して設定
を指定するか、Esc キーを押してパネルを閉じます。
5.
Enter キーを押して、選択したレポートセクションに要素を挿入します
4.1.5.7
更
キーボードショートカットを使用した要素の移動またはサイズ変
1.
要素を選択します。
2.
ピリオド (“.”) キーを押して、使用可能なハンドルを循環し、適切なハンドルを選択します。
3.
矢印キーを使用して、要素の移動またはサイズ変更を開始します。
4.
次のいずれかの操作を実行し、調整を完了します。
○
ピリオド (“.”) キーまたは Enter キーを押して調整を受け入れます。
○
Esc キーを押して、調整をキャンセルします。
4.1.5.8
チャートの操作
次のショートカットを使用して、選択したチャート要素内を移動します。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
53
アクション
条件
キーボードショートカット
[チャートの表示] タブを表示します。
[データ] タブが表示されています。
ShiftF10 キーを押し、コンテキストメニュ
ーで [チャートの表示] を選択します。
[データ] タブを表示します。
[チャートの表示] タブが表示されていま ShiftF10 キーを押し、コンテキストメニュ
ーで [チャートデータの編集] を選択し
す。
ます。
ドロップゾーンを選択します。
データオブジェクトをドロップゾーンに挿
入します。
●
[データ] タブが表示されています。 Tab キーを押し、その後、下矢印キーを
●
選択されているドロップゾーンはあ
りません。
●
[データ] タブが表示されています。 方向キー
●
別のドロップゾーンが選択されてい
ます。
●
[データエクスプローラ] でデータオ
ShiftF10 キーを押し、コンテキストメニュ
ブジェクトが選択されています。
ーで [チャート <<値>> オブジェクトの
ドロップゾーンが選択されていま
す。
挿入] を選択します。
●
2 回押します。
Alt 下矢印
ドロップゾーンでオブジェクトを選択しま
す。
ドロップゾーンが選択されています。
ドロップゾーンでオブジェクトを変更しま
す。
ドロップゾーンでオブジェクトが選択され ShiftF10 キーを押し、コンテキストメニュ
ています。
ーで [チャートデータの書式設定] を選
択します。
キーボードのフォーカスをチャートから
チャート内の要素に移動します。
4.1.5.9
チャートは [ページ] モードで表示されて Alt 下矢印
います。
ステートメントエディタの操作
ステートメントエディタとは、フィルタと条件付き書式設定の条件文を作成するために使用するダイアログボックスです。次のシ
ョートカットを使用して、ステートメントエディタを操作します。
アクション
キーボードショートカット
キーボードのフォーカスをエディタまたは文の別の部分に移動しま
Tab
す。
注記
ShiftTab キーで、フォーカスを逆方向に戻します。
別の文を選択します。
54
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
上矢印または下矢印
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
アクション
キーボードショートカット
選択した文または値を削除します。
削除
文の選択した部分を編集します。
F2
"“Or”" と "“And”" の間で選択する演算子を切り替えます。
F2
4.1.5.10 [選択したテーブル] ペイン内の移動
[選択したテーブル] ペインは、リレーショナルデータベースに接続するときに、[データソース接続の選択] ダイアログボックス
に表示されます。このダイアログボックスの別の部分を使用してレポートのテーブルを選択し、次に [選択したテーブル] ペイ
ンを使用してリンクを変更します。
Tab キーまたは ShiftTab キーを押して、ダイアログボックスの領域でキーボードのフォーカスを移動して、ペインにアクセスし
ます。その後、次のキーを使用して、[選択したテーブル] ペイン内を移動します。
アクション
条件
キーボードショートカット
ボタンを選択します。
ペインの別の部分がフォーカスされてい Tab
ます。
注記
ShiftTab キーで、フォーカスを逆方向
に戻します。
別のボタンが選択されています。
選択したボタンを有効にします。
テーブルを選択します。
右矢印または左矢印
スペースバー
ペイン内では何も選択されていません。 方向キー
テーブル内のフィールドが選択されてい Alt 上矢印
ます。
フィールドを選択します。
フィールドを含むテーブルが選択されて Alt 下矢印
います。
別のフィールドが選択されています。
上矢印または下矢印
リンクを選択します。
リンクの最後にあるフィールドが選択さ
れています。
Alt\
リンクプロパティを編集します。
リンクが選択されています。
F2
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
55
4.1.5.11
[グループと並べ替え] ダイアログボックスの操作
レポートキャンバスの上にある [データ] タブから、またはさまざまなレポート要素のコンテキストメニューから [グループと並べ
替え] ダイアログボックスにアクセスできます。
Tab キーを押してキーボードのフォーカスを移動する、または左矢印および右矢印キーを押してタブを変更するなどの標準の
ナビゲーションショートカット以外にも、塗りつぶされたグループ領域または並べ替え領域にフォーカスし、スペースバーを押し
てグループオブジェクトまたは並べ替えオブジェクトを選択することもできます。
4.1.5.12
クエリパネル内の移動
SAP BEx クエリに接続すると、[クエリの編集] ダイアログボックスが表示されます。
一般的な移動
[クエリパネル] ダイアログボックス内を移動するには、以下のキーを使用します。
アクション
キーボードショートカット
クエリパネル内の次/前のコンポーネントに移動します。
Tab
注記
ShiftTab キーで、フォーカスを逆方向に戻します。
オブジェクトを選択します。
スペースバー
選択に追加します。
Ctrl + スペースバー
現在の選択を削除します。
Del
選択したアクションを実行します。
Enter
[移動] ツールバー
アクション
キーボードショートカット
ツールバー内の次/前の項目に移動します。
次の項目: 右矢印
前の項目: 左矢印
56
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
アクション
キーボードショートカット
ツールバーで選択したアクションを実行します。ツールバー項目が
スペースバー
メニューの場合は、そのメニューを開きます。
移動メニュー
アクション
キーボードショートカット
メニュー内のフォーカスを次/前の項目に移動します。
次の項目: 下矢印
前の項目: 上矢印
メニュー項目を選択します。
Enter
メニューを終了します。
Esc
オブジェクトを [結果オブジェクト] または [クエリフィルタ] 枠に追加します。
アクション
キーボードショートカット
選択したオブジェクトを [結果オブジェクト] 枠に追加します。
スペースバー
選択したオブジェクトを [クエリフィルタ] 枠に追加します。
Shift + スペースバー
選択したオブジェクトを [結果オブジェクト] または [クエリフィルタ]
Page Up
枠からドラッグします。
選択したオブジェクトを [結果オブジェクト] または [クエリフィルタ]
Page Down
枠にドロップします。
4.2
新しいレポートの作成
この節では、次のオプションを含むレポートの作成プロセスについて説明します。
●
データソースまたは Web テンプレートからのレポートの作成。
●
データソースの選択。
●
要素の追加。
●
データの書式設定。
●
レコードの選択。
●
データのグループ化、並べ替え、および合計。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
57
4.2.1
データソースから新しいレポートを作成する
データソースから新しいレポートを作成するには、テキスト要素または事前定義済みオブジェクトを空のレポートに配置する
か、またはデータソースに接続してレポートにデータを表示する結果オブジェクトを選択します。
1.
ファイル
新規作成
データソースから
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
接続先のデータソースを選択します。
3.
次のいずれかのオプションを使用して、レポートのデータを選択します。
オプション
説明
SAP BusinessObjects Business Intelligence プラットフォー
1.
ユニバースまたはクエリを選択して、[次へ] をクリックします。
ム
2.
結果オブジェクトを選択して、[完了] をクリックします。
ベンダーによる接続
1.
データソースを選択し、[完了] をクリックします。
新しいレポートが作成されました。
関連情報
サーバへのログオン [38 ページ]
データソースの選択 [59 ページ]
フォルダおよび結果オブジェクトの選択 [61 ページ]
レポートのテーブルの選択 [62 ページ]
データの配置 [63 ページ]
4.2.2
1.
Web テンプレートから新しいレポートを作成する
ファイル
新規作成
Web テンプレートから
をクリックします。
[テンプレートを開く] ダイアログボックスが表示されます。
2.
テンプレートを選択して、[OK] をクリックします。
テンプレートが Crystal Reports にロードされ、レポートレイアウトの [プレビュー] または、データソースの保存場所の指
定を求められます。データソースの保存場所を指定するには、レポートに使用するデータソースを選択する必要がありま
す。
3.
[データソースの保存場所の設定] をクリックします。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
4.
[ターゲットデータソース] 領域で [接続の追加] をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
5.
58
次のいずれかのオプションを使用して、レポートのデータを選択します。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
オプション
説明
前の接続
1.
既存のデータソース接続を選択します。
2.
[完了] をクリックします。
1.
ユニバースまたはクエリを選択します。
2.
[完了] をクリックします。
1.
データソースの詳細を入力します。
2.
[完了] をクリックします。
SAP BusinessObjects Business Intelligence プラットフォーム
ベンダーによる接続
6.
[現在のデータソース] の結果オブジェクトを [ターゲットデータソース] の結果オブジェクトにマップします。
オブジェクトをマップする前に、[ターゲットデータソース] 領域のフォルダまたはテーブルを拡張する必要があることがあり
ます。
7.
[完了] をクリックします。
レポートが、データソースのデータで更新されます。
関連情報
Web ベースのレポートテンプレート [81 ページ]
サーバへのログオン [38 ページ]
データソースの選択 [59 ページ]
フォルダおよび結果オブジェクトの選択 [61 ページ]
レポートのテーブルの選択 [62 ページ]
データの配置 [63 ページ]
4.2.3
データソースの選択
Crystal Reports は、次を含む複数のデータソースへの接続をサポートしています。
●
ユニバース
●
SAP BEx クエリ
●
分析ビュー
●
ODBC
●
JDBC
●
Excel スプレッドシート
4.2.3.1
BI プラットフォームサーバからデータソースを選択する
データソースを選択する前に、SAP BusinessObjects Business Intelligence プラットフォームサーバに接続されている必要
があります。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
59
1.
データソースは、新規のレポートを作成するときに選択することも、後から追加することもできます。
○
新しいレポートにデータソースを追加するには、
ファイル
○
既存のレポートにデータソースを追加するには、
データ
新規
データソースから
データソースの編集
をクリックします。
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
[リポジトリの参照] をクリックします。
SAP BusinessObjects Business Intelligence プラットフォームサーバにログオンしていない場合は、ログオンするよう
に求められます。
3.
[データソースの種類] リストからオプションを選択します。
有効なデータソースの種類は以下のとおりです。
4.
○
ユニバース
○
SAP BEx クエリ
○
分析ビュー
○
リレーショナル接続
接続するデータソースを選択し、[次へ] をクリックします。
ユニバースまたは SAP BEx クエリに接続すると、[クエリパネル] が表示されます。これで、クエリに含める要素を選択できま
す。
分析ビューに接続する場合、分析ビューには作成済みクエリが含まれているため、[クエリパネル] は表示されません。レポー
トキャンバスが表示されます。
リレーショナル接続に接続すると、レポートのテーブルを選択するよう求められます。
4.2.3.2
Embeddable BI Server からデータソースを選択する
Embeddable BI Server に接続します。
1.
データソースは、新規のレポートを作成するときに選択することも、後から追加することもできます。
○
新しいレポートにデータソースを追加するには、
ファイル
○
既存のレポートにデータソースを追加するには、
データ
新規
データソースから
データソースの編集
をクリックします。
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
データソースの種類を選択して、[次へ] をクリックします。
有効なデータソースの種類は以下のとおりです。
3.
○
JDBC
○
SAP BEx クエリ
まだログオンしていない場合は、Embeddable BI Server にログオンして [次へ] をクリックします。
注記
すでにログオンしている場合、ログイン画面は表示されません。
4.
接続するデータソースを選択し、[次へ] をクリックします。
[クエリの編集] パネルが開きます。これで、クエリに含める要素を選択できます。
60
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
4.2.3.3
1.
ベンダーからデータソースを選択する
データソースは、新規のレポートを作成するときに選択することも、後から追加することもできます。
○
新しいレポートにデータソースを追加するには、
ファイル
○
既存のレポートにデータソースを追加するには、
データ
新規
データソースから
データソースの編集
をクリックします。
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
[ベンダーによる接続] を選択します。
ベンダーの一覧が表示されます。
3.
接続するデータソースベンダを選択し、[次へ] をクリックします。
[接続の設定] ダイアログボックスが表示されます。
4.
接続の詳細を入力して、[次へ] をクリックします。
[レポートのテーブルを選択] パネルが表示されます。これで、レポートに含める要素を選択できます。
4.2.4
フォルダおよび結果オブジェクトの選択
データソースを選択すると、レポートに含める 1 つ以上のフォルダ、またはそのフォルダ内の結果オブジェクトを選択すること
ができます。
4.2.4.1
1.
フォルダと結果オブジェクトを選択する
フォルダは、データソースへの新規の接続を作成するとき、またはいったん接続を設定してから選択できます。
○
空のレポートに新規の接続を作成する場合は、[データソース接続の選択] ダイアログボックスでデータソースを選択
して [次へ] をクリックします。
○
すでに接続が設定されている場合は、[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域で [データソ
ースの編集] をクリックします。
[クエリパネル] ダイアログボックスが開きます。
2.
[ユニバース] 枠でフォルダまたはオブジェクトを選択してダブルクリックするか、[クエリ #1 の結果オブジェクト] 枠までド
ラッグします。
3.
クエリに含めるオブジェクトごとに前の手順を繰り返します。
注記
同じレポートに階層オブジェクトと関連レベルオブジェクトの両方を含めないことをお勧めします。階層オブジェクトは、
階層フォームのすべての階層ノードを含みます。一方、レベルオブジェクトは、フラット化されたフォームのレベルイン
デックスに一致する階層ノードだけを含みます。レポートにこれら 2 種類のオブジェクトがあると、階層データとフラット
化されたデータの両方がクエリに含まれることになります。
4.
[完了] をクリックします。
フォルダとオブジェクトが、[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域に表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
61
注記
SAP BW 階層は、[結果オブジェクト] 領域に、ネスト形式ではなくフラット形式で表示されます。
関連情報
オブジェクトのクイックリファレンス [98 ページ]
4.2.5
レポートのテーブルの選択
データソースを選択すると、レポートに含める 1 つ以上のテーブルを選択できます。テーブル同士のリンクは自動的に作成さ
れる場合がありますが、自分で追加する必要がある場合もあります。
関連情報
テーブルのリンク [136 ページ]
4.2.5.1
1.
レポートのテーブルを選択する
テーブルは、データソースへの新規の接続を作成するとき、またはいったん接続を設定してから選択できます。
○
空のレポートに新規の接続を作成する場合は、[データソース接続の選択] ダイアログボックスでデータソースを選択
して [次へ] をクリックします。
○
すでに接続が設定されている場合は、[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域で [データソ
ースの編集] をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
テーブルを選択してダブルクリックするか、[選択したテーブル] ペインにドラッグします。
3.
含めるテーブルごとに上記の手順を繰り返します。
注記
複数のテーブルを含める場合は、テーブルを互いにリンクする必要があります。テーブルの組み合わせによっては、
両方のテーブルに共通するフィールドで、自動リンクが作成されます。その他の組み合わせについては、ユーザがリン
クを作成する必要があります。
a) 手作業でリンクを作成するには、テーブルのフィールドを別のテーブルのフィールドにドラッグします。
フィールドのデータ型が異なる場合は、リンクを作成できません。
62
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
4.
[完了] をクリックします。
テーブルが、[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域に表示されます。
4.2.6
データの配置
レポートにデータを配置する作業はとても重要です。明確で効果的なレポートを作成するには、どのようなタイプのデータをど
こに配置すればよいかを理解しておく必要があります。
注記
レポート (.rpt) ファイルには重要なビジネスデータが含まれている場合があります。以下の方法のいずれかを使用して、フ
ァイルへのアクセスを保護することをお勧めします。
●
BI プラットフォームサーバでファイルを管理する。
●
ファイルセキュリティを適用する。
●
オペレーティングシステムレベルの暗号化を適用する。
4.2.6.1
結果オブジェクト
結果オブジェクトは、データソースから取得したデータを表示するオブジェクトです。レポートに表示されるほとんどのデータ
は、結果オブジェクトから取得されます。通常、結果オブジェクトはレポートの [ボディ] 領域に配置しますが、状況に応じて別
のセクションに配置することもあります。
注記
リレーショナルユニバース、OLAP ユニバース、または SAP BEx クエリを使用している場合は、依頼されたメジャーを使用
できます。依頼されたメジャーを [ボディ] 領域に配置すると、そのメジャーは結果オブジェクトとして表示されます。ただし、
依頼されたメジャーを [レポートヘッダ]、[レポートフッタ]、[グループヘッダ]、[グループフッタ] 、クロスタブ、またはチャート
に配置すると、合計として表示されます。
4.2.6.1.1
結果オブジェクトを挿入する
1.
[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域で、オブジェクトを展開するフォルダをクリックします。
2.
オブジェクトをレポートキャンバスの適切な位置にドラッグします。
[データエクスプローラ] でオブジェクトを右クリックして [挿入] をクリックし、オブジェクトを挿入することもできます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
63
4.2.6.2
式
計算値のデータを表示するには、式を作成してレポートに配置する必要があります。たとえば、データソースに注文日と発送
日だけが格納されていて、注文から発送までの日数を表示する必要がある場合は、注文から発送までの日数を計算する式を
作成する必要があります。
関連情報
式 [278 ページ]
4.2.6.3
パラメータ
パラメータを使用すると、特定のユーザ用にレポートデータをフィルタすることができます。たとえば、営業担当者が使用する
レポートでは、地域を選択するように求めるパラメータを作成できます。ユーザが地域を選択すると、レポートには、すべての
地域の結果が返されるのではなく、その指定した地域の結果が返されます。
関連情報
パラメータとプロンプト [262 ページ]
4.2.6.4
積算合計要素
レコードごとに評価を行う合計を表示したり、オブジェクト内のすべての値 (または特定の値セットのすべての値) の実行合計
を求めるには、積算合計要素を作成し、レポートに配置する必要があります。オブジェクトの最初の 3 つの値が、2、4、6 の場
合、積算合計は、2、6 (2 + 4 の合計)、12 (2 + 4 + 6 の合計) の順で出力されます。
関連情報
積算合計 [212 ページ]
64
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
4.2.6.5
事前定義済みオブジェクト
事前定義済みオブジェクトには、ページ番号、レコード番号、グループ番号、出力日、総ページ数などのオブジェクトがありま
す。レポートに事前定義済みオブジェクトを追加するには、[データエクスプローラ] サイドパネルの [事前定義済みオブジェク
ト] 領域にあるコマンドを使用します。
4.2.6.5.1
事前定義済みオブジェクトを挿入する
1.
[データエクスプローラ] サイドパネルで、[事前定義済みオブジェクト] を展開します。
2.
事前定義済みオブジェクトをレポートキャンバスの適切な位置にドラッグします。
各事前定義済みオブジェクトは、要素としてレポートに挿入されます。要素フレームが表示されます。フレームはレポート上で
移動できます。
ヒント
事前定義済みオブジェクトを右クリックしてから [挿入] をクリックすることもできます。
4.2.6.6
テキスト要素
テキスト要素の用途のほとんどはテキストを保持することですが、結果オブジェクトを保持してカスタムフォームレターなどを作
成することもできます。テキスト要素は、結果オブジェクトを組み合わせたり、タイトルを挿入したり、レポート上の合計データや
その他のデータにラベルを付けるために使用できます。
4.2.6.6.1
1.
挿入
テキスト要素を挿入する
テキスト
をクリックし、次にレポートキャンバスをクリックし、テキストボックスを配置します。
空のテキストボックスが表示されます。
2.
テキストボックスにテキストを入力します。
テキスト要素がレポートに追加されます。
ヒント
サイズを変更または移動するには、テキスト要素の境界線を一度クリックして選択します。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
65
4.2.6.6.2
テキスト要素に結果オブジェクトを挿入する
1.
テキスト要素をレポートに挿入します。
2.
最初の結果オブジェクトの前に表示するテキストがある場合は入力します。
3.
[データエクスプローラ] サイドパネルで、挿入する結果オブジェクトをクリックし、テキスト要素にドラッグします。
テキスト要素の上にカーソルを移動すると、移動可能な挿入位置が表示されます。
4.
結果オブジェクトを表示する挿入位置にオブジェクトをドラッグし、オブジェクトを配置します。
ヒント
結果オブジェクトを選択してテキスト要素の中に移動する方法でも、結果オブジェクトを移動できます。
4.2.6.7
ピクチャ要素
レポートをデザインする際、ピクチャを挿入することもあります。たとえば、レポートヘッダに会社のロゴを挿入してみます。
4.2.6.7.1
1.
挿入
ピクチャを挿入する
ピクチャ
をクリックします。
[開く] ダイアログボックスが表示されます。
2.
ファイルのリストから目的のピクチャファイルを選択し、[開く] をクリックします。
内側にピクチャを含んだ要素フレームが表示され、配置できるようになります。
3.
レポート上の表示位置にピクチャ要素を移動し、クリックして配置します。
4.2.6.8
ハイパーリンク要素
レポートキャンバス上のどのレポート要素にもハイパーリンクを追加できます。
ハイパーリンクはレポートと共に保存され、他のユーザが追加情報を表示する方法として利用できます。
注記
Crystal Reports では、Web レポートが特定サーバの場所に依存しないように、相対 URL でハイパーリンクを作成するこ
とができます。
66
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
4.2.6.8.1
1.
ハイパーリンク要素を作成する
レポートキャンバスでレポート要素を右クリックし、[<<要素>> の書式設定] をクリックします。
[書式設定] ダイアログボックスが表示されます。
2.
[詳細] オプションをクリックします。
注記
常にすべてのタイプのハイパーリンクを使用できるわけではありません。選択した要素、およびそのレポート上の場所
により、利用できるタイプが決まります。
3.
[タイプ] 一覧から、次のいずれかを選択します。
オプション
説明
ハイパーリンクなし
これはデフォルトオプションです。選択されたレポート要素に関連付けられているハイパーリンクはありませ
ん。
インターネット上の
Web サイト
レポート要素を静的な Web アドレスにリンクする場合は、このオプションを選択します。
電子メールアドレス
選択したオブジェクトから "mailto" アドレスを作成する場合は、このオプションを選択します。オブジェクト
値に基づいてアドレスを作成するには、[条件式] ボタンを使用します。
ファイル
特定のコンピュータまたはネットワークに接続したコンピュータ上のファイルへのハイパーリンクを作成する
場合は、このオプションを選択します。
別のレポート要素
レポート上の別の要素へのハイパーリンクを作成する場合は、このオプションを選択します。
[タイプ] メニューの下にテキストボックスが表示されます。
4.
選択したタイプに応じて、Web サイトのアドレス、電子メールアドレス、またはハイパーリンクのファイル名を入力します。
5.
[書式] ダイアログボックスを閉じます。
ハイパーリンクがレポートに挿入されます。
4.2.6.9
アラート
アラートは、Crystal Reports で作成されるカスタムメッセージです。レポートデータが特定の条件になると表示されます。アラ
ートはユーザが取るべき対処方法やレポートデータに関する情報を示します。
アラートは指定した評価条件式から作成します。条件が真であれば、アラートが実行され、メッセージが表示されます。メッセ
ージはテキスト文字列またはテキストオブジェクトとレポートオブジェクトを組み合わせた式にすることができます。一度アラー
トが実行されると、レポートのデータを最新表示しない限り、再評価されることはありません。
アラートは各レポートに固有であるため、使用する場合と使用しない場合を決定する必要があります。販売が限度を上回る場
合または下回る場合など、重要な情報を指摘する場合に有効です。データに固有なメッセージを作成できます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
67
4.2.6.9.1
1.
新しいアラートを追加する
[標準] ツールバーの
データ
アラート
をクリックします。
[アラート] ダイアログボックスが開きます。
2.
[新規作成] をクリックします。
3.
作成するアラートの名前を [名前] テキストボックスに入力します。
4.
[条件] の横にある [条件式] アイコンをクリックします。
式ワークショップが表示されます。
5.
アラート条件式を入力します。
アラート条件式の基準を合計要素に置く場合は、使用する循環要素が合計要素上で定数型になっている必要がありま
す。たとえば、国と地域でグループ化するときに、次のようなアラート条件式を作成できます。
Sum ({Customer.前年度取引高}, {Customer.地域}) > 10000
この場合、式では "国" または "地域" を参照することはできますが、"市" または "顧客名" は定数でないため、参照する
ことはできません。
注記
アラート式は、循環レコードまたは合計要素を基準にすることはできますが、積算合計または出力時刻式など、値が出
力時に決定される要素を基準にすることはできません。アラート条件式では、共有変数は使用できません。
6.
[保存して閉じる] をクリックして、[式ワークショップ] を終了します。
7.
アラートと一緒に表示するメッセージを追加できます。
アラートメッセージを追加する際には 2 つのオプションがあります。
○
アラートが実行されるたびに同じメッセージを表示する場合は、メッセージを [メッセージ] ボックスに入力します。
○
データ要素を使用してメッセージをカスタマイズする場合は、メッセージ式を作成します。
1.
[メッセージ] の横にある [条件式] アイコンをクリックします。
式ワークショップが表示されます。
2.
アラートメッセージ条件式を入力します。
たとえば、"“<<国>> の売上は優秀です”" (<<国>> は特定の国名) というメッセージを表示する場合は、
({Customer.国}) + "の売上は優秀です" という式を作成します。
3.
[保存して閉じる] をクリックして、[式ワークショップ] を終了します。
注記
アラートメッセージ条件式の結果は文字列である必要があります。
[メッセージ] ボックスに追加したメッセージを参照するには、DefaultAttribute 関数を使用します。たとえ
ば、[メッセージ] ボックスのメッセージが "“の売上は優秀です”" の場合、アラートメッセージ条件式は次のように
なります。
({Customer.国}) + DefaultAttribute
この式は [メッセージ] ボックスに入力するテキストに応じて決まります。つまり、そのテキストがデフォルト属性に
なります。
68
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
8.
[OK] をクリックします。
新しいアラートがレポートに追加されます。
4.2.7
データの書式の設定
ここで、基本的な書式を設定します。タイトルに使用しているテキスト要素のフォントサイズやスタイルを変更できます。売上高
などの数値要素がある場合、数字の前に通貨記号を付けたり、表示する小数点以下の桁数を変更したりできます。
4.2.7.1
[書式設定] ダイアログボックスを使って要素を書式設定する
[書式設定] ダイアログボックスには、レポート要素を編集するためのオプションが表示されます。[書式設定] ダイアログボック
スを使用して、レポートに含まれるほとんどすべての要素に対して詳細な書式設定変更を行います。
ヒント
さらにタブバーの [書式設定] タブを使用したり、標準ツールバーの [書式設定] をクリックして、要素を書式設定することも
できます。
1.
書式を再設定する要素を右クリックし、[<<要素>> の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[書式設定] ダイアログボックスには、要素の書式設定によく使われるオプションが簡潔に表示されます。[詳細] をクリッ
クして、追加のオプションを表示します。
3.
ダイアログボックスの別のセクションを表示するには、パネルでオプションをクリックします。
4.
必要な変更を加えます。
関連情報
レポートのレイアウトと書式設定 [151 ページ]
4.2.7.2
ページヘッダとページフッタの挿入
ページヘッダとページフッタを使用するには、[構造] モードの [ページヘッダ] セクションまたは [ページフッタ] セクションに情
報を配置します。
●
レポートの最初のページだけに表示する情報は、レポートヘッダに配置します。
●
レポートの最後のページだけに表示する情報は、レポートフッタに配置します。
●
各ページの上部に表示する情報は、ページヘッダに配置します。
●
各ページの下部に表示する情報は、ページフッタに配置します。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
69
[ボディ] セクションと同様に、これらのセクションでもテキスト、オブジェクト、および式を使用できます。
4.2.8
データのグループ化、並べ替え、および合計
基本のレポートを作成したら、次に、関連情報をグループ分けしたり、個々のデータを並べ替え、合計、小計、および総計を計
算してデータを整理します。
4.2.8.1
レコードのグループ化
データを整理するには、関連するデータをグループ化します。たとえば、顧客リストを地域別にグループ化した後に、そのリス
トを地域のグループにさらに分割することができます。この方法により、ある地域担当の営業部長は、該当地域のグループを
簡単に見つけ、その地域内の顧客だけに注目できます。
関連情報
データのグループ化 [197 ページ]
4.2.8.2
レコードの並べ替え
Crystal Reports では、レコードをレポートに表示する順番を指定できます。たとえば、地域別にグループ化した後で、各地域
内のレコードを顧客名のアルファベット順で並べ替えることができます。多くのレポートでは、なんらかの並べ替えが行われて
います。すべてのレコードをそのまま並べ替えるか、またはグループ化して並べ替えるかは、レポートによります。
注記
Crystal Reports では、レポート内の最初の列が自動的にアルファベット順に並べ替えられます。
関連情報
グループ内のレコードの並べ替え [200 ページ]
グループデータの合計 [206 ページ]
70
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
4.2.8.3
合計、小計、総計
多くのレポートで集計が使用されています。たとえば、州ごとにグループ化した北米の売上レポートに各州ごとの売上合計額
を入れてみます。まず、売上オブジェクトで小計を計算します。さらに、グループごとにデータを合計し、平均、件数、その他の
グループ (集計) 値を計算できます。たとえば、売上レポートで、州ごとの売上の平均 (売上オブジェクトの平均) を計算した
り、その州内の製品の販売個数 (製品名オブジェクトの個別件数) を求めることができます。
4.2.8.4
グループデータの切り離し機能の使用
Crystal Reports では、グループ情報や合計情報を切り離すことができます。[ページ] モードで、切り離す [グループヘッダ]
領域内のグループタイトルまたは合計要素を右クリックし、[情報を切り離す] をクリックします。
これで、レポートには切り離したグループまたは合計のみが表示されます。メインレポートに戻るには、レポートキャンバスの
上のタイトルをクリックします。
ヒント
[グループツリー] サイドパネルの情報を切り離すこともできます。これを行うには、目的のグループを右クリックして [情報
を切り離す] をクリックします。
関連情報
並べ替え、グループ化、集計 [194 ページ]
4.2.9
タイトルページの追加
レポートにタイトルページを追加するには、[データエクスプローラ] サイドパネルの [事前定義済みオブジェクト] 領域から [レ
ポートタイトル] を挿入します。
このオブジェクトを使用するには、あらかじめレポートの [タイトル] テキストボックスにタイトルを入力しておく必要があります。
レポートタイトルは、[プロパティ] ダイアログボックスを使用して追加できます。
4.2.9.1
レポートにタイトルを追加する
1.
プロパティ の順にクリックします。
2.
ファイル
レポートタイトルの入力がまだ済んでいない場合は、[プロパティ] ダイアログボックスの [タイトル] テキストボックスに入
力します。
3.
[プロパティ] ダイアログボックスを閉じます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
71
4.
[データエクスプローラ] サイドパネルの [事前定義済みオブジェクト] 領域で、[レポートタイトル] オブジェクトをレポートキ
ャンバスの [レポートヘッダ] セクションにドラッグします。
5.
[レポートタイトル] 要素をクリックして選択します。
6.
[書式設定] タブから、[レポートタイトル] 要素のフォントを書式設定します。
7.
フォントのサイズや種類、位置などのレポートタイトルの値を設定します。
8.
[アウトライン] サイドパネルで、[レポートヘッダ] を右クリックし、[レポートヘッダの書式設定] をクリックします。
[書式] ダイアログボックスに、レポートヘッダセクションの書式設定オプションが表示されます。
9.
[後に改ページ] チェックボックスを選択します。
10. [閉じる] をクリックします。
最初のページにタイトルが表示され、次のページからレポートが始まります。
4.2.10 レポートへのコメントの追加
レポートに出力されないコメントを付加したい場合があります。たとえば、レポート受信者への個人的なメモ、レポートの基にな
るデータを詳細に説明したメモ、レポートタイトル、レポートの特定のデータに関するコメントなどがあります。
[プロパティ] ダイアログボックスの [コメント] テキストボックスを使用してコメントを追加できます。コメントはレポートには出力
されませんが、必要な場合にはレポート出力にコメントを追加することもできます。
4.2.10.1 レポートにコメントを追加する
1.
2.
ファイル
プロパティ の順にクリックします。
[プロパティ] ダイアログボックスで、[コメント] ボックスにコメントを入力します。
注記
[コメント] ボックスでは、パラグラフを区切ることはできません。
3.
[プロパティ] ダイアログボックスを閉じます。
レポートにコメントが追加されます。
4.2.10.2 レポート出力にコメントを追加する
1.
[データエクスプローラ] サイドパネルの [事前定義済みオブジェクト] 領域で、[レポートコメント] をクリックしてレポートキ
ャンバスの [レポートヘッダ] セクションにドラッグします。
2.
レポートキャンバスで [レポートコメント] オブジェクトを右クリックし、[オブジェクトの書式設定] をクリックします。
3.
[書式] ダイアログボックスで、フォントのサイズや種類、位置などのレポートコメントの値を設定します。
4.
[書式] ダイアログボックスを閉じます。
72
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
これで、レポート出力の [レポートヘッダ] セクションにレポートコメントが表示されます。
4.2.11
ズーム機能の使用
レポートは簡単に拡大または縮小できます。20% から 400% までの任意の拡大率を選択できます。
ズーム機能は画面の右下隅にあります。バーを左にスライドさせると縮小し、右にスライドさせると拡大します。テキストボック
スに比率を入力し、ズーム比率を手動で編集することもできます。例: 65%
レポート全体の構造を表示するには、拡大率を低くしてレポートを表示します。レポートの一部を詳細に表示するには、拡大
率を大きくします。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの基礎
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
73
5
レポートデザインの概念
この節では、レポートデザインの基本概念について解説します。レポートに含める情報を決定するときに役立ちます。
5.1
レポートデザインの基礎
この節では、Crystal Reports レポートを作成する方法を体系的に解説します。レポートの作成には、次の手順があります。
●
レポートの内容を決定する
●
紙にプロトタイプを作成する
この項では、レポートの作成方法を概念的に理解することを目指します。
5.2
レポートの内容の決定
レポートの作成を開始する前に、レポートが提供する情報のアウトラインを描きます。レポートの概要を定めるにあたり、次の
セクションを参考にしてください。
注記
レポート (.rpt) ファイルには重要なビジネスデータが含まれている場合があります。以下の方法のいずれかを使用して、
ファイルへのアクセスを保護することをお勧めします。
●
SAP BusinessObjects Business Intelligence プラットフォームサーバを使用してファイルを管理する。
●
ファイルセキュリティを適用する。
●
オペレーティングシステムレベルの暗号化を適用する。
5.2.1
目的の明確化
レポートの全体的な目的は何ですか?
レポートは管理ツールです。レポートの目的は、生きたデータを使って各個人が重要な要素や関連性を把握し、有効な決断を
下せるようにすることです。効果的なレポートを作成するには、適切なデータを論理的に提供しなくてはなりません。誤ったデ
ータを提供したり、正しいデータでも無計画に提供すれば、処理の決定が遅れたり、誤った判断を招くことになります。
レポートを作成するには、最初に、そのレポートの目的を数行の文書に書き出してみることをお勧めします。それによって要点
が見つかり、レポートに求められるものを把握できます。
次は、レポートの目的に関する文章の例です。
74
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートデザインの概念
●
このレポートの目的は、各営業担当の月間および年間売上を示し、本年度と昨年度の実績を比較することである。また、
会社の標準売上に満たない営業担当にはフラグを付ける。このレポートの目的は、在庫に対して各商品の売上実績を示
し、その実績に基づいて追加発注の量を決定することである。
●
このレポートの目的は、ボーリング チームの各メンバーの平均成績やハンディキャップを計算することである。
●
レポートを作成する前に目的を明確にしておくことは、すべての過程の中でも重要なステップです。
明確な目的のないレポートは、議題のない会議のようなもので、まとまりがなく成果もないものになります。
レポートを参照するのはだれですか?
1 つのレポートでも大勢の人が目を通します。たとえば、詳細な企業全体の売上レポートは、営業担当者、地域営業部長、本
社営業部長、最高責任者などによって読まれます。
それぞれの人々は、立場によって違った局面からレポートを参照します。
●
営業担当者は、各自の営業成績を評価し、地域内の他の営業担当と比較します。
●
地域営業部長は、地域の営業担当者を評価し、その地域の成績を他の地域と比較します。
●
本社営業部長は、地域営業部長の成績を評価し、全体の売上を現在の売上予測と比較します。
●
最高責任者は、マーケティング担当の副社長と営業部門全体の成績を評価し、増産の必要性や倉庫立地などの計画を
立てます。
参照するレポートの内容は、人によって異なるため、それぞれの個人に必要な情報が含まれるレポートを作成することが重要
です。
5.2.2
レポートの構造の決定
レポートのタイトルはどうしますか?
レポートに仮のタイトルを付けます。プロトタイプ レポートの作成の際は、この仮のタイトルを使用し、後でタイトルを変更しま
す。
ヘッダーとフッターに必要な情報は何ですか?
印刷日、レポートの作成者についての情報、レポートの目的についての説明、カバーしているデータの範囲などを入れます。
このような情報を入れる場合は、それを書き出して、プロトタイプを作成する際に使用できるようにします。
情報は、使用の目的に応じてさまざまなソースから入手できます。
●
レポートの作成者に関する情報は、結果フォルダの個人の結果オブジェクトから取得できます。結果フォルダから取得す
る場合、どのフォルダから取得しますか。またはどのフォルダを組み合わせて取得しますか。
●
テキストはテキスト要素として作成でき、レポートの任意の位置に配置できます。
●
Crystal Reports は、印刷日やページ番号などの情報を生成できます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートデザインの概念
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
75
5.2.3
データの決定
レポートで何のデータを使用しますか?
レポートの基になるデータソースの種類を知っていますか。使用するデータソースの種類が不明な場合は、社内の関係者に
たずねてデータソースの種類と位置を確認し、必要に応じてそのデータソースにアクセスできるように設定します。
データを熟知し、必要な情報を見つけられますか。得意先の名前を検索するときに、結果フォルダでオブジェクトを見つけられ
ますか。
見つけられない場合は、データのことがよくわかるようになるまで、MIS 専門家、データソース管理者、同僚などの手助けが必
要になります。
レポートの本体には具体的にどのようなデータを表示しますか?
レポートの本体には、レポートの目的を満たすために必要なすべてのデータを入れる必要があります。また、対象とするさま
ざまなユーザに必要なデータをすべて入れる必要があります。
このステップでは、利用可能な結果フォルダについて調査します。Crystal Reports では、複数の異なるデータソースから取
得したデータをレポートにまとめて表示できるため、作業を柔軟に行うことができます。
●
通常のレポートでは、ほとんどのデータを直接結果オブジェクトから取得します。どの結果オブジェクトを使用し、それらは
どこにありますか。
●
その他のデータは、結果オブジェクトに基づいて計算されます。計算にはどの結果オブジェクトを使用しますか。
●
さらに、テキスト要素を使って直接レポートに挿入するデータ (見出し、メモ、ラベルなど) もあります。
データは既に存在していますか、それとも計算する必要がありますか?
情報には、結果オブジェクトから直接引き出すことができる情報 (売上情報など) と、結果オブジェクトの値に基づく計算が必
要な情報 (売上と歩合に基づく売上手数料など) があります。計画の段階で、直接使用できるデータと計算の必要なデータを
分けておくか、データにフラグを付けておくと便利です。
オブジェクトの型は何ですか。
計算で使用する結果オブジェクトのデータ型を調べておく必要があります。式の関数と演算子は特定の種類のデータを計算
の対象とするので、計算を始める前に、対象とするデータの型を認識しておくことは重要です。たとえば、数値型のデータを要
求する関数もあれば、文字列オブジェクトだけを計算の対象とする関数もあります。
76
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートデザインの概念
5.2.4
データの操作
データをグループごとに分類しますか?
どのように分類しますか。顧客ごと、日付ごと、階層ごと、またはそれ以外の条件で分類しますか? Crystal Reports では、レ
ポートでデータをグループ化するためのオプションがいくつか用意されています。
レコードまたはグループ値に基づいてデータを並べ替えますか?
Crystal Reports では、どちらの並べ替えでも行うことができます。
レポートを特定のレコードやグループだけに基づいて作成しますか?
Crystal Reports では、レポートにデータソース中の全レコードを利用することも、一部のレコードだけを利用することもできま
す。Crystal Reports では、単純な日付範囲指定や比較によってレコードをフィルタすることも、取得するレコードを特定する
ための複雑な式を定義することもできます。データのフィルタはクエリパネルで実行できるほか、パラメータやインタラクティブ
フィルタをレポート上で使用することによって行うこともできます。レポートにどのようなレコードが必要かを考え、レコードをフィ
ルタするための基準をリストしてみてください。
合計を出しますか?
レポートの任意の列にあるすべての値の総計、平均、件数、最大値、または最小値を求めますか。
Crystal Reports では、これを行うことができます。また、選択した列の一番下に総計(またはその平均や件数など)を配置で
きます。
レポートのどの情報にフラグを付けますか?
レポートにフラグを付けて、注意を促すことができます。たとえば、在庫レポートでは、移動のない在庫品にフラグを付けて、特
に注目させることができます。先月、過去 3 か月、またはその他の期間を指定して、移動のない在庫品にフラグを付けること
もできます。情報にフラグを付ける場合は、フラグを付ける情報とその条件を明確にします。
どのように情報にフラグを付けますか?
アスタリスク(*)やその他の記号で項目にフラグを付けたり、フラグとして言葉を表示することもできます。どの場合も、フラグ
の内容を書き留めておくと便利です。
SAP Crystal Reports for Enterprise ユーザガイド
レポートデザインの概念
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
77
Crystal Reports では、レポートの要素に下線を付けたり、特定のレポート要素に使用されるフォントの種類、サイズ、または
色を変更できます。また、要素の周りに枠線を付けたり、線やボックスを描画してレポートをセクションに分けたり、見出しをは
ずしたりできます。これらの書式設定ツールを使用すると、レポート上の重要データを強調表示できます。
5.2.5
出力領域の特性の決定
各レポート領域は、それぞれ異なる出力特性を持ちます。さまざまなレポート要素が出力されるタイミングと頻度は各領域の
出力特性に依存するので、これを理解しておくことは重要です。
レポートにどんな順序で領域を出力しますか?
各領域は、[構造] モードに表示されている順序 (上から下) で出力されます。領域に複数のセクションがある場合は、領域内
に表示されている順序で各セクションが出力されます。たとえば、[レポートヘッダ] セクションが 3 つある場合は、[ページヘッ
ダ] 領域のセクションより前に、3 つのレポートヘッダセクションがその順番で出力されます。
レポート要素を何回出力しますか。
要素を出力する方法によって、レポートをデザインする方法が決まります。次の情報は、目的の結果を得るために、チャート、
クロスタブ、および式を配置する場所を決定するのに役立ちます。
レポート ヘッダー
[レポートヘッダ] 領域に配置された要素は、レポートの先頭に一度だけ出力されます。
●
この領域に配置されたチャートやクロスタブは、レポート全体のデータを含みます。
注記
チャートとクロスタブのどちらも、グループの並べ替えを使用してレポートに表示するデータを選択することができま
す。その場合、チャートまたはクロスタブに表示されるデータは、レポート全体のデータのサブセットになります。
●
この領域に配置された式は、レポートの先頭で一度だけ評価されます。
ページ ヘッダー
[ページヘッダ] 領域に配置された要素は、各ページの先頭に出力されます。
●
78
チャートやクロスタブは、このセクションに配置できません。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートデザインの概念
●
この領域に配置された式は、各ページの先頭でページごとに一度だけ評価されます。
グループ ヘッダー
[グループヘッダ] 領域に配置された要素は、各グループの先頭に出力されます。
●
この領域に配置されたチャートやクロスタブは、グループのデータを含みます。
●
この領域に配置された式は、グループの先頭でグループごとに一度だけ評価されます。
ボディ
[ボディ] 領域に配置された要素は、新しいレコードごとに出力されます。
●
チャートやクロスタブは、この領域に配置できません。
●
この領域に配置された式は、レコードごとに一度だけ評価されます。
グループ フッター
[グループフッタ] 領域に配置された要素は、各グループの最後に出力されます。
●
この領域に配置されたチャートやクロスタブは、グループのデータを含みます。
●
この領域に配置された式は、グループの最後でグループごとに一度だけ評価されます。
レポート フッター
[レポートフッタ] 領域に配置された要素は、レポートの最後に一度だけ出力されます。
●
この領域に配置されたチャートやクロスタブは、レポート全体のデータを含みます。
注記
チャートとクロスタブのどちらも、グループの並べ替えを使用してレポートに表示するデータを選択することができま
す。その場合、チャートまたはクロスタブに表示されるデータは、レポート全体のデータのサブセットになります。
●
この領域に配置された式は、レポートの最後で一度だけ評価されます。
ページ フッター
[ページフッタ] 領域に配置された要素は、各ページの下部に出力されます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートデザインの概念
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
79
●
チャートやクロスタブは、この領域に配置できません。
●
この領域に配置された式は、各ページの先頭でページごとに一度だけ評価されます。
5.3
紙でのプロトタイプの作成
Crystal Reports の使用経験にかかわらず、紙のプロトタイプは役に立ちますが、プログラムを使い始める際には特にそうで
す。紙のプロトタイプを使用すれば、デザインと習得を一度に行うよりも、習得やコマンドの使用に集中することができます。
5.3.1
紙にプロトタイプをデザインする
1.
作成するレポートと同じ大きさの紙を使用します。
2.
レポート要素を表すためにボックスや線を使用し、タイトルやヘッダに書き込むその他の情報を配置します。
3.
フッタ情報を配置します。
4.
ページ構造のバランスを確認します。
5.
レポートの本体に入れる情報を考えます。
○
使用するオブジェクト数を数え、オブジェクト間の適切なスペースを見積もります。
○
見積もったスペースで、鉛筆で長方形のオブジェクトを描きます。
○
必要に応じてスペースを変更します。
○
レポートの本体に表示するデータの論理的な順序を決めます。
○
オブジェクトにラベルを付け、その順序を示します。
6.
グループ値と合計を示すには、小さいボックスを使用します。
7.
フラグを表示する列に、任意にフラグを配置します。
8.
強調表示する要素を暗く塗りつぶし、プロトタイプの他の部分よりも目立たせます。
9.
レポートの構造とバランスを確認し、必要に応じて変更を加えます。
80
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートデザインの概念
6
Web ベースのレポートテンプレート
Crystal Reports の [Web テンプレートから] オプションを使用すると、ユニバースやデータベースなどのデータソースにアク
セスするレポートをすばやく作成できます。
テンプレートを参照して自分の作業にあったテンプレートを検索します。または、特定のレポートタイプのレポートリポジトリを
検索することができます。
6.1
Web 上のレポートリポジトリ
Crystal Reports では、さまざまなレポートテンプレートをダウンロードできる Web 上のレポートリポジトリへのリンクを使用で
きます。
このリポジトリには、レポートテンプレートに対するリンクと、レポート固有の要素を検索するのにも使用できる検索ツールが含
まれます。
6.2
レポートテンプレートの選択とデータオブジェクトのマップ
Crystal Reports には、特殊なレポートテンプレートが用意されており、これらを選択してさまざまなタイプのプロジェクトを作
成できます。
次のテンプレートオプションの中から適切なレポートテンプレートを選択します。
●
主なテンプレート
●
最近使用したもの
検索ツールを使用して、キーワードを検索することもできます。レポートテンプレートアイコンの下に、各レポートテンプレートタ
イプの簡単な説明が表示されます。
使用するレポートテンプレートを選択すると、自身の情報を含むレポートを使用できるようにするため、データソースに接続す
るよう求められます。
6.2.1
1.
レポートテンプレートを選択してデータオブジェクトをマップする
開始ページまたは [ファイル] メニューから、レポートテンプレートリポジトリにアクセスできます。
オプション
[ファイル]メニュー
説明
[ファイル] > [新規作成] > [Web テンプレートから] をクリックします。
[テンプレートを開く] ダイアログボックスが表示されます。
スタート ページ[スタートページ]
SAP Crystal Reports for Enterprise ユーザガイド
Web ベースのレポートテンプレート
[開始] ページで、[テンプレート] タブを選択します。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
81
2.
テンプレートグループの 1 つからテンプレートを選択します。
選択したレポートが開き [レポートリポジトリ Web サイト] ダイアログボックスが表示されます。
3.
続行する操作を選択:
○
データソースを選択する前にレポートテンプレートをプレビューする場合は、[プレビュー] を選択します。
○
データソースを選択する場合は、[データソースの保存場所の設定] を選択します。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
4.
[ターゲットデータソース] パネルで、[接続の追加] アイコンをクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
5.
次のオプションのいずれかからデータソース接続を選択することができます。
○
[前の接続]: このオプションを使用すると、前に接続したデータを使用できます。
○
[リポジトリの参照]: このオプションを使用すると、[データソースの種類] 一覧からデータソースを選択できます。
○
[ベンダーによる接続]: このオプションでは、ベンダーまたはソフトウェアプロバイダ別に並べ替えられたデータソース
に接続します。
6.
[完了] をクリックします。
[ターゲットデータソース] 列に、新しいデータソースファイルが表示されます。
7.
[現在のデータソース] パネルからオブジェクトを選択して、[ターゲットデータソース] パネル内のオブジェクトに接続しま
す。
注記
データの互換率が 50% 以上のデータソースが推奨されています。文字列データ型にはテキスト情報、数値データ型
には数値情報が必要です。
8.
[マップ] アイコンをクリックします。
ヒント
まだマップする必要があるオブジェクトのみを表示するには、[データマッピング] セクションで、[マッピングされていな
いフィールドの表示] をクリックします。
注記
現在のデータソース内のすべてのオブジェクトをターゲットデータソース内のオブジェクトと組み合わせるか、オブジェ
クトをプレースホルダ式に変換する必要があります。すべてのオブジェクトがマップされるまで、ダイアログボックスを閉
じることはできません。
注記
あるターゲットオブジェクトを 2 度マップしようとすると、[マッピングを置換] ダイアログボックスが表示され、そのターゲ
ットオブジェクトはすでにマップ済みであることが警告され、接続を置換するかどうか確認されます。マッピングを置換
するには [はい] を、メニューに戻って他のオブジェクトを選択するには [いいえ] を選択します。
9.
82
データ接続の作成を終えたら、[完了] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
Web ベースのレポートテンプレート
6.3
データソースの変更
元のデータソースに接続できなくなった場合や、ほかのデータソースに接続する必要がある場合は、データソース接続を変更
し、データオブジェクトを新しいデータソース内のオブジェクトに再マップする必要があります。新しいデータソースのデータオブ
ジェクトがすべて元のデータソースと同じフォルダまたはテーブル内にない場合は、オブジェクトを手動で再マップする必要が
あります。
レポートの結果オブジェクトが新規データソースと一致しない状況に遭遇した場合、問題の解決方法を決定するまでの間、プ
レースホルダ式を使用できます。
注記
ユニバースデータソースを別のユニバースデータソースに変更する場合、クエリフィルタは保持されません。新規データソ
ースを編集し、必要なクエリフィルタを再作成する必要があります。
互換性のないデータソース
互換性のない 2 つのデータソースにオブジェクトをマップしようとすると、データソースに互換性がないことを知らせるメッセー
ジが表示されます。リレーショナルデータベースフィールド (直結) を同じレポート内のセマンティックレイヤ結果オブジェクトと
混合したり、異なるタイプのセマンティックレイヤデータソースの結果オブジェクトを混合したりすることはできません。
サブレポートがない直結レポートのデータソースを変更する場合、以下のガイドラインを使用します。
データマッピングオプション
レポートのフィールド
ユニバースへ
すべてのフィールドを同じユニバースにマップする必要があります。
SAP BEx クエリへ
すべてのフィールドを同じ SAP BEx クエリにマップする必要があり
ます。
分析ビューへ
すべてのフィールドを同じ分析ビューにマップする必要があります。
別の直結データソースへ
フィールドを複数の直結接続間でマップできます。
サブレポートがある直結レポートのデータソースを変更する場合、以下のガイドラインを使用します。
データマッピングオプション
レポートのフィールド
ユニバースにマップされたレポート
特定のレポート内のフィールドを、すべて同じユニバースにマップす
る必要があります。ただし、サブレポートはメインレポートとは異なる
ユニバースにマップできます。
SAP BEx クエリにマップされたレポート
特定のレポート内のフィールドを、すべて同じ SAP BEx クエリにマ
ップする必要があります。ただし、サブレポートはメインレポートとは
異なる SAP BEx クエリにマップできます。
分析ビューにマップされたレポート
特定のレポート内のフィールドを、すべて同じ分析ビューにマップす
る必要があります。ただし、サブレポートはメインレポートとは異なる
分析ビューにマップできます。
別の直結データソースへ
フィールドを複数の直結接続間でマップできます。
直結データソースにマップする、共通のセマンティックレイヤデータ型を基盤とするレポートがある場合、レポート全体およびサ
ブレポートを直結接続にマップする必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
Web ベースのレポートテンプレート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
83
関連情報
プレースホルダ式の使用 [85 ページ]
連結されていないオブジェクトの再マップ [86 ページ]
6.3.1
1.
データソースを追加し、データをマップする
[データ] > [データソースの場所の設定] をクリックします。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
2.
[ターゲットデータソース] パネルで、[接続の追加] アイコンを選択し、レポートテンプレートへのデータソース接続を追加
します。
[データコネクションの選択] ダイアログボックスが表示されます。
3.
次のオプションのいずれかからデータソース接続を選択することができます。
○
[前の接続]: このオプションを使用すると、前に使ったデータソースを使用できるため、データソースをもう一度マップ
する必要がありません。
○
[リポジトリの参照]: このオプションを使用すると、[新規データソース接続] 一覧からデータソースを選択できます。
○
[ベンダーによる接続]: このオプションでは、ベンダーまたはソフトウェアプロバイダ別に並べ替えられたデータソース
に接続します。
4.
[新規データソース接続] ダイアログボックスで、データソースタイプを選択して [完了] をクリックします。
[ターゲットデータソース] 列に、データソースファイルが表示されます。
5.
[マップ] をクリックします。
[ターゲットデータソース] のデータ型が一致するフィールドまたは結果オブジェクトがマップされます。
6.
自動でマップできなかった項目については、以下の手順に従います。
a) [現在のデータソース] パネルと [ターゲットデータソース] パネルの両方で、テーブルまたはフォルダを展開します。
b) [現在のデータソース] パネルからオブジェクトを選択して、[ターゲットデータソース] パネルのオブジェクトと一致させ
ます。
[現在のデータソース] のオブジェクトを選択すると、[ターゲットデータソース] の一致する可能性があるオブジェクト
が強調表示されます。一致の可能性が、パーセンテージで示されます。パーセンテージの値が高いほど、適合性は
高くなります。
[現在のデータソース] パネルと [ターゲットデータソース] パネルの両方におけるすべてのオブジェクトに、データ型
が含まれます。文字列値については、文字列の長さも表示されます。
注記
文字列データ型にはテキスト情報、数値データ型には数値情報が必要です。文字列データ項目を数値データ項
目と一致させようとすると、式フィールドが作成されます。
c) [マップ] アイコンをクリックして、オブジェクトをマップします。
ヒント
[マップ] をクリックする代わりに、[ターゲットデータソース] の項目をダブルクリックしても、マッピングを完了できま
す。
84
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
Web ベースのレポートテンプレート
注記
[現在のデータソース] パネルに表示されるすべてのデータオブジェクトを、[ターゲットデータソース] の項目と組
み合わせるか、またはプレースホルダ式に変換する必要があります。
注記
2 つのデータオブジェクトを 1 つのターゲットオブジェクトにマップすることはできません。[現在のデータソース] フ
ィールドのオブジェクトを 2 度マップしようとすると、[マッピングを置換] ダイアログボックスが表示され、そのオブ
ジェクトはすでにマップ済みであると警告されます。マッピングを置換するには [はい] を、メニューに戻って他のタ
ーゲットデータオブジェクトを選択するには [いいえ] を選択します。
7.
次のいずれかのアクションを実行して、オブジェクトマッピングを変更できます。
オプション
説明
直結テーブルのすべてのフィールドを、レポートか [現在のデータソース] パネルでテーブルを右クリックし、[レポートからすべて削
ら削除します。
除] をクリックします。
1 つのオブジェクトのマップを解除します。
[現在のデータソース] パネルまたは [データマッピング] パネルでオブジェクトを
選択し、[レポートからファイルを削除] をクリックします。
すべてのオブジェクトのマップを解除します。
8.
[データマッピング] パネルで [すべてクリア] をクリックします。
データ接続の作成を終えたら、[完了] をクリックします。
関連情報
プレースホルダ式の使用 [85 ページ]
6.3.2
1.
データソースを削除する
データ
データソースの場所の設定
をクリックします。
2.
[ターゲットデータソース] 列から、不要なデータソースを選択します。
3.
[接続の削除] アイコンをクリックします。
これでデータソースが削除されました。
6.4
プレースホルダ式の使用
レポートテンプレートを使用したり編集したりする際や、新しいデータソースに接続する際に、新しいデータソースにないレポー
トキャンバス上の結果オブジェクトまたはフィールドがある場合があります。プレースホルダ式を使用して、これらの連結されて
いないオブジェクトのレポート内での場所を維持することができます。準備ができたら、連結されていないオブジェクトを結果オ
ブジェクトに再マップするか、レポートから削除することができます。
SAP Crystal Reports for Enterprise ユーザガイド
Web ベースのレポートテンプレート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
85
直結レポートでは、テーブルのすべてのフィールドをプレースホルダ式で置換することもできます。
6.4.1
1.
プレースホルダ式を使用する
データ
データソースの場所の設定
をクリックします。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
2.
オブジェクトをプレースホルダ式で置換するには、以下の手順のうちいずれかを実行します。
オプション
説明
結果オブジェクトまたは直結フィールドをプレースホ
ルダ式に設定します。
[現在のデータソース] パネルで結果オブジェクトまたはフィールドを右クリック
直結テーブルのすべてのフィールドをプレースホル
ダ式に設定します。
[現在のデータソース] パネルでテーブルを右クリックし、[プレースホルダ式と
し、[プレースホルダ式と置換] をクリックします。
すべて置換] をクリックします。
結果オブジェクト名は、[データマッピング] フィールドで横に表示される [プレースホルダ式] を持ちます。
注記
この方法は、レポートテンプレートとデータソースがマップされているレポートの両方に使用できます。
関連情報
データソースを追加し、データをマップする [84 ページ]
6.5
連結されていないオブジェクトの再マップ
連結されていないオブジェクトはプレースホルダ式内に配置され、処理方法を決めるまでの猶予が得られます。
準備ができたら、連結されていないオブジェクトをデータソース内のオブジェクトに再マップできます。
注記
[データソースの保存場所の設定] ワークフローを使用する場合は、プレースホルダ式オブジェクトを含め、すべてのオブジ
ェクトを再マップする必要があります。
関連情報
プレースホルダ式の使用 [85 ページ]
86
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
Web ベースのレポートテンプレート
6.5.1
1.
データ
連結されていないオブジェクトを再マップする
データソースの場所の設定
をクリックします。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
2.
[ターゲットデータソース] を選択し、すでにマップされているオブジェクトを再マップします。
3.
プレースホルダ式オブジェクトを選択して、[ターゲットデータソース] 内のオブジェクトにマップします。
4.
すべてのプレースホルダ式オブジェクトがマップされるまで続けます。
5.
[完了] をクリックします。
これで、プレースホルダ式の配下に配置されていたオブジェクトが、レポートに再統合されました。
SAP Crystal Reports for Enterprise ユーザガイド
Web ベースのレポートテンプレート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
87
7
データソース接続およびクエリ
7.1
データソース接続
Crystal Reports では、次の異なるデータソースを複数使用してレポートを作成できます。
●
ユニバース
●
SAP BEx クエリ
●
分析ビュー
●
JDBC 接続
●
ODBC 接続
●
Microsoft 接続
ユニバースやクエリなどのデータソースの場合、[クエリパネル] を使用してレポート用のクエリを設計できます。
7.1.1
ユニバースへの接続
ユニバースには、1 つ以上のリレーショナルデータソースまたは OLAP キューブから取得したデータが含まれています。
新しいドキュメントとクエリは、権限のあるユニバースでのみ作成できます。
7.1.1.1
ユニバースに接続する
ユニバースに接続するには、事前に BI プラットフォームサーバにログオンします。
1.
ファイル
新規作成
データソースから
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
[SAP BusinessObjects Business Intelligence プラットフォーム] から、[リポジトリの参照] をクリックします。
ヒント
前にユニバースに接続している場合は、[前の接続] から選択できます。
3.
[データソースタイプ] 一覧から、[ユニバース] をクリックします。
4.
[名前] パネルでユニバースを選択し、[次へ] を選択します
[クエリパネル]が表示されます。これで、クエリに含めるオブジェクトをユニバースから選択できます。
5.
88
[完了] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.1.2
SAP BEx クエリへの接続
各 SAP BEx クエリには、レポートを実行できる作成済み結果オブジェクトのグループが含まれています。これらのクエリは事
前に作成されたものですが、レポートを実行する前にクエリパネルを使用して、クエリを並べ替えたりフィルタすることができま
す。
SAP BEx クエリは階層ベースになっており、複数の階層を設定することができます。たとえば、地域ごとの費用に関するクエ
リと従業員ごとの費用に関するクエリからは、それぞれ異なるレポートが作成されます。SAP BEx クエリに可変の階層が含ま
れている場合、レポートを実行するには、結果オブジェクトをクエリに挿入した後で階層を指定する必要があります。
注記
SAP BEx および SAP BW (Business Warehouse) は、同じ OLAP プロバイダを参照します。OLAP データソ-ス接続の
管理方法の詳細については、『“SAP BusinessObjects Analysis, edition for OLAP 管理者ガイド”』を参照してください。
Crystal Reports でアクセスできるのは、[このクエリへの外部アクセスを許可] チェックボックスがオンにされている BEx ク
エリのみです。
7.1.2.1
SAP BEx クエリに接続する
SAP BEx クエリに接続するには、事前に BI プラットフォームサーバにログオンします。
1.
ファイル
新規作成
データソースから
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
[SAP BusinessObjects Business Intelligence プラットフォーム] の [データソースの種類] リストで、[リポジトリの参照]
をクリックします。
[新規データソース接続] ダイアログボックスが表示されます。
3.
[データソースの種類] メニューから、[SAP BEx クエリデータアクセス] を選択します。
4.
[名前] パネルで OLAP 接続を選択し、[次へ] を選択します。
[BEx クエリの選択] ダイアログボックスが表示されます。
5.
BEx クエリを選択して、[OK] をクリックします。
[クエリパネル] ダイアログボックスが開きます。これで、クエリに含めるデータソースからオブジェクトを選択できます。
6.
[完了] をクリックします。
SAP サーバ側の変数を含むように作成された SAP BEx クエリを接続した場合、クエリの変数オプションの入力を求める
ダイアログボックスが表示されます。
関連情報
フォルダおよび結果オブジェクトの選択 [61 ページ]
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
89
7.1.3
分析ビューへの接続
各分析ビューには作成済みクエリが含まれており、これらのクエリには作成済み結果オブジェクトが含まれています。分析ビ
ューのクエリは、ユニバースや BEx クエリと異なり、Crystal Reports では編集できません。Crystal Reports でフィルタやグ
ループ化などのさまざまな機能を使用すれば、分析ビューからクエリのデータを操作することができます。クエリ自体を変更す
るには、SAP BusinessObjects Advanced Analysis で分析ビューを開く必要があります。
7.1.3.1
分析ビューに接続する
分析ビューに接続するには、事前に BI プラットフォームサーバにログオンします。
1.
ファイル
新規作成
データソースから
をクリックします。
[新規データソース接続] ダイアログボックスが表示されます。
2.
[データソースタイプ] リストで、[分析ビュー] をクリックします。
3.
[名前] パネルで定義済みの分析ビューを選択し、[次へ] を選択します。
レポートのキャンバスが表示されます。これで、[データエクスプローラ] サイドパネルから結果オブジェクトをレポートに追
加できるようになります。
7.1.4
他のデータソースへの接続
ODBC、JDBC、SQL Server などのデータソースへの接続を作成できます。
7.1.4.1
データ ソースに接続する
1.
新規作成
ファイル
データソースから
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
[ベンダーによる接続] をクリックします。
3.
ベンダーリストを展開し、データソースを選択して、[次へ] をクリックします。
4.
[データソース名] およびログインパラメータを入力します。
[接続テスト] をクリックし、接続を確認できます。
必要に応じて、[設定パラメータ] および [カスタムパラメータ] タブに詳細を入力します。
5.
[次へ] をクリックします。
6.
テーブルを選択した後、[完了] をクリックします。
90
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.1.5
リレーショナル接続への接続
リレーショナル接続では、リレーショナルデータベースが使用されます。リレーショナルデータベースでは、システム中のデータ
は、データベーステーブルに格納された行と列で構成されます。行はレコードと呼ばれ、列はフィールドと呼ばれます。
2 つの異なったテーブルにあるデータを共通のフィールドで関係付けられることがよくあります。たとえば、顧客ごとに異なる
“顧客番号”を含む Customer テーブルと、受注した顧客の“顧客番号”を含む Orders テーブルには、テーブルの間に関係 (リ
レーションシップ) があります。これら 2 つのテーブルは、共通のフィールドでリンクできます。
リレーショナル接続を使用することにより、最初にユニバースを作成することなく、レポートをデータソースで直接作成できま
す。複数のレポートのデータソース接続を、1 つのオブジェクトで管理できます。SAP BusinessObjects Business
Intelligence (BI) プラットフォームにミドルウェアをインストールする必要があります。
7.1.5.1
リレーショナル接続に接続する
リレーショナル接続に接続するには、事前に BI プラットフォームサーバにログオンします。
1.
ファイル
新規作成
データソースから
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
[SAP BusinessObjects Business Intelligence プラットフォーム] から、[リポジトリの参照] をクリックします。
ヒント
前にリレーショナル接続に接続している場合は、[前の接続] から選択できます。
3.
[データソースタイプ] リストで、[リレーショナル接続] をクリックします。
4.
[名前] パネルでリレーショナル接続を選択し、[次へ] をクリックします。
[選択したテーブル] パネルが表示されます。これで、クエリに追加するリレーショナル接続からテーブルを選択できるよう
になります。
注記
○
すべてのテーブルがリンクされていることを確認します。リンクは、1 つのテーブルのレコードを別のテーブルの対
応するレコードと一致させるために必要です。
○
クエリに複数のテーブルを追加すると、Crystal Reports でテーブルがリンクされます。リンクされていないテーブ
ルは、赤い境界線で表示されます。
5.
[完了] をクリックします。
7.1.6
サーバ接続情報をインポートする
サーバ接続情報を含むファイルをインポートできます。これらのサーバには、BI プラットフォームへの次回接続時に接続でき
ます。
1.
編集
サーバ接続
をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
91
2.
[サーバ接続] ダイアログボックスで、[インポート] をクリックします。
3.
インポートするサーバ設定ファイルを選択し、[開く] をクリックします。
4.
[OK] をクリックします。
サーバ接続情報をインポートしました。
7.1.7
サーバ接続情報をエクスポートする
サーバ設定をファイルに保存できます。他のユーザがファイルを共有およびインポートできます。
1.
編集
サーバ接続
をクリックします。
2.
[サーバ接続] ダイアログボックスで、エクスポートするサーバの名前を選択します。
3.
[エクスポート] をクリックします。
4.
サーバ設定ファイルのエクスポート先を選択し、[保存] をクリックします。
5.
[OK] をクリックします。
サーバ接続情報をエクスポートしました。
7.2
データソースの変更
元のデータソースに接続できなくなった場合や、ほかのデータソースに接続する必要がある場合は、データソース接続を変更
し、データオブジェクトを新しいデータソース内のオブジェクトに再マップする必要があります。新しいデータソースのデータオブ
ジェクトがすべて元のデータソースと同じフォルダまたはテーブル内にない場合は、オブジェクトを手動で再マップする必要が
あります。
レポートの結果オブジェクトが新規データソースと一致しない状況に遭遇した場合、問題の解決方法を決定するまでの間、プ
レースホルダ式を使用できます。
注記
ユニバースデータソースを別のユニバースデータソースに変更する場合、クエリフィルタは保持されません。新規データソ
ースを編集し、必要なクエリフィルタを再作成する必要があります。
互換性のないデータソース
互換性のない 2 つのデータソースにオブジェクトをマップしようとすると、データソースに互換性がないことを知らせるメッセー
ジが表示されます。リレーショナルデータベースフィールド (直結) を同じレポート内のセマンティックレイヤ結果オブジェクトと
混合したり、異なるタイプのセマンティックレイヤデータソースの結果オブジェクトを混合したりすることはできません。
サブレポートがない直結レポートのデータソースを変更する場合、以下のガイドラインを使用します。
92
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
データマッピングオプション
レポートのフィールド
ユニバースへ
すべてのフィールドを同じユニバースにマップする必要があります。
SAP BEx クエリへ
すべてのフィールドを同じ SAP BEx クエリにマップする必要があり
ます。
分析ビューへ
すべてのフィールドを同じ分析ビューにマップする必要があります。
別の直結データソースへ
フィールドを複数の直結接続間でマップできます。
サブレポートがある直結レポートのデータソースを変更する場合、以下のガイドラインを使用します。
データマッピングオプション
レポートのフィールド
ユニバースにマップされたレポート
特定のレポート内のフィールドを、すべて同じユニバースにマップす
る必要があります。ただし、サブレポートはメインレポートとは異なる
ユニバースにマップできます。
SAP BEx クエリにマップされたレポート
特定のレポート内のフィールドを、すべて同じ SAP BEx クエリにマ
ップする必要があります。ただし、サブレポートはメインレポートとは
異なる SAP BEx クエリにマップできます。
分析ビューにマップされたレポート
特定のレポート内のフィールドを、すべて同じ分析ビューにマップす
る必要があります。ただし、サブレポートはメインレポートとは異なる
分析ビューにマップできます。
別の直結データソースへ
フィールドを複数の直結接続間でマップできます。
直結データソースにマップする、共通のセマンティックレイヤデータ型を基盤とするレポートがある場合、レポート全体およびサ
ブレポートを直結接続にマップする必要があります。
関連情報
プレースホルダ式の使用 [85 ページ]
連結されていないオブジェクトの再マップ [86 ページ]
7.2.1
1.
データソースを追加し、データをマップする
[データ] > [データソースの場所の設定] をクリックします。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
2.
[ターゲットデータソース] パネルで、[接続の追加] アイコンを選択し、レポートテンプレートへのデータソース接続を追加
します。
[データコネクションの選択] ダイアログボックスが表示されます。
3.
次のオプションのいずれかからデータソース接続を選択することができます。
○
[前の接続]: このオプションを使用すると、前に使ったデータソースを使用できるため、データソースをもう一度マップ
する必要がありません。
○
[リポジトリの参照]: このオプションを使用すると、[新規データソース接続] 一覧からデータソースを選択できます。
○
[ベンダーによる接続]: このオプションでは、ベンダーまたはソフトウェアプロバイダ別に並べ替えられたデータソース
に接続します。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
93
4.
[新規データソース接続] ダイアログボックスで、データソースタイプを選択して [完了] をクリックします。
[ターゲットデータソース] 列に、データソースファイルが表示されます。
5.
[マップ] をクリックします。
[ターゲットデータソース] のデータ型が一致するフィールドまたは結果オブジェクトがマップされます。
6.
自動でマップできなかった項目については、以下の手順に従います。
a) [現在のデータソース] パネルと [ターゲットデータソース] パネルの両方で、テーブルまたはフォルダを展開します。
b) [現在のデータソース] パネルからオブジェクトを選択して、[ターゲットデータソース] パネルのオブジェクトと一致させ
ます。
[現在のデータソース] のオブジェクトを選択すると、[ターゲットデータソース] の一致する可能性があるオブジェクト
が強調表示されます。一致の可能性が、パーセンテージで示されます。パーセンテージの値が高いほど、適合性は
高くなります。
[現在のデータソース] パネルと [ターゲットデータソース] パネルの両方におけるすべてのオブジェクトに、データ型
が含まれます。文字列値については、文字列の長さも表示されます。
注記
文字列データ型にはテキスト情報、数値データ型には数値情報が必要です。文字列データ項目を数値データ項
目と一致させようとすると、式フィールドが作成されます。
c) [マップ] アイコンをクリックして、オブジェクトをマップします。
ヒント
[マップ] をクリックする代わりに、[ターゲットデータソース] の項目をダブルクリックしても、マッピングを完了できま
す。
注記
[現在のデータソース] パネルに表示されるすべてのデータオブジェクトを、[ターゲットデータソース] の項目と組
み合わせるか、またはプレースホルダ式に変換する必要があります。
注記
2 つのデータオブジェクトを 1 つのターゲットオブジェクトにマップすることはできません。[現在のデータソース] フ
ィールドのオブジェクトを 2 度マップしようとすると、[マッピングを置換] ダイアログボックスが表示され、そのオブ
ジェクトはすでにマップ済みであると警告されます。マッピングを置換するには [はい] を、メニューに戻って他のタ
ーゲットデータオブジェクトを選択するには [いいえ] を選択します。
7.
次のいずれかのアクションを実行して、オブジェクトマッピングを変更できます。
オプション
説明
直結テーブルのすべてのフィールドを、レポートか [現在のデータソース] パネルでテーブルを右クリックし、[レポートからすべて削
ら削除します。
除] をクリックします。
1 つのオブジェクトのマップを解除します。
[現在のデータソース] パネルまたは [データマッピング] パネルでオブジェクトを
選択し、[レポートからファイルを削除] をクリックします。
すべてのオブジェクトのマップを解除します。
94
[データマッピング] パネルで [すべてクリア] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
8.
データ接続の作成を終えたら、[完了] をクリックします。
関連情報
プレースホルダ式の使用 [85 ページ]
7.2.2
1.
データソースを削除する
データ
データソースの場所の設定
をクリックします。
2.
[ターゲットデータソース] 列から、不要なデータソースを選択します。
3.
[接続の削除] アイコンをクリックします。
これでデータソースが削除されました。
7.2.3
プレースホルダ式の使用
レポートテンプレートを使用したり編集したりする際や、新しいデータソースに接続する際に、新しいデータソースにないレポー
トキャンバス上の結果オブジェクトまたはフィールドがある場合があります。プレースホルダ式を使用して、これらの連結されて
いないオブジェクトのレポート内での場所を維持することができます。準備ができたら、連結されていないオブジェクトを結果オ
ブジェクトに再マップするか、レポートから削除することができます。
直結レポートでは、テーブルのすべてのフィールドをプレースホルダ式で置換することもできます。
7.2.3.1
1.
データ
プレースホルダ式を使用する
データソースの場所の設定
をクリックします。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
2.
オブジェクトをプレースホルダ式で置換するには、以下の手順のうちいずれかを実行します。
オプション
説明
結果オブジェクトまたは直結フィールドをプレースホ
ルダ式に設定します。
[現在のデータソース] パネルで結果オブジェクトまたはフィールドを右クリック
直結テーブルのすべてのフィールドをプレースホル
ダ式に設定します。
[現在のデータソース] パネルでテーブルを右クリックし、[プレースホルダ式と
し、[プレースホルダ式と置換] をクリックします。
すべて置換] をクリックします。
結果オブジェクト名は、[データマッピング] フィールドで横に表示される [プレースホルダ式] を持ちます。
注記
この方法は、レポートテンプレートとデータソースがマップされているレポートの両方に使用できます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
95
関連情報
データソースを追加し、データをマップする [84 ページ]
7.2.4
連結されていないオブジェクトの再マップ
連結されていないオブジェクトはプレースホルダ式内に配置され、処理方法を決めるまでの猶予が得られます。
準備ができたら、連結されていないオブジェクトをデータソース内のオブジェクトに再マップできます。
注記
[データソースの保存場所の設定] ワークフローを使用する場合は、プレースホルダ式オブジェクトを含め、すべてのオブジ
ェクトを再マップする必要があります。
関連情報
プレースホルダ式の使用 [85 ページ]
7.2.4.1
1.
データ
連結されていないオブジェクトを再マップする
データソースの場所の設定
をクリックします。
[データソースの保存場所の設定] ダイアログボックスが表示されます。
2.
[ターゲットデータソース] を選択し、すでにマップされているオブジェクトを再マップします。
3.
プレースホルダ式オブジェクトを選択して、[ターゲットデータソース] 内のオブジェクトにマップします。
4.
すべてのプレースホルダ式オブジェクトがマップされるまで続けます。
5.
[完了] をクリックします。
これで、プレースホルダ式の配下に配置されていたオブジェクトが、レポートに再統合されました。
7.3
クエリの作成
ユニバースと SAP BEx データソースを接続すると、Crystal Reports でレポートを実行するクエリを作成できます。
96
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.3.1
ユニバースクエリの作成
ユニバースクエリの作成では、リレーショナルデータソースおよび OLAP データソースの両方から取得するデータを選択でき
ます。
ユニバースを使用してクエリを作成するには、最初にクエリパネルを使用してデータ選択を定義します。次に、メンバーセレク
タを使用して、クエリに含めるメンバーと階層を選択します。最後に、並べ替え、フィルタ、およびプロンプトをクエリに追加して
クエリをさらに絞り込むことができます。
ユニバースクエリ設計における共通セマンティックレイヤ (CSL) 最良実施例を以下に示します。
●
同じレポートに階層オブジェクトと関連レベルオブジェクトの両方を含めないようにします。階層オブジェクトは、階層フォ
ームのすべての階層ノードを含みます。一方、レベルオブジェクトは、フラット化されたフォームのレベルインデックスに一
致する階層ノードだけを含みます。レポートにこれら 2 種類のオブジェクトがあると、階層データとフラット化されたデータ
の両方がクエリに含まれることになります。
●
依頼されたメジャーはデータソース内からデータをプッシュダウンするため、グループヘッダ、チャート、クロスタブなどで、
依頼されたメジャーをできる限り使用します。これによりパフォーマンスおよびデータの正確性が向上します。
●
パフォーマンス改善のため、クエリパネルでフィルタと並べ替えを定義します。クエリパネルでフィルタ処理および並べ替
えを定義すると、データソース内からデータがプッシュダウンされます。Crystal Reports デザイナで定義されたフィルタ
処理と並べ替えは、ローカルで計算されます。
●
パフォーマンスを最適化するために、レポート作成者は、レポートのプレビュー前にクエリパネルでフィルタを設定します。
設定されたデータソースの場所で、C++ スタックから Java スタックへレポートを移行させる場合は、すべてのフィルタ情
報は選択式に保存され、ローカルで計算されます。CSL により、フィルタ処理されるデータがデザイナ側に戻されます。
7.3.1.1
ユニバースクエリ用のデータの選択を定義
クエリは、クエリパネルでユニバースのオブジェクトを使用して作成します。ユニバースのオブジェクトは、データソース内の使
用可能な情報を視覚的に表示します。
[クエリパネル] は複数のペインに分かれています。
●
ユニバース枠にはユニバースに含まれているオブジェクトがツリービュー形式で表示されます。[クエリパネル]では、ユニ
バースに新しいオブジェクトを追加したり、ユニバース内の既存オブジェクトを編集することはできません。
注記
[すべて展開] をクリックすると、すべての使用できるオブジェクトをこの枠で確認できます。オブジェクト同士の相互関
係を確認する場合は、[すべて折りたたむ] をクリックします。ユニバースの中にオブジェクトの階層構造が含まれる場
合は、このオプションを使用して、その構造を視覚的に表現できます。
●
結果オブジェクト枠には、クエリに含めるオブジェクトを配置します。
●
[クエリフィルタ] 枠には、ユニバースから返されたデータをフィルタするときに使用するオブジェクトを配置します。事前定
義済みのフィルタをユニバースから追加することや、オブジェクトを追加してリストボックスでフィルタを定義してカスタムフ
ィルタを作成することができます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
97
7.3.1.1.1
オブジェクトのクイックリファレンス
オブジェクトとは、データソース内のデータ、またはその派生データをマップした名前の付いたコンポーネントです。たとえば、
結果フォルダ内の列を表すこともあれば、列内の値の合計を表すこともあります。
レポートでは、クエリの構築およびデータ取得のためにオブジェクトを使います。たとえば、人事ユニバースのオブジェクトに
は、名前、住所、給与などがあります。
オブジェクトはさまざまな種類の情報に対応しています。
注記
オブジェクトのプロパティは SAP BusinessObjects Designer で定義されますが、Crystal Reports のクエリパネルには
反映されません。
注記
クエリパネルでオブジェクトを直接定義することはできません。ユニバースのオブジェクトを定義するには、SAP
BusinessObjects Designer を使用します。
オブジェクト
例
分析デイメンション
説明
このオブジェクトは、類似した一連の特
性を示す 1 つまたは複数のディメンショ
ンテーブルに含まれる列の論理グルー
プです。
時系列ディメンション
このオブジェクトは、レポートで行う分析
の時系列のベースとなるデータを取得
します。時系列ディメンションオブジェク
トは、主に日付型データを返します。
属性
このオブジェクトは、ディメンションに関
する詳細情報を提供します。詳細は常
にディメンションに従属し、ディメンション
に関連付けられた詳細情報を提供しま
す。たとえば、"住所"、"生年月日"、"通
勤距離" は、"顧客" ディメンションに関
連付けられている詳細オブジェクトで
す。
メジャー
このオブジェクトは、データソース内の
データで行われた計算の結果を示す数
値データを取得します。メジャーオブジ
ェクトは通常メジャークラスに属します。
デフォルトの階層
このオブジェクトは、ディメンションデー
タの、指定されたデフォルトの並べ替え
順序を提供します。
98
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
オブジェクト
例
説明
レベルベースの階層
このオブジェクトは、指定されたレベル
に基づき、ディメンションデータの並べ
替え順序を提供します。
自己参照の値ベースの階層
このオブジェクトは、値に基づき、ディメ
ンションデータのデフォルトの並べ替え
順序を提供します。
名前セット
このオブジェクトは、メンバーの個別セッ
トとして選択して保存した、メンバーのグ
ループです。通常、複数の名前付きセッ
トが 1 つの階層中に同時に存在するこ
とはありませんが、よく使用される複数
のクエリやクエリの一部に対応していま
す。
フィルタ
このオブジェクトにより、指定されたクエ
リ条件に基づいて、オブジェクトのサブ
セットを選択できます。
ディメンション
このオブジェクトは、クエリによる分析の
軸を表します。クエリによる分析のキー
要素として使用される 1 つ以上の列ま
たは計算にマップできます。データファ
ンデーションに基づくディメンションと
OLAP キューブに基づくディメンション
は、次のように異なります。
●
OLAP キューブに基づくディメンショ
ンには、レベル別に構成された階
層が含まれます。各レベルには属
性を含めることができます。
●
データファンデーションに基づくディ
メンションには属性が含まれます。
階層は、関連テーブル全体がフラ
ットな階層として構成されます。
レベル
このオブジェクトは、返されるすべての
値の階層の深度が同じである親の階層
オブジェクトから、データのサブセットを
取得します。
フォルダ
このオブジェクトは、関連オブジェクトの
グループを保持するコンテナです。これ
は、Universe Designer のクラスに相
当します。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
99
7.3.1.1.2
ユニバースのメンバー選択
メンバーセレクタを使用して OLAP ユニバース階層のメンバーを選択し、次のことを行います。
●
ユニバース作成時にメンバーの名前付きセットを作成する。
●
階層または階層のメンバーに基づいたクエリを作成する。
●
クエリから除外するメンバーを定義する。
メンバーセレクタは次の枠で構成されます。
枠
説明
[メンバーセレクタ] 枠
メンバーセレクタ上部にあり、次の 3 つのタブがある枠です。
●
[メンバー] タブ: 階層内固有の関係に従って、メンバーを選択
または除外します。
●
[メタデータ] タブ: メタデータを基準に選択または除外します。
このタブには、階層レベル、名前付きセット、および計算メンバ
ー別にオブジェクトが表示されます。
●
[プロンプト] タブ: プロンプトを作成して、実行時にユーザがメ
ンバーまたはメタデータを選択できるようにします。
[概要] 枠
作成中のクエリで選択したメンバーとプロンプト、および除外された
メンバーが表示されます。[概要] 枠に表示される情報は、[クエリパ
ネル] の [結果オブジェクト] 枠にも表示されます。
7.3.1.1.2.1
階層について
階層とは、関連するオブジェクト (ディメンション) を順番に配列したものです。階層の例の 1 つに "地域" があります。これ
は、"国"、"地域"、"市町村" などの複数のディメンションがグループ化されています。選択した地域のすべての市、選択した国
のすべての市、選択した市の国と地域など、さまざまな視点で階層に関連付けられたデータを観測できます。
7.3.1.1.2.1.1
階層の関係でメンバーを選択する
メンバーセレクタのメンバー関係関数を使用して、階層内の関係や位置でメンバーを選択します。選択できる関係は、[メンバ
ーセレクタ] 枠でメンバーを選択すると使用可能になります。
注記
[子] と [子孫] および [親] と [祖先] は、相互に排他的なペアです。1 つのメンバーに、[子] と [子孫] を同時に選択するこ
とも、[親] と[祖先] を同時に選択することもできません。
1.
メンバーセレクタの [メンバー] タブで、メンバー名の左側の選択ボックスをクリックします。
2.
メンバーセレクタで選択するメンバーの名前をクリックします。
使用可能なオプションの一覧が表示されます。
3.
次の関係関数から、適切な関係関数を選択します。
100
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
オプション
説明
セルフ
選択されたメンバーだけを使用します。これは、デフォルト設定です。
子
階層のブランチで同じレベルのメンバーを選択します。
[子孫]
階層でアクティブなメンバーより下のメンバーを選択します。
兄弟
階層セットの異なるブランチにある、同一レベルのすべてのメンバーを選択します。
祖先
階層でアクティブなメンバーより上のすべてのメンバーを選択します。
親
あるメンバーのすぐ上のメンバーを選択します。
選択されたメンバーには先頭に機能ボタンが付き、[概要] ペインに表示されます。
7.3.1.1.2.1.2
レベルでメンバーを選択する
ある階層の異なるブランチにある、同一レベルのすべてのメンバーを選択できます。たとえば、"時刻" ディメンションですべて
の四半期を選択したり、"地域" ディメンションで複数の市を選択します。
1.
階層を [結果オブジェクト] 枠にドラッグします。
2.
メンバーセレクタを起動します。
[メンバーセレクタ] に階層メンバーがツリー表示されます。
3.
メンバーセレクタで [メタデータ] タブをクリックします。
[メンバーセレクタ] に使用可能なレベル、計算メンバー、および名前付きセットが表示されます。
4.
レベルを選択します。
5.
[OK] をクリックします。
クエリを実行すると、選択したレベルのメンバーがレポート作成時に動的に計算されます。
7.3.1.1.2.2
名前付きセットについて
名前付きセットとは、選択してメンバーの個別セットとして保存した、メンバーのグループのことです。通常、複数の名前付きセ
ットが 1 つの階層中に同時に存在することはありませんが、よく使用される複数のクエリやクエリの一部に対応しています。名
前付きセットは、エンドユーザがクエリを作成するときにクエリパネルで使用できます。
7.3.1.1.2.2.1
名前付きセットを選択する
[クエリパネル] の [結果オブジェクト] 枠に配置した階層オブジェクトには、1 つ以上の名前付きセットが含まれているものとし
ます。
1.
階層を [結果オブジェクト] 枠にドラッグします。
2.
メンバーセレクタを起動します。
3.
[メンバーセレクタ] で [レベル] タブをクリックします。
メンバーセレクタに使用可能なレベル、計算メンバー、および名前付きセットが表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
101
4.
名前付きセットを選択します。
5.
[OK] をクリックします。
7.3.1.1.2.3
計算メンバーについて
計算メンバーとは、データソースで作成する複雑な計算のことです。計算メンバーは、[メンバーセレクタ] の [メタデータ] タブ
で使用できます。
7.3.1.1.2.3.1
計算メンバーを選択する
事前に、[クエリパネル] の [結果オブジェクト] 枠に OLAP ユニバースの階層か階層メンバーをドラッグアンドドロップしておき
ます。選択した階層には、1 つ以上の計算メンバーが含まれているものとします。
1.
階層を [結果オブジェクト] 枠にドラッグします。
2.
メンバーセレクタを起動します。
3.
メンバーセレクタで [メタデータ] タブをクリックします。
[メンバーセレクタ] に使用可能なレベル、計算メンバー、および名前付きセットが表示されます。
4.
メンバーを選択します。
5.
[OK] をクリックします。
7.3.1.1.2.4
ユニバースのメンバーの選択について
[メンバーセレクタ]を使用して、階層の一部、または OLAP ユニバースの階層メンバーを選択します。次の操作が可能です。
●
メンバーのレベルや階層内での関係に従ってメンバーを選択する。
●
名前付きセットを選択する。
●
計算メンバーを選択する。
●
クエリから除外するメンバーを指定する。
●
クエリのメンバーや条件を選択するためのエンドユーザ向けのプロンプトを作成する。
クエリで使用されるメンバーを定義している場合は、クエリパネルを使用して、フィルタを追加したりそのクエリをプレビューした
りできます。
注記
メンバーが子ノードとともに選択された場合、そのメンバーのすべての子がクエリに含まれます。
102
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.3.1.1.2.4.1
メンバーを並び替える
デフォルトでは、選択されたメンバーは並び替えられておらず、データソースに保存されている順序で表示されます。一覧を文
字順に昇順または降順で並び替えることができます。これは、クエリに表示される順序です。
1.
メンバーの一覧をクリックします。
2.
[並べ替え順序] ボタンをクリックして、一覧から並べ替え順序を選択します。
並び替えはローカルで実行され、メンバーセレクタに表示されます。
注記
並び替えられた一覧はデータソース内の順序には対応しません。並び替えはローカルに実行されます。
7.3.1.1.2.4.2
選択からのメンバーまたはメンバーセットの除外
結果を制限するために、クエリからメンバーを除外できます。[除外] 機能を使用すると、クエリに出現させないメンバーまたは
メンバーセットを正しく定義できます。たとえば、地域のすべての州の売上げ高を返すクエリから、ある町を除外することができ
ます。
次の種類のメンバーを除外できます。
●
明示的なメンバー
●
メンバー関数から得られる暗黙的なメンバー
●
階層レベルから得られる暗黙的なメンバー
●
階層のデフォルトのメンバー
結果を確認するためには、レポートを作成する必要があります。
7.3.1.1.2.4.2.1
選択からメンバーまたはメンバーセットを除外する
1.
[メンバーセレクタ] を起動するには [結果オブジェクト] 枠で階層をクリックします。
2.
[メンバーセレクタ] で適切な機能を使用して、除外するメンバーを定義します。
定義されたメンバーが [概要] 枠に表示されます。
3.
除外するメンバーを選択します。
4.
[除外する] チェックボックスをクリックします。
除外されたメンバーの名前が [概要] 枠 (および [結果オブジェクト] 枠) に表示されます。名前に線が表示され、クエリか
ら除外されたことを示します。
7.3.1.1.2.4.3
プロンプトを選択に挿入する
選択しているメンバーが結果オブジェクトまたはフィルタオブジェクトとしてクエリで使用されると、プロンプトが表示されます。
ユーザにクエリのメンバーの選択を求めることができます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
103
1.
クエリパネルで、階層のメンバーをダブルクリックします。
メンバーセレクタが表示されます。
2.
[プロンプト]をクリックします。
3.
プロンプトを編集します。
4.
[OK] をクリックします。
7.3.1.2
並べ替えの定義
[クエリパネル] の [並べ替えダイアログ] ボタンを使用して、データソースからのデータの取得方法を定義できます。クエリパ
ネルで定義される並べ替えに応じて、クエリ実行時にデータソースから取得されるデータの順序およびデータ量が変わりま
す。
データをローカルで並べ替えるには、Crystal Reports の、クエリから取得したデータを並べ替える機能を使用します。クエリ
パネルの並べ替えオプションではデータソースから取得されたデータが並べ替えられるため、より効率よく並べ替えを定義す
るにはこのオプションを使用することをお勧めします。
7.3.1.3
クエリフィルタとプロンプトの定義
クエリにフィルタとプロンプトを追加して、レポートに表示されるデータを制限することができます。
注記
フィルタとメンバー選択により、異なる方法でデータを並べ替えることができます。メンバー選択は、データのメジャーの値
に作用しません。たとえば、ある国の 1 つの市またはすべての市を選択した場合、その国のメジャーの値は、メンバー選択
に影響されません。
データのフィルタ処理は、メジャーの値に作用します。たとえば、特定の都市のデータをフィルタすると、関連国の値は当該
都市の値まで減少します。
7.3.1.3.1
クエリフィルタの作成
クエリーでは、次の種類のフィルタを使用できます。
●
定義済みフィルタ
これらのフィルタは、管理者が作成します。
●
カスタム フィルタ
これらのフィルタは、クエリーの作成中に定義します。
●
104
プロンプト
プロンプトは動的なフィルタであり、質問や値の一覧を表示する場合に定義します。ユーザは、レポートを最新表示するた
びに、異なるフィルタの値を選択できます。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.3.1.3.1.1
クエリに定義済みフィルタを追加する
1.
レポートで使用するオブジェクトをダブルクリックするか、または結果オブジェクト枠にドラッグします。
2.
定義済みフィルタを [クエリフィルタ] 枠にドラッグします。
注記
定義済みフィルタは、管理者が作成、編集します。[クエリパネル] のユーザは、定義済みフィルタのコンポーネントを
表示することも、編集することもできません。
クエリを実行すると、選択したクエリフィルタに対応するデータはレポートに返されます。
7.3.1.3.1.2
カスタムフィルタを作成する
1.
フィルタを適用するオブジェクトを選択し、[クエリフィルタ] 枠にドラッグします。
2.
一覧から演算子を選択します。
3.
[定数]、[LOV](値の一覧)、または [プロンプト] を選択します。
4.
入力する値は、手順 3 で選択したオプションによって異なります。
オプション 説明
定数
○
テキストボックスに値を入力します。
LOV
1.
[プロンプト] ダイアログボックスで、追加するメンバーをダブルクリックして一覧に追加するか、[メンバー] 枠でメン
バーを選択して中央の矢印をクリックします。
プロンプト
2.
[OK] をクリックします。
1.
[プロンプトの編集] ダイアログボックスで、[プロンプトの新規作成] を選択して新しいプロンプトを追加するか、[ユ
ニバースパラメータを使用する] を選択してユニバースからパラメータを選択します。
2.
[プロンプトの新規作成] を選択した場合は、プロンプトオプションを入力します。[ユニバースパラメータを使用する]
を選択した場合は、パラメータを選択します。
3.
[OK] をクリックします。
フィルタがレポートに追加されます。[クエリパネル] で、フィルタを編集または削除できます。
関連情報
クエリフィルタ演算子のクイックリファレンス [107 ページ]
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
105
7.3.1.3.2
プロンプトの作成
プロンプトとは、レポートのデータを最新表示するたびに取得するデータを問い合わせる動的なフィルタです。データを最新表
示する前に、表示するデータのプロンプト値を入力または選択することで、プロンプトに回答します。Crystal Reports は、ユ
ーザが指定した値のみをデータソースから取得し、それらの値をレポートに返します。
ヒント
プロンプトを使用すると、複数のユーザが単一のレポートを表示できるだけでなく、データソース情報の異なるサブセットを
指定できます。プロンプトには、データソースからのデータ取得に要する時間を短縮できるという利点もあります。
7.3.1.3.2.1
1.
プロンプトを作成する
プロンプトを適用するオブジェクトを選択し、[クエリフィルタ] ペインにドラッグします。
たとえば、ユーザがレポートに地域を指定できるようにするには、[地域] オブジェクトを [クエリフィルタ] ペインにドラッグ
します。
2.
一覧から演算子を選択します。
注記
[= NULL] または [≠ NULL] は、プロンプトの演算子として使用できません。
3.
[プロンプト] を選択します。
4.
[プロンプトの編集] ダイアログボックスで、[プロンプトの新規作成] を選択します。
5.
[プロンプトテキスト] ボックスにプロンプトメッセージを入力します。
たとえば、"“どの地域のデータを表示しますか”" という質問を入力します。
6.
プロンプトで値の一覧を表示してユーザがそこから値を選択できるようにする場合は、[一覧から選択] を選択します。
7.
[OK]をクリックしてプロンプトを確定します。
レポートを最新表示するたびに、プロンプトが表示されます。
関連情報
クエリフィルタ演算子のクイックリファレンス [107 ページ]
7.3.1.3.2.2
クエリフィルタとプロンプトの組み合わせ
同じクエリに複数のフィルタとプロンプトを適用することができます。
106
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.3.1.3.2.2.1
クエリフィルタ演算子のクイックリファレンス
クエリフィルタの定義に必要な演算子を選択する場合は、次の表を参照すると便利です。
取得する値
例
選択
作成されるフィルタ
指定した値と等しい値
US のデータのみ取得する。
等しい(=)
<国> 等しい (=) US
指定した値とは異なる値
第 4 四半期を除くすべての
等しくない
<四半期> 等しくない (≠) Q4
四半期のデータを取得する。
指定した値より大きい値
61 歳以上の顧客のデータを
より大きい (>)
指定した値以上の値
売上げが 150 万ドル以上の
<顧客の年令> より大きい
(>) 60
取得する。
以上 (≧)
<売上げ> 以上 1500000
より小さい (<)
<試験結果> より小さい (<)
40
以下 (≦)
<年令> 以下 (≦) 30
範囲内
<週> 範囲内 25 から 36
範囲外
<週> 範囲外 25 から 36
データを取得する。
指定した値より小さい値
試験結果が 40 点より低い
データを取得する。
指定した値以下の値
30 歳以下の顧客を取得す
る。
指定した 2 つの値の範囲内
にある値(2 つの値を含む)
第 25 週から第 36 週までの
週(第 25 週と第 36 週を含
む)を取得する。
指定した 2 つの値の範囲外
1 年の中で、第 25 週から第
の値
36 週までを除くすべての週
を取得する。第 25 週と第 36
週は取得しない。
指定した複数の値に一致す
る値
US、Japan、および UK のデ リスト内
ータのみ取得する。
指定した複数の値とは異なる US、Japan、および UK のデ リスト外
値
ータは取得しない。
指定した文字列を含む値
1972 年生まれの顧客を取得 パターンと一致
<国> リスト内
'US,Japan,UK'
<国> リスト外
'US,Japan,UK'
<DOB> パターンと一致 '72'
する。
指定した文字列を含まない
値
1972 年生まれではない顧客 パターンと異なる
を取得する。
<DOB> パターンと異なる
'72'
注記
ワイルドカード記号 % を使用して、パターン演算子内で変数文字を表すことができます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
107
7.3.1.3.2.2.2
And または Or を使ったクエリフィルタの結合
次の表に、And 演算子と Or 演算子の違いを説明します。
取得するデータ
例
選択
両方のフィルタに該当するデータ
第 1 四半期および第 2 四半期に注文し AND
た顧客。取得されるデータには、第 1 四
半期と第 2 四半期の両方の期間に注
文した顧客が含まれる。
どちらか一方のフィルタに該当するデー 第 1 四半期または第 2 四半期に注文し または
タ
た顧客。取得されるデータには、第 1 四
半期にのみ注文した顧客、第 2 四半期
にのみ注文した顧客、および第 1 四半
期と第 2 四半期の両方の期間に注文し
た顧客が含まれる。
注記
一部の OLAP データソースは、Or 演算子をサポートしていません。
7.3.1.3.2.2.3
1.
フィルタとプロンプトを組み合わせる
各クエリフィルタとプロンプトを作成します。
[クエリパネル] では、デフォルトでフィルタとプロンプトが [And] 演算子で結合されます。[And] 演算子をそのまま使用す
ることも、[Or] 演算子に変更することもできます。
2.
必要な場合は、[And] 演算子をダブルクリックして演算子を [Or] に変更します。
注記
一部の OLAP データソースは、Or 演算子をサポートしていません。
[OK] をクリックするか、またはレポートデータを最新表示すると、プロンプトが表示されます。
108
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.3.1.3.3
非互換クエリ
非互換クエリには、クエリ内で組み合わされた 2 つの異なるコンテキストから取得したオブジェクトが含まれます。Crystal
Reports for Enterprise では、非互換クエリはサポートされていません。クエリが非互換クエリの場合、レポートを実行する前
にクエリパネルでクエリを再作成して、非互換性の問題を回避してください。
7.3.1.3.4
クエリコンテキストの選択
リレーショナルデータソースには、選択したコンテキストに応じて異なる方法で表示されるデータを含めることができます。デー
タは、選択したコンテキストに基づいてデータソースから取得されます。
クエリに複数コンテキストのオプションが含まれている場合、Crystal Reports では、レポートを実行するためにそのクエリに
対して特定のコンテキストを決定する必要があります。
クエリコンテキストは、[クエリのプロパティ] ダイアログボックスから変更できます。
7.3.1.3.5
1.
単純なクエリを作成する
[ユニバース] 枠でオブジェクトを選択してダブルクリックするか、[結果オブジェクト] 枠までドラッグします。
[結果オブジェクト] 枠に配置されたオブジェクトは、レポートの基礎となるオブジェクトになります。
2.
クエリに含めるオブジェクトごとに手順 1 を繰り返します。
3.
(オプション) クエリにフィルタを適用するには、[ユニバース] ペインまたは [結果オブジェクト] ペインのオブジェクトを選択
し、[クエリフィルタ] ペインにドラッグします。
クエリが返すデータを制限するには、[クエリフィルタ] ペインのオブジェクトにフィルタを追加します。フィルタ処理によっ
て、表示されるデータが制限され、クエリの実行時間が短縮されます。
4.
[完了] をクリックします。
レポートが生成されます。[結果オブジェクト] ペインおよび [クエリフィルタ] ペインのオブジェクトからのデータは、レポート
向けに書式が自動設定されます。書式設定時間は、レポートのサイズによって異なります。
7.3.1.3.6
複合クエリを作成する
複合クエリを作成するには、複合演算子の使用を有効にして、リレーショナルユニバースに接続している必要があります。
1.
単純なクエリを作成してから、[複合クエリ枠の表示/非表示] をクリックします。
複合クエリ枠がユニバース枠の下に表示されます。
2.
[複合クエリの追加] をクリックします。
新しいクエリが枠に追加され、2 つのクエリが Union 結合によって結合されます。 結合の種類を変更するには、[結合]
ボタンをダブルクリックして、以下のオプションのいずれかを選択します。
○
Union
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
109
3.
○
Minus
○
Intersect
○
Union All
追加するクエリごとに手順 2 を繰り返します。
複合クエリ枠内のボタンをクリックして、複数のクエリ定義の間で切り替えられます。
7.3.1.4
クエリパネルの機能
クエリパネルは、次の要素で構成されています。
表 1: クエリパネルの要素
クエリパネルの要素
説明
[ユニバース] パネル
この枠には、使用可能なクラスとオブジェクトがツリー構造で
表示されます。ノード (+) をクリックするとブランチまたは階
層が展開され、ノードを再度クリックするとその階層が閉じる
か折りたたまれます。表示モード (各オブジェクトのキャプシ
ョン、一意の名前、またはその両方) を選択します。このパネ
ルでオブジェクトを検索するには、[フィルタ] をクリックして検
索文字列を入力します。クエリを作成するには、オブジェクト
をこのパネルから [結果オブジェクト] パネルまたは [クエリフ
ィルタ] パネルにドラッグします。
[クエリの結合] パネル
このパネルは、クエリを結合しているときにのみ表示されま
す。[複合クエリパネル (表示/非表示)] をクリックすると、結
合しているクエリの構造がこのパネルに表示されます。クエ
リアイコンを移動させて、クエリの結合方法を再構築できま
す。クエリアイコンをクリックすると、[結果オブジェクト] パネ
ルと [クエリフィルタ] パネルにクエリのプロパティが表示され
ます。
[結果オブジェクト] パネル
[ユニバース] パネルから、クエリに含めるオブジェクトを選択
して、このパネルにドラッグします。これらのオブジェクトは結
果レポートの列ヘッダとして返されます。階層オブジェクトを
ここに配置する場合は、メンバーセレクタツールを使用して表
示し、クエリに含める階層のメンバーを選択します。クエリか
ら除外するメンバーを選択することもできます。
[クエリフィルタ] パネル
[フィルタパネル (表示/非表示)] をクリックすると、オブジェ
クトをこのパネルにドラッグしてクエリを制限することで、結果
データを制限できます。たとえば、特定の値や値の範囲を返
すように結果を制限できます。
[データプレビュー] パネル
[データプレビューパネル (表示/非表示)] をクリックすると、
このパネルを使用してクエリの結果をテストすることができま
す。表示される結果をプレビューしたり、クエリを変更してそ
の結果をプレビューすることができます。
クエリパネルを使用すると、次のタイプのクエリを作成できます。
110
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
●
OLAP ユニバースの階層クエリ
●
リレーショナルユニバースの非階層クエリ
●
SAP BusinessObjects Enterprise XI 3.X ユニバースの非階層クエリ
クエリパネルには次のボタンもあります。
●
[クエリの結合] ショートカットボタン: リレーショナルユニバース用にクエリを結合する
●
クエリのプロパティ: クエリのプロパティを表示および編集する
●
スクリプトの表示: クエリの構造を表示する
7.3.1.4.1
クエリのプロパティについて
クエリには次のプロパティを設定できます。
プロパティ
説明
重複する行を無視しない
このオプションを選択すると、クエリは重複する行があっても関連す
る行をすべて返します。重複する行を結果セットから除外する場合
は、このオプションを選択解除します。
空ではない行の取得
通常空白行が発生するのは、複数ディメンションのクエリで 2 つ以
(OLAP ユニバースでのみサポート)
上のディメンションのインターセクションにデータが存在しない場合
です。
このオプションを選択すると、結果セットはデータを含む行だけで構
成されます。
このオプションを選択しないと、結果セットにはデータを含まない行
も含まれます。
最大受信時間
クエリを停止するまでの最大実行時間をミリ秒単位で定義します。
デフォルトでは、この値はユニバースの [実行時間制限] パラメータ
と同じです。
この値を 0 に設定すると、このオプションは無効になります。
[実行時間制限] パラメータがこの設定値より小さい場合、[実行時
間制限] の値がクエリの実行時間を制限するのに使用されます。
最大受信行数
クエリの実行時に表示されるデータの最大行数を定義します。クエ
リは該当する行をすべて受信しますが、はじめの n 行だけが表示さ
れます。n は、このパラメータで設定する最大行数です。
システム管理者は、ユーザセキュリティプロファイル設定でこの設定
を上書きできます。
サンプルの結果セット
データソースでサポートされている場合、このパラメータは n データ
ソース行をサンプリングします。n は、[サンプルの結果セット] の設
定値です。この方法は、[最大受信行数] パラメータよりも高速に処
理できます。
最新表示時にコンテキストをリセット
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
このオプションを選択すると、コンテキストを含むクエリを最新表示
するときに、そのコンテキストを選択する必要があります。[コンテキ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
111
プロパティ
説明
ストの削除] をクリックすると、直前に選択したコンテキストを削除で
きます。
このオプションを選択しないと、クエリは元のコンテキストを使用して
最新表示されます。最後にクエリを実行した後でコンテキストを編集
した場合は、そのクエリは新しいクエリと認識されるので、コンテキ
ストを再度選択する必要があります。
ほかのユーザによるクエリ編集を許可
(Interactive Analysis のみ)
プロンプトの順序
7.3.1.4.2
このオプションを選択すると、他のユーザもクエリビューにアクセス
し、ドキュメント内のクエリを変更できるようになります。このオプショ
ンを選択しないと、ドキュメントを変更できるのはレポートの作成者
だけになります。このオプションは、ドキュメント内のすべてのクエリ
に適用されます。
クエリに複数のプロンプトがある場合、この機能を使用してそれらの
プロンプトがクエリの中で実行される順序を設定します。プロンプト
をクリックし、上向きまたは下向きの矢印を使用して、プロンプトの
位置を変更します。
スクリプトの表示
[スクリプトの表示] ボタンをクリックして、クエリ仕様を表示します。クエリ仕様は、クエリのデザインが表示される XML 形式で
表示できます。
7.3.1.4.3
クエリ仕様のコピーについて
[クエリ仕様をクリップボードにコピー] ボタンを使用すると、[結果オブジェクト] パネルの現在のクエリ仕様をクリップボードに
コピーできます。クリップボードの内容は、[QuerySpec XML] ダイアログボックスに XML 形式で表示できます。
7.3.1.4.4
クエリ仕様の貼り付けについて
[クエリ仕様をクリップボードから貼り付け] ボタンを使用すると、コピーしたクエリ仕様をクリップボードから [結果オブジェクト]
パネルに貼り付けることができます。クエリ仕様は、[クエリパネル] でオブジェクトを定義せずに実行できます。
7.3.1.4.5
既存のクエリの編集
[クエリパネル]に戻って既存のクエリを編集できます。クエリの編集では、オブジェクトの追加や削除、フィルタの追加、編集、
削除などが可能です。
112
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.3.1.4.5.1
既存のクエリを編集する
クエリを編集するには、最初に BI プラットフォームサーバにログオンする必要があります。
1.
レポートのクエリを編集するには、
データ
クエリの編集
をクリックします。
[クエリパネル]が表示されます。
2.
[クエリパネル] で、必要に応じてクエリを編集します。
3.
クエリの編集が完了したら、[完了] をクリックします。
クエリに加えた変更がレポートに反映されます。
注記
レポートで使用したクエリからオブジェクトを削除する場合は、それらのオブジェクトはレポートから自動的に削除されます。
7.3.1.5
デフォルトのレイアウトを使用したレポートの自動生成
クエリパネルの [レポートの生成] チェックボックスを選択すると、[結果オブジェクト] パネルに配置された結果オブジェクトを
使用してレポートが自動的に生成されます。
注記
[レポートの生成] 機能の動作は、リレーショナルデータソースに接続しているか OLAP データソースに接続しているかによ
って異なります。
7.3.1.5.1
リレーショナルデータソース
リレーショナルデータソースに接続している場合、[レポートの生成] チェックボックスを選択すると、[結果オブジェクト] パネル
に配置されたすべてのレポートオブジェクトを含むレポートが自動的に生成されます。
このオブジェクトは、[結果オブジェクト] パネルに配置されている順序と同じ順序で、レポートキャンバスの [ボディ] セクション
に表示されます。
7.3.1.5.2
OLAP データソース
OLAP データソースに接続している場合、[レポートの生成] チェックボックスを選択すると、階層を選択していなければ [結果
オブジェクト] パネルに配置されたすべてのレポートオブジェクトを含むレポートのみが自動的に生成されます。
階層を選択している場合、階層およびその階層に含まれるメンバーは、レポートのキャンバスの [ボディ] セクションに自動的
には追加されません。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
113
7.3.2
SAP BEx クエリの作成
SAP BEx クエリには、レポートを実行できる作成済み結果オブジェクトが含まれています。
7.3.2.1
アクティブな階層
SAP BEx クエリは多くの場合階層化され、複数の階層を選択できるようになっています。レポート作成者は、レポートを実行
する階層を選択する必要があります。この階層は、アクティブな階層と呼ばれます。
アクティブな階層とは現在使用されている階層のことです。この階層は、データソースとは異なる階層を表しますが、名前は同
じです。レポートが最新表示されるときに階層変数が変更される場合、レポートでは、アクティブな階層で表される基になる階
層が変わります。
たとえば、SAP BEx クエリに <country_hierarchy_01> と <country_hierarchy_02> という 2 つの階層がある場
合、クエリパネルには <country> という名前の 1 つの階層が表示されます。この <country> 階層はアクティブな階層を表
します。レポート内でこの階層を使用しても、名前は変わりません。BEx クエリで、この階層がレポートの実行に必須である場
合、レポートが最新表示されるときには Crystal Reports から階層変数を選択するように求められます。
<country_hierarchy_01> を選択するか <country_hierarchy_02> を選択するかによって、<country> 階層で
表される基になる階層が変わります。ただし、<country> 階層の名前は変わりません。
<country_hierarchy_01> や <country_hierarchy_02> などの特定の階層ではなく、<country> などのアクティ
ブな階層を使用することをお勧めします。
7.3.2.2
SAP BEx クエリ用のデータ選択の定義
クエリは、クエリパネルで SAP BEx クエリのオブジェクトを使用して作成します。SAP BEx クエリのオブジェクトは、データソー
ス内の使用可能な情報を視覚的に表示します。
[クエリパネル] は複数のペインに分かれています。
●
ユニバース枠にはユニバースに含まれているオブジェクトがツリービュー形式で表示されます。[クエリパネル]では、ユニ
バースに新しいオブジェクトを追加したり、ユニバース内の既存オブジェクトを編集することはできません。
注記
[すべて展開] をクリックすると、すべての使用できるオブジェクトをこの枠で確認できます。オブジェクト同士の相互関
係を確認する場合は、[すべて折りたたむ] をクリックします。ユニバースの中にオブジェクトの階層構造が含まれる場
合は、このオプションを使用して、その構造を視覚的に表現できます。
●
結果オブジェクト枠には、クエリに含めるオブジェクトを配置します。
●
[クエリフィルタ] 枠には、ユニバースから返されたデータをフィルタするときに使用するオブジェクトを配置します。事前定
義済みのフィルタをユニバースから追加することや、オブジェクトを追加してリストボックスでフィルタを定義してカスタムフ
ィルタを作成することができます。
114
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.3.2.2.1
SAP BEx クエリメンバーの選択
メンバーセレクタを使用して SAP BEx クエリ階層のメンバーを選択し、次のことを行います。
●
SAP BEx クエリ作成時にメンバーの名前付きセットを作成する
●
階層、階層のメンバー、または階層のレベルに基づいてクエリを作成する
●
クエリから除外するメンバーを定義する
階層ノード変数に関連付けられていない SAP BEx 階層の場合、[メンバーセレクタ] には以下の枠が含まれます。
枠
説明
[メンバーセレクタ] 枠
[メンバー] タブ: 階層内固有の関係に従って、メンバーを選択また
は除外します。
[レベル] タブ: レベルに従って、メンバーを選択または除外します。
[プロンプト] タブ: メンバーに関連付けるプロンプトを設定します。
[概要] 枠
作成中のクエリで選択したメンバーとプロンプト、および除外された
メンバーが表示されます。[概要] 枠に表示される情報は、[クエリパ
ネル] の [結果オブジェクト] 枠にも表示されます。
階層ノード変数に関連付けられている SAP BEx 階層の場合、[メンバーセレクタ] には以下の枠が含まれます。
枠
説明
[メンバーセレクタ] 枠
[相対的な奥行き] タブ: 階層ノードの下でノードの子孫を返すレベ
ル数を指定します。相対的な奥行きを指定しない場合、BEx クエリ
デザイナで事前定義されているデフォルトの相対的な奥行きが適
用されます。
[概要] 枠
作成するクエリの階層メンバー選択基準を表示します。この情報
は、[クエリの編集] パネルの [結果オブジェクト] 枠の階層オブジェ
クトアイコンにも表示されます。
注記
ユニバースと SAP BEx クエリのメンバー選択は、メンバーを限定する場合に動作が異なります。ユニバースのメンバー選
択では、メンバー選択の制限はありません。一方、SAP BEx クエリでは、親ノードとその子ノードを 1 つ選択すると、すべて
の子ノードがクエリで選択されます。
7.3.2.2.1.1
階層について
階層とは、関連するオブジェクト (ディメンション) を順番に配列したものです。階層の例の 1 つに "地域" があります。これ
は、"国"、"地域"、"市町村" などの複数のディメンションがグループ化されています。選択した地域のすべての市、選択した国
のすべての市、選択した市の国と地域など、さまざまな視点で階層に関連付けられたデータを観測できます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
115
7.3.2.2.1.1.1
階層の関係でメンバーを選択する
メンバーセレクタのメンバー関係関数を使用して、階層内の関係や位置でメンバーを選択します。選択できる関係は、[メンバ
ーセレクタ] 枠でメンバーを選択すると使用可能になります。
1.
メンバーセレクタの [メンバー] タブで、メンバー名の左側の選択ボックスをクリックします。
2.
メンバーセレクタで選択するメンバーの名前をクリックします。
使用可能なオプションの一覧が表示されます。
3.
次の関係関数から、適切な関係関数を選択します。
オプション
説明
セルフ
選択されたメンバーだけを使用します。これは、デフォルト設定です。
子
階層のブランチで同じレベルのメンバーを選択します。
[子孫]
階層でアクティブなメンバーより下のメンバーを選択します。
選択内容は、[概要] 枠に表示されます。
7.3.2.2.1.1.2
階層のレベルによってメンバーを選択する
階層のさまざまなブランチにおける特定レベル以上のすべてのメンバーを選択することができます。たとえば、時系列ディメン
ションのすべての四半期や地理ディメンションのすべての市などを選択できます。
1.
[結果オブジェクト] 枠で、階層オブジェクトをクリックして [メンバーセレクタ] を起動します。
2.
[メンバーセレクタ] で、[レベル] タブをクリックして、[レベルの有効化] チェックボックスを選択します。
[レベル] ツリービューが有効になります。
3.
[レベル] ツリービューから、クエリに含める階層メンバーのレベルを選択します。
レベルを選択すると、そのレベル以上のすべてのレベルが自動的に選択されます。
指定した階層メンバー選択基準が [概要] 枠に表示されます。例: レベル 3 - レベル 03 までのすべてのメンバー。
4.
[OK] をクリックします。
メンバー選択基準は、[クエリの編集] パネルの [結果オブジェクト] 枠内の階層オブジェクトアイコンにも表示されます。
7.3.2.2.1.1.3
階層ノード変数に関連付けられている階層の相対的奥
行きによってメンバーを選択する
階層ノード変数に関連付けられている階層の場合、相対的な奥行き、つまり階層ノードの下のレベル数によってメンバーを選
択することができます。たとえば、レベル 3 の階層ノードに対して相対的な奥行き 2 を指定する場合は、レベル 3 の階層ノー
ドとそのレベル 4 と 5 の子孫が選択されます。
1.
[結果オブジェクト] 枠で、階層オブジェクトをクリックして [メンバーセレクタ] を起動します。
2.
[メンバーセレクタ] の [相対的な奥行き] 枠で、[相対的な奥行きに基づく階層メンバー] をクリックして、レベル数を指定し
ます。
116
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
[レベル数] フィールドの有効な値の範囲は、0 ~ 99 です。ノードの相対的奥行きの最大値を超える値を指定した場合
は、最大の奥行きが返されます。
階層に複数の階層ノード変数が関連付けられている場合、選択されるメンバーは各階層ノード変数で選択したメンバー
の組み合わせになります。
指定した階層メンバー選択基準が [概要] 枠に表示されます。例: 相対的な奥行きが 2 のすべてのメンバー。
注記
[すべての階層ノードの子孫] のデフォルトオプションを選択する場合は、BEx クエリデザイナで事前定義された相対的
奥行きが適用され、[概要] 枠に情報は表示されません。
3.
[OK] をクリックします。
階層メンバー選択基準は、[クエリの編集] パネルの [結果オブジェクト] 枠の階層オブジェクトアイコンに表示されます。
7.3.2.2.1.2
メンバー検索について
メンバーの階層を検索してメンバーを選択できます。メンバーを検索するには、[メンバーセレクタ] の [検索] アイコンをクリッ
クすると表示される [メンバー検索] ダイアログボックスを使用します。
リンクされたノードまたは重複ノードが階層に含まれている場合、[メンバー検索] ダイアログボックスではなく [メンバーセレク
タ] を使用して階層からメンバーを選択することをお勧めします。検索機能では、リンクされたメンバーまたは重複メンバーの
すべてのインスタンスを返します。階層内のメンバーの親または位置は示されません。
7.3.2.2.1.3
名前付きセットについて
名前付きセットとは、選択してメンバーの個別セットとして保存した、メンバーのグループのことです。通常、複数の名前付きセ
ットが 1 つの階層中に同時に存在することはありませんが、よく使用される複数のクエリやクエリの一部に対応しています。名
前付きセットは、エンドユーザがクエリを作成するときにクエリパネルで使用できます。
7.3.2.2.1.3.1
名前付きセットを選択する
[クエリパネル] の [結果オブジェクト] 枠に配置した階層オブジェクトには、1 つ以上の名前付きセットが含まれているものとし
ます。
1.
階層を [結果オブジェクト] 枠にドラッグします。
2.
メンバーセレクタを起動します。
3.
[メンバーセレクタ] で [レベル] タブをクリックします。
メンバーセレクタに使用可能なレベル、計算メンバー、および名前付きセットが表示されます。
4.
名前付きセットを選択します。
5.
[OK] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
117
7.3.2.2.2
オブジェクトのクイックリファレンス
オブジェクトとは、データソース内のデータ、またはその派生データをマップした名前の付いたコンポーネントです。たとえば、
結果フォルダ内の列を表すこともあれば、列内の値の合計を表すこともあります。
レポートでは、クエリの構築およびデータ取得のためにオブジェクトを使います。たとえば、人事ユニバースのオブジェクトに
は、名前、住所、給与などがあります。
オブジェクトはさまざまな種類の情報に対応しています。
注記
オブジェクトのプロパティは SAP BusinessObjects Designer で定義されますが、Crystal Reports のクエリパネルには
反映されません。
注記
クエリパネルでオブジェクトを直接定義することはできません。ユニバースのオブジェクトを定義するには、SAP
BusinessObjects Designer を使用します。
オブジェクト
例
分析デイメンション
説明
このオブジェクトは、類似した一連の特
性を示す 1 つまたは複数のディメンショ
ンテーブルに含まれる列の論理グルー
プです。
時系列ディメンション
このオブジェクトは、レポートで行う分析
の時系列のベースとなるデータを取得
します。時系列ディメンションオブジェク
トは、主に日付型データを返します。
属性
このオブジェクトは、ディメンションに関
する詳細情報を提供します。詳細は常
にディメンションに従属し、ディメンション
に関連付けられた詳細情報を提供しま
す。たとえば、"住所"、"生年月日"、"通
勤距離" は、"顧客" ディメンションに関
連付けられている詳細オブジェクトで
す。
メジャー
このオブジェクトは、データソース内の
データで行われた計算の結果を示す数
値データを取得します。メジャーオブジ
ェクトは通常メジャークラスに属します。
デフォルトの階層
このオブジェクトは、ディメンションデー
タの、指定されたデフォルトの並べ替え
順序を提供します。
118
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
オブジェクト
例
説明
レベルベースの階層
このオブジェクトは、指定されたレベル
に基づき、ディメンションデータの並べ
替え順序を提供します。
自己参照の値ベースの階層
このオブジェクトは、値に基づき、ディメ
ンションデータのデフォルトの並べ替え
順序を提供します。
名前セット
このオブジェクトは、メンバーの個別セッ
トとして選択して保存した、メンバーのグ
ループです。通常、複数の名前付きセッ
トが 1 つの階層中に同時に存在するこ
とはありませんが、よく使用される複数
のクエリやクエリの一部に対応していま
す。
フィルタ
このオブジェクトにより、指定されたクエ
リ条件に基づいて、オブジェクトのサブ
セットを選択できます。
ディメンション
このオブジェクトは、クエリによる分析の
軸を表します。クエリによる分析のキー
要素として使用される 1 つ以上の列ま
たは計算にマップできます。データファ
ンデーションに基づくディメンションと
OLAP キューブに基づくディメンション
は、次のように異なります。
●
OLAP キューブに基づくディメンショ
ンには、レベル別に構成された階
層が含まれます。各レベルには属
性を含めることができます。
●
データファンデーションに基づくディ
メンションには属性が含まれます。
階層は、関連テーブル全体がフラ
ットな階層として構成されます。
レベル
このオブジェクトは、返されるすべての
値の階層の深度が同じである親の階層
オブジェクトから、データのサブセットを
取得します。
フォルダ
このオブジェクトは、関連オブジェクトの
グループを保持するコンテナです。これ
は、Universe Designer のクラスに相
当します。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
119
7.3.2.3
並べ替えの定義
[クエリパネル] の [並べ替えダイアログ] ボタンを使用して、データソースからのデータの取得方法を定義できます。クエリパ
ネルで定義される並べ替えに応じて、クエリ実行時にデータソースから取得されるデータの順序およびデータ量が変わりま
す。
データをローカルで並べ替えるには、Crystal Reports の、クエリから取得したデータを並べ替える機能を使用します。クエリ
パネルの並べ替えオプションではデータソースから取得されたデータが並べ替えられるため、より効率よく並べ替えを定義す
るにはこのオプションを使用することをお勧めします。
7.3.2.4
クエリフィルタとプロンプトの定義
クエリにフィルタとプロンプトを追加して、レポートに表示されるデータを制限することができます。
注記
フィルタとメンバー選択により、異なる方法でデータを並べ替えることができます。メンバー選択は、データのメジャーの値
に作用しません。たとえば、ある国の 1 つの市またはすべての市を選択した場合、その国のメジャーの値は、メンバー選択
に影響されません。
データのフィルタ処理は、メジャーの値に作用します。たとえば、特定の都市のデータをフィルタすると、関連国の値は当該
都市の値まで減少します。
7.3.2.4.1
クエリフィルタの作成
クエリーでは、次の種類のフィルタを使用できます。
●
定義済みフィルタ
これらのフィルタは、管理者が作成します。
●
カスタム フィルタ
これらのフィルタは、クエリーの作成中に定義します。
●
プロンプト
プロンプトは動的なフィルタであり、質問や値の一覧を表示する場合に定義します。ユーザは、レポートを最新表示するた
びに、異なるフィルタの値を選択できます。
7.3.2.4.1.1
クエリに定義済みフィルタを追加する
1.
レポートで使用するオブジェクトをダブルクリックするか、または結果オブジェクト枠にドラッグします。
2.
定義済みフィルタを [クエリフィルタ] 枠にドラッグします。
120
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
注記
定義済みフィルタは、管理者が作成、編集します。[クエリパネル] のユーザは、定義済みフィルタのコンポーネントを
表示することも、編集することもできません。
クエリを実行すると、選択したクエリフィルタに対応するデータはレポートに返されます。
7.3.2.4.1.2
カスタムフィルタを作成する
1.
フィルタを適用するオブジェクトを選択し、[クエリフィルタ] 枠にドラッグします。
2.
一覧から演算子を選択します。
3.
[定数]、[LOV](値の一覧)、または [プロンプト] を選択します。
4.
入力する値は、手順 3 で選択したオプションによって異なります。
オプション 説明
定数
○
テキストボックスに値を入力します。
LOV
1.
[プロンプト] ダイアログボックスで、追加するメンバーをダブルクリックして一覧に追加するか、[メンバー] 枠でメン
バーを選択して中央の矢印をクリックします。
プロンプト
2.
[OK] をクリックします。
1.
[プロンプトの編集] ダイアログボックスで、[プロンプトの新規作成] を選択して新しいプロンプトを追加するか、[ユ
ニバースパラメータを使用する] を選択してユニバースからパラメータを選択します。
2.
[プロンプトの新規作成] を選択した場合は、プロンプトオプションを入力します。[ユニバースパラメータを使用する]
を選択した場合は、パラメータを選択します。
3.
[OK] をクリックします。
フィルタがレポートに追加されます。[クエリパネル] で、フィルタを編集または削除できます。
関連情報
クエリフィルタ演算子のクイックリファレンス [107 ページ]
7.3.2.4.2
プロンプトの作成
プロンプトとは、レポートのデータを最新表示するたびに取得するデータを問い合わせる動的なフィルタです。データを最新表
示する前に、表示するデータのプロンプト値を入力または選択することで、プロンプトに回答します。Crystal Reports は、ユ
ーザが指定した値のみをデータソースから取得し、それらの値をレポートに返します。
ヒント
プロンプトを使用すると、複数のユーザが単一のレポートを表示できるだけでなく、データソース情報の異なるサブセットを
指定できます。プロンプトには、データソースからのデータ取得に要する時間を短縮できるという利点もあります。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
121
7.3.2.4.2.1
1.
プロンプトを作成する
プロンプトを適用するオブジェクトを選択し、[クエリフィルタ] ペインにドラッグします。
たとえば、ユーザがレポートに地域を指定できるようにするには、[地域] オブジェクトを [クエリフィルタ] ペインにドラッグ
します。
2.
一覧から演算子を選択します。
注記
[= NULL] または [≠ NULL] は、プロンプトの演算子として使用できません。
3.
[プロンプト] を選択します。
4.
[プロンプトの編集] ダイアログボックスで、[プロンプトの新規作成] を選択します。
5.
[プロンプトテキスト] ボックスにプロンプトメッセージを入力します。
たとえば、"“どの地域のデータを表示しますか”" という質問を入力します。
6.
プロンプトで値の一覧を表示してユーザがそこから値を選択できるようにする場合は、[一覧から選択] を選択します。
7.
[OK]をクリックしてプロンプトを確定します。
レポートを最新表示するたびに、プロンプトが表示されます。
関連情報
クエリフィルタ演算子のクイックリファレンス [107 ページ]
7.3.2.4.2.2
クエリフィルタとプロンプトの組み合わせ
同じクエリに複数のフィルタとプロンプトを適用することができます。
7.3.2.4.2.2.1
クエリフィルタ演算子のクイックリファレンス
クエリフィルタの定義に必要な演算子を選択する場合は、次の表を参照すると便利です。
取得する値
例
選択
作成されるフィルタ
指定した値と等しい値
US のデータのみ取得する。
等しい(=)
<国> 等しい (=) US
指定した値とは異なる値
第 4 四半期を除くすべての
等しくない
<四半期> 等しくない (≠) Q4
四半期のデータを取得する。
122
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
取得する値
例
選択
作成されるフィルタ
指定した値より大きい値
61 歳以上の顧客のデータを
より大きい (>)
<顧客の年令> より大きい
(>) 60
取得する。
指定した値以上の値
売上げが 150 万ドル以上の
以上 (≧)
<売上げ> 以上 1500000
より小さい (<)
<試験結果> より小さい (<)
40
以下 (≦)
<年令> 以下 (≦) 30
範囲内
<週> 範囲内 25 から 36
範囲外
<週> 範囲外 25 から 36
データを取得する。
指定した値より小さい値
試験結果が 40 点より低い
データを取得する。
指定した値以下の値
30 歳以下の顧客を取得す
る。
指定した 2 つの値の範囲内
第 25 週から第 36 週までの
にある値(2 つの値を含む)
週(第 25 週と第 36 週を含
む)を取得する。
指定した 2 つの値の範囲外
1 年の中で、第 25 週から第
の値
36 週までを除くすべての週
を取得する。第 25 週と第 36
週は取得しない。
指定した複数の値に一致す
る値
US、Japan、および UK のデ リスト内
ータのみ取得する。
指定した複数の値とは異なる US、Japan、および UK のデ リスト外
値
ータは取得しない。
指定した文字列を含む値
1972 年生まれの顧客を取得 パターンと一致
<国> リスト内
'US,Japan,UK'
<国> リスト外
'US,Japan,UK'
<DOB> パターンと一致 '72'
する。
指定した文字列を含まない
値
1972 年生まれではない顧客 パターンと異なる
を取得する。
<DOB> パターンと異なる
'72'
注記
ワイルドカード記号 % を使用して、パターン演算子内で変数文字を表すことができます。
7.3.2.4.2.2.2
And または Or を使ったクエリフィルタの結合
次の表に、And 演算子と Or 演算子の違いを説明します。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
123
取得するデータ
例
選択
両方のフィルタに該当するデータ
第 1 四半期および第 2 四半期に注文し AND
た顧客。取得されるデータには、第 1 四
半期と第 2 四半期の両方の期間に注
文した顧客が含まれる。
どちらか一方のフィルタに該当するデー 第 1 四半期または第 2 四半期に注文し または
タ
た顧客。取得されるデータには、第 1 四
半期にのみ注文した顧客、第 2 四半期
にのみ注文した顧客、および第 1 四半
期と第 2 四半期の両方の期間に注文し
た顧客が含まれる。
注記
一部の OLAP データソースは、Or 演算子をサポートしていません。
7.3.2.4.2.2.3
1.
フィルタとプロンプトを組み合わせる
各クエリフィルタとプロンプトを作成します。
[クエリパネル] では、デフォルトでフィルタとプロンプトが [And] 演算子で結合されます。[And] 演算子をそのまま使用す
ることも、[Or] 演算子に変更することもできます。
2.
必要な場合は、[And] 演算子をダブルクリックして演算子を [Or] に変更します。
注記
一部の OLAP データソースは、Or 演算子をサポートしていません。
[OK] をクリックするか、またはレポートデータを最新表示すると、プロンプトが表示されます。
7.3.2.5
クエリパネルの機能
クエリパネルは、次の要素で構成されています。
124
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
表 2: クエリパネルの要素
クエリパネルの要素
説明
[ユニバース] パネル
この枠には、使用可能なクラスとオブジェクトがツリー構造で
表示されます。ノード (+) をクリックするとブランチまたは階
層が展開され、ノードを再度クリックするとその階層が閉じる
か折りたたまれます。表示モード (各オブジェクトのキャプシ
ョン、一意の名前、またはその両方) を選択します。このパネ
ルでオブジェクトを検索するには、[フィルタ] をクリックして検
索文字列を入力します。クエリを作成するには、オブジェクト
をこのパネルから [結果オブジェクト] パネルまたは [クエリフ
ィルタ] パネルにドラッグします。
[クエリの結合] パネル
このパネルは、クエリを結合しているときにのみ表示されま
す。[複合クエリパネル (表示/非表示)] をクリックすると、結
合しているクエリの構造がこのパネルに表示されます。クエ
リアイコンを移動させて、クエリの結合方法を再構築できま
す。クエリアイコンをクリックすると、[結果オブジェクト] パネ
ルと [クエリフィルタ] パネルにクエリのプロパティが表示され
ます。
[結果オブジェクト] パネル
[ユニバース] パネルから、クエリに含めるオブジェクトを選択
して、このパネルにドラッグします。これらのオブジェクトは結
果レポートの列ヘッダとして返されます。階層オブジェクトを
ここに配置する場合は、メンバーセレクタツールを使用して表
示し、クエリに含める階層のメンバーを選択します。クエリか
ら除外するメンバーを選択することもできます。
[クエリフィルタ] パネル
[フィルタパネル (表示/非表示)] をクリックすると、オブジェ
クトをこのパネルにドラッグしてクエリを制限することで、結果
データを制限できます。たとえば、特定の値や値の範囲を返
すように結果を制限できます。
[データプレビュー] パネル
[データプレビューパネル (表示/非表示)] をクリックすると、
このパネルを使用してクエリの結果をテストすることができま
す。表示される結果をプレビューしたり、クエリを変更してそ
の結果をプレビューすることができます。
クエリパネルを使用すると、次のタイプのクエリを作成できます。
●
OLAP ユニバースの階層クエリ
●
リレーショナルユニバースの非階層クエリ
●
SAP BusinessObjects Enterprise XI 3.X ユニバースの非階層クエリ
クエリパネルには次のボタンもあります。
●
[クエリの結合] ショートカットボタン: リレーショナルユニバース用にクエリを結合する
●
クエリのプロパティ: クエリのプロパティを表示および編集する
●
スクリプトの表示: クエリの構造を表示する
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
125
7.3.2.5.1
スクリプトの表示
[スクリプトの表示] ボタンをクリックして、クエリ仕様を表示します。クエリ仕様は、クエリのデザインが表示される XML 形式で
表示できます。
7.3.2.5.2
クエリ仕様のコピーについて
[クエリ仕様をクリップボードにコピー] ボタンを使用すると、[結果オブジェクト] パネルの現在のクエリ仕様をクリップボードに
コピーできます。クリップボードの内容は、[QuerySpec XML] ダイアログボックスに XML 形式で表示できます。
7.3.2.5.3
クエリ仕様の貼り付けについて
[クエリ仕様をクリップボードから貼り付け] ボタンを使用すると、コピーしたクエリ仕様をクリップボードから [結果オブジェクト]
パネルに貼り付けることができます。クエリ仕様は、[クエリパネル] でオブジェクトを定義せずに実行できます。
7.3.2.5.4
既存のクエリの編集
[クエリパネル]に戻って既存のクエリを編集できます。クエリの編集では、オブジェクトの追加や削除、フィルタの追加、編集、
削除などが可能です。
7.3.2.5.4.1
既存のクエリを編集する
クエリを編集するには、最初に BI プラットフォームサーバにログオンする必要があります。
1.
レポートのクエリを編集するには、
データ
クエリの編集
をクリックします。
[クエリパネル]が表示されます。
2.
[クエリパネル] で、必要に応じてクエリを編集します。
3.
クエリの編集が完了したら、[完了] をクリックします。
クエリに加えた変更がレポートに反映されます。
注記
レポートで使用したクエリからオブジェクトを削除する場合は、それらのオブジェクトはレポートから自動的に削除されます。
126
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
7.4
SQL および SQL データベースの使用
最もよく使用され、しかも最も強力なデータベース形式のアプリケーションは、SQL(Structured Query Language)に基づく
DBMS アプリケーションです。SQL データベースは、通常、クライアント/サーバネットワークアーキテクチャで動作します。デ
ータベースファイル、テーブル、フィールド、およびレコードは、SQL サーバで作成、保存、また操作されます。また、ワークステ
ーションユーザは、SQL クライアントのインタフェースを使用して、データベースファイルを設計および操作するだけでなく、日
常業務の役に立つ重要なデータも取得できます。
7.4.1
Crystal Reports が使用する SQL
SQL データベースに接続する場合、Crystal Reports は、SQL クライアント アプリケーションとして動作し、ネットワーク上の
SQL サーバに接続します。
SQL データにアクセスするレポートをデザインする場合は、Crystal Reports が SQL クエリを作成します。このクエリは、[デ
ータ] メニューの [SQL クエリの表示] を選択すると表示できます。
この SQL クエリは、Crystal Reports が SQL サーバに送る SQL 文を表しています。レポートのデザインをできる限り SQL ク
エリに変換することにより、Crystal Reports は、レポート処理の負荷の多くをサーバ マシンに移します。Crystal Reports
は、要求されたデータを探すとき、データベース全体をふるいにかける代わりに、サーバにその選別を行わせ、小さなデータ
の集合だけを受け取るようにします。これで、レポートを完成するためにワークステーションが消費する時間とリソースが削減
されます。
7.4.2
SQL 言語
Crystal Reports は、ODBC を介してクライアント/サーバデータベースにアクセスするために SQL 言語を使用しているた
め、SQL 句 (コマンド) をいくつか理解しておくと、レポートの生成処理をよく理解できるようになります。
7.4.2.1
SELECT
SELECT 句は、データベーステーブルから取得するデータ項目を指定します。データベースフィールド(列)の値を取得すること
も、データの収集時 に実行した計算の結果を取取得することもできます。以下はその例です。
SELECT
TABLEA.'CUSTNAME',
TABLEA.'STATE'
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
127
7.4.2.2
DISTINCT
DISTINCT 句は、重複しない一意なデータセットだけを取得するように要求します。DISTINCT 句を使用すると、同じ内容のレ
コード(行)は、一度しか取得されません。DISTINCT 句を使って前の SELECT 文を変更すると、次のようになります。
SELECT DISTINCT
TABLEA.'CUSTNAME',
TABLEA.'STATE'
7.4.2.3
FROM
FROM 句は、SELECT 句で指示されるデータベースフィールドのソースを指定します。FROM には、必要なデータを含むフィ
ールドとそのレコードを持つデータベーステーブルを指定します。Crystal Reports が生成する FROM 句では、テーブル名の
前にエイリアスが付き、レポートの中のテーブルを識別しています。次の例では、SELECT 句と共に FROM 句を使用していま
す。
SELECT
TABLEA.'CUSTNAME',
TABLEA.'STATE'
FROM
'TABLEA' TABLEA
7.4.2.4
WHERE
WHERE 句には、2 つの目的があります。
●
レコードの選択基準を指定します。
●
2 つのデータベーステーブルの結合方法を指定します。
レコードの選択基準を指定するために WHERE が使用される場合は、どのレコード(データ行)を取得するかを決定する検索
条件が WHERE に含まれます。以下はその例です。
SELECT
MYTABLE.'SALESPERSON',
MYTABLE.'SALESTOTAL'
FROM
'MYTABLE' MYTABLE
WHERE
MYTABLE.'SALESTOTAL' < 10000.00
2 つのテーブルのリンク方法を指定するために WHERE が使われる場合は、SQL の結合演算子が、2 つのテーブル名の間
に入ります。
次の例では、WHERE 句で 2 つのテーブルを結合しています。
SELECT
CUSTOMER.'CUST_ID',
CUSTOMER.'CUST_NAME',
ORDERS.'AMOUNT'
FROM
128
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
'CUSTOMER' CUSTOMER,
'ORDERS' ORDERS
WHERE
CUSTOMER.'CUST_ID' = ORDERS.'CUST_ID'
7.4.2.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
注記
ASC は、フィールドの値が降順(DESC)ではなく、昇順に並べ替えられることを示しています。昇順では、アルファベットは
A から Z の順に、数値は 0 から 9 の順に並べ替えられます。
7.4.2.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'
7.4.3
SQL コマンドの定義
使用中のデータベースで SQL などのクエリ言語がサポートされている場合は、Crystal Reports で Table オブジェクトとして
表示される独自のコマンドを作成できます。データベースユーザは、作成したコマンドを使って、データベースサーバにプッシ
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
129
ュダウンされるデータ処理を完全に制御できます。また、データベースと SQL 言語に詳しいユーザであれば、高度に最適化さ
れたコマンドを作成して、サーバから返されるデータセットのサイズを大幅に削減できます。
[データソース接続の選択] ダイアログボックスの [コマンドの追加] ノードを使って独自のコマンドを作成し、コマンドの処理結
果を表示する仮想テーブルを作成できます。
コマンドとして作成された仮想テーブルを使用する場合、Crystal Reports では、サーバに送信される SQL の構文が変更さ
れることはありません。つまり、自動的に引用符やエスケープ文字が追加されることはありません。これは、コマンド内で使用
されるパラメータにも当てはまります。したがって、ユーザは、データベースドライバに必要な引用符およびエスケープ文字を
自分で追加する必要があります。
注記
以下の一部の Crystal Reports のネイティブデータベースドライバは、[コマンドの追加] 機能をサポートしていません。
●
DB2 Server
●
Sybase Server
●
Informix Online Server
注記
[コマンドの追加] 機能を使用すると、SQL インジェクション攻撃を受けやすくなります。
SQL インジェクションを使用して、リレーショナルデータベースに対して実行される SQL クエリにユーザパラメータを挿入す
る Web ページが多数あります。たとえば、あるログイン Web ページは、ユーザ名とパスワードを取得し、データベースに
対する SQL インジェクションを実行して情報を認証します。攻撃者は、ユーザ名とパスワードのフィールドに値を入力して、
データベースに対して実行される SQL クエリを不正に変更できます。
7.4.3.1
1.
コマンドテーブルを作成する
データソースに接続する
a) [データエクスプローラ] パネルで、[データソースの編集] をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
b) データソースを選択し、必要に応じてログオンします。
2.
[使用可能なテーブル] セクションで、[コマンドの追加] をクリックします。
[接続の選択] ダイアログボックスが表示されます。
3.
接続を選択して、[OK] をクリックします。
[コマンドテーブルの追加] ダイアログボックスが表示されます。
4.
開いたデータソースに対する適切なクエリまたはコマンドを入力します。
以下はその例です。
SELECT
Customer.`Customer ID`,
Customer.`Customer Name`,
Customer.`Last Year's Sales`,
Customer.`Region`,
Customer.`Country`,
Orders.`Order Amount`,
Orders.`Customer ID`,
130
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
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.
[作成] をクリックし、[パラメータの作成] ダイアログボックスに情報を入力して、コマンドのパラメータを作成することもでき
ます。
パラメータ作成の詳細については、コマンドテーブルのパラメータを作成する [131 ページ]を参照してください。
6.
[OK]をクリックします。
Report Designer に戻ります。データエクスプローラに、指定したデータベースフィールドを示すコマンドテーブルが表示
されます。
注記
独自のコマンドから仮想テーブルを作成するには、コマンドを一度実行する必要があります。コマンドにパラメータがあ
る場合は、各パラメータの値を入力するよう求められます。
注記
デフォルトでは、作成したコマンドには SQL_Command という名前が使用されます。コマンドのエイリアスを変更する
には、エイリアスを右クリックして [テーブルの編集] を選択します。
7.4.3.2
コマンドテーブルを編集する
1.
データエクスプローラで、[データソースの編集] をクリックします。
2.
コマンドテーブルを選択して、[コマンドテーブルの編集] をクリックします。
3.
[コマンドテーブルの編集] ダイアログボックスで、変更を行って [OK] をクリックします。
7.4.3.3
コマンドテーブルのパラメータを作成する
[コマンドテーブルの編集] ダイアログボックスでパラメータフィールドを作成できます。
1.
ダイアログボックスの [パラメータリスト] 領域で、[作成] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
131
2.
[パラメータの作成] ダイアログボックスで、表示されるフィールドに情報を入力します。
3.
[OK]をクリックします。
[パラメータリスト]にパラメータが追加されます。追加したパラメータを変更または削除するには、[コマンドテーブルの編集] ダ
イアログボックスに戻ります。
7.4.3.4
コマンドテーブルにパラメータを追加する
1.
パラメータを挿入する箇所のクエリテキストにカーソルを置きます。
2.
[パラメータリスト]内のパラメータの名前をダブルクリックします。
パラメータはカーソルの位置に追加されます。次のようになります。
WHERE
Customer.`Country` = '{?CountryParam}'
注記
構文の引用符などの要素は、コマンドの作成時に手動で追加する必要があります。
7.5
データベースの操作
この節では、Crystal Reports からデータベースファイルにアクセスする場合によく行われる作業をいくつか紹介します。実用
的な場面では、詳細な手順を説明しています。
7.5.1
ODBC を介して Access のクエリーを開く
ODBC では、データベースの中の使用する部分をさらに細かくコントロールできます。そのため、ODBC を介して Access の
クエリーを使用する場合は、いくつか追加の手順が必要です。
7.5.1.1
1.
ODBC を介して Access のクエリーを開くには
Access のクエリは、新しいレポートの作成時か、またはその後で開くことができます。
○
新しいレポートの作成時に Access のクエリを開くには、
ファイル
○
既存のレポートで Access のクエリを開くには、
データソースの編集
データ
新規
データソースから
をクリックします。
をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
132
[ベンダーによる接続] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
3.
Microsoft
MS Access <年>
ODBC
をクリックしてから、[次へ] をクリックします。
[接続の設定] ダイアログボックスが表示されます。
4.
[データソース名] およびログインパラメータを入力します。
[接続テスト] をクリックし、接続を確認できます。
必要に応じて、[設定パラメータ] および [カスタムパラメータ] タブに詳細を入力します。
5.
[ビュー] フォルダでクエリを検索し、それを [選択したテーブル] リストにドラッグします。
6.
[完了] をクリックします。
注記
Crystal Reports では、Access アクションクエリおよび更新クエリは使用できません。Access の選択クエリーとクロスタブ
クエリーは使用できますが、
7.5.1.2
Access のパラメータ クエリーを開く
ODBC を介して Access データベースを開く場合に限り、Access のパラメータ クエリーを開くことができます。この手順を行う
前に、Access データベースが ODBC データ ソースとして設定されていることを確認してください。詳細については、ODBC デ
ータ ソースのセットアップ [134 ページ]を参照してください。
注記
Access でパラメータ クエリーを設計する場合、クエリーにはプロンプトを用意し、パラメータにはデータ型の指定が必要で
す。まず、クエリーを Microsoft Access のデザイン ビューで開き、パラメータとして使用するフィールドの[抽出条件]のセ
ルにプロンプトを入力します。次に、Access の[クエリー]メニューの[パラメータ]を選択し、作成したパラメータにデータ型
を指定します。[抽出条件]のセルに指定したとおりに、プロンプトが表示されることを確認してください。詳細については、
Access のマニュアルを参照してください。パラメータクエリが適切に設定されていない場合は、Crystal Reports でそのク
エリを使用することはできません。
7.5.1.2.1
Access のパラメータ クエリーを開くには
1.
開始ページで、[データソースから] をクリックします。
2.
使用する Access パラメータ クエリーを含む ODBC データ ソースを見つけて選択します。
注記
データベースにユーザー名やパスワードなどのログオン情報が必要な場合は、[次へ]をクリックして[接続情報]ダイ
アログ ボックスを表示します。
ヒント
データ ソースとして ODBC を選択し、接続情報を入力した場合は、自動的にサーバーにログオンします。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
133
3.
[ストアドプロシージャ] フォルダからパラメータクエリを選択し、それを [選択したテーブル] リストにドラッグします。
4.
[完了] をクリックします。
5.
パラメータ クエリーのフィールドを使ってレポートを作成します。
6.
[最新表示] をクリックし、レポートのデータを更新します。
プロンプト値の入力を求めるダイアログ ボックスが表示されます。
7.
フィールドに値を入力して割り当て、[OK]をクリックします。
レポートが表示されます。[パラメータ値の入力]ダイアログ ボックスで指定したパラメータ値に合致するレコードだけがレ
ポートで使用されます。
注記
Crystal Reports では、Access アクションクエリおよび更新クエリは使用できません。Access の選択クエリーとクロスタブ
クエリーは使用できますが、
7.5.2
ODBC データ ソースの使用
使用するデータに合った ODBC ドライバがインストールされているかどうかが不明な場合は、DBMS アプリケーションに付属
するマニュアルを参照してください。
7.5.2.1
ODBC データ ソースのセットアップ
ODBC データ ソースをセットアップするには、まず、使用するデータの種類に合った ODBC ドライバがインストールされている
必要があります。多くの DBMS アプリケーションでは、ODBC ドライバは自動的に導入されてセットアップされます。
7.5.2.1.1
1.
ODBC データベースをセットアップする
[ODBC データソースアドミニストレータ] を開きます。これは通常、
ータ ソース (ODBC)
2.
スタート
コントロール パネル
管理ツール
デ
にあります。
新しい ODBC データ ソースを追加するには、[追加]をクリックします。
[データ ソースの新規作成]ダイアログ ボックスが表示されます。
3.
リストから、データの種類に合った ODBC ドライバを選択します。
4.
選択したら、[完了]をクリックします。
データの種類に合ったドライバが表示されていない場合、その ODBC ドライバは、正常にインストールされていません。
DBMS アプリケーションのマニュアルを参照してください。
選択した ODBC ドライバによって異なる ODBC データ ソース セットアップ用のダイアログ ボックスが表示されます。
134
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
注記
セットアップ用のダイアログ ボックスではなく、エラー メッセージが表示された場合は、選択したデータの種類に合った
ODBC ドライバが、正常にシステムにインストールされていません。
5.
新しい ODBC データ ソースの名前を[データ ソース名]ボックスに入力します。
注記
表示されるダイアログ ボックスは、使用するデータの種類によって、ここに表示されているものとは異なる可能性があ
ります。このダイアログ ボックスは、Access ODBC ドライバに固有のものです。それぞれのデータに対して表示される
ダイアログ ボックスの使い方については、[ヘルプ]をクリックして調べてください。
6.
終了したら、[OK]をクリックします。
7.5.2.2
1.
ODBC データ ソース設定の確認
ODBC データ ソース アドミニストレータを開きます。これは通常、[スタート]>[すべてのプログラム]>[管理ツール]>[デ
ータ ソース(ODBC)]、または[スタート]>[設定]>[コントロール パネル]>[データ ソース(ODBC)]にあります。
2.
[ユーザー DSN]タブの[ユーザー データ ソース]リストで目的のデータ ソースを強調表示します。
3.
[構成]をクリックします。
表示される ODBC データ ソース セットアップ用のダイアログ ボックスは、選択したデータ ソースに固有のもので、データ
ソースを設定するためのコントロールと情報を含んでいます。
4.
このダイアログ ボックスで設定を調べ、その情報が、使用するシステムやデータベースと一致していることを確認します。
5.
必要に応じて変更し、[OK]をクリックします。
6.
[OK]をクリックして[ODBC データ ソース アドミニストレータ]ダイアログ ボックスを閉じます。
7.5.3
ストアド プロシージャ
多くの SQL DBMS システムは、一般的なリレーショナル データベースの属性(テーブル、フィールド、レコードなど)のほかに、
ストアド プロシージャをサポートしています。ストアド プロシージャは、コンパイルされた SQL プログラムで、1 つ 以上の SQL
文からできています。ストアド プロシージャは、繰り返し使用される SQL クエリの定義に使用できます。さらに、ストアド プロシ
ージャの中で変数、条件付きの式、および変数の引数を定義でき、また、ストアド プロシージャを実行する前に、情報の入力
を求める表示を行うこともできます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
135
ストアド プロシージャは、実行後にデータの集合を返すことができます。Crystal Reports では、SQL データベース上のストア
ド プロシージャを実行し、返されたデータをレポートのデザインに使用できるようになっています。また、ユーザからの情報を
求めるプロンプトを表示し、それを基にクエリを実行するようにストアド プロシージャを設計した場合、そのストアド プロシージ
ャを選択してレポートを作成すると、Crystal Reports によって情報を要求するプロンプトが表示されます。
7.5.3.1
1.
SQL ストアドプロシージャを選択する
開始ページで、[データソースから] をクリックします。
[データソース接続の選択] ダイアログボックスが表示されます。
2.
使用するストアドプロシージャを含む SQL Server データソースを見つけて選択します。
3.
[次へ] をクリックし、[接続の設定] ダイアログボックスを表示します。
4.
ログインに必要な情報を入力し、[次へ] をクリックします。
[レポートのテーブルを選択] ダイアログボックスが表示されます。
5.
ストアドプロシージャを、[選択したテーブル] リストにドラッグします。
6.
プロンプトが表示されたら、リストからパラメータを選択します。
値が指定されていない場合、[NULL に設定] を使用できます。
7.
[完了] をクリックし、ストアドプロシージャのフィールドを使用してレポートを作成します。
7.5.4
テーブルのリンク
あるテーブルのレコードと、他のテーブルにある関係するレコードを一致させるために、テーブルをリンクします。あるテーブル
のレコードと、他のテーブルにある関係するレコードを一致させるために、テーブルをリンクします。たとえば、Orders テーブ
ルと Customer テーブルを使用する場合は、Orders テーブル内の各注文の発注者が、Customer テーブル内の顧客名と
対応するように、テーブルをリンクします。
リンクするときは、両方のテーブルに共通のフィールドを使用します。Crystal Reports では、リンクを使って、あるテーブルの
レコードと別のテーブルのレコードが対応付けられます。この例では、レポートの各行のデータが同じ注文を参照していること
は、リンクによって保証されます。
注記
2 つ以上のリンクがある場合、Crystal Reports によってリンクが処理される順序を指定できます。
7.5.4.1
スマートリンク
レポートに対してテーブルを選択すると、テーブル間の既存のリンクがすべて自動的に適用されます。すべてのリンクが適用
されていることを確認するには、以下を実行します。
136
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
●
[選択したテーブル] 領域で、[スマートリンクの実行] ボタンをクリックします。
7.5.4.2
リンクのプロパティを変更する
1.
[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域で、[データソースの編集] をクリックします。
2.
[選択したテーブル] ペインで、2 つのテーブル間のリンクを選択し、[リンクプロパティの編集] をクリックします。
[リンクプロパティ] ダイアログボックスが表示されます。
3.
プロパティを変更し、[OK] をクリックします。
7.5.4.3
リンクをすべてクリアする
1.
[データエクスプローラ] サイドパネルの [結果オブジェクト] 領域で、[データソースの編集] をクリックします。
2.
[選択したテーブル] ペイン内をクリックします。
3.
[リンクのクリア] をクリックします。
すべてのテーブルリンクが解除されます。
4.
[完了] をクリックします。
7.5.4.4
参照元のテーブルと参照先のテーブル
2 つのテーブルをリンクする場合、あるテーブル"から(From)"他のテーブル"へ(To)"リンクします。テーブルをリンクする場
合、この概念を理解しておく必要があります。"From"テーブルは参照元テーブルとして使用され、"To"テーブルは参照先テー
ブルの役割を果たします。参照先テーブルのレコードが、参照元テーブルによって参照されます。単純なリンクの場合、
Report Designer は、主テーブルの最初のレコードを取り出して、参照テーブルにあるすべての一致するレコードを探します。
参照元テーブルの最初のレコードに対して、参照先テーブルにあるすべての一致するレコードを探し終わると、参照元テーブ
ルの次のレコードに対して、参照先テーブルにあるすべての一致するレコードを探します。
7.5.4.5
リンクリレーションシップ
あるテーブルから他のテーブルにレコードをリンクする場合、そのレコードの関係は、1 対 1 または 1 対多の 2 種類の関係の
どちらかになります。
7.5.4.5.1
1 対 1 のリレーションシップ
リンクされた 2 つのテーブルに 1 対 1 のリレーションシップがある場合は、主テーブルの任意のレコードに対して、リンクフィー
ルドを基にして一致する参照テーブル内のレコードが 1 つだけあります。たとえば、xtreme.mdb データベースの Employee
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
137
テーブルと Employee Addresses テーブルは、それぞれのテーブルにある "社員番号" フィールドを基にしてリンクすること
ができます。Employee テーブルには、その会社の社員の役職、給料、採用時の情報などの情報が入っています。
Employee Addresses テーブルには、社員の住所が入っています。これら 2 つのテーブルには、社員 1 人に対して 1 つのレ
コードがあります。したがって、Employee テーブルから Employee Addresses テーブルにリンクした場合、Employee テー
ブルにある 1 つのレコードに対して、Employee Addresses にある 1 つのレコードが見つかります。これが、1 対 1 のリレーシ
ョンシップです。
7.5.4.5.2
1 対多のリレーションシップ
リンクされた 2 つのテーブルに 1 対多のリレーションシップがある場合は、参照元テーブルの任意のレコードに対して、リンク
フィールドを基にして一致する参照先テーブルのレコードが複数ある可能性があります。xtreme.mdb データベースの
Customer テーブルと Orders テーブルは、それぞれのテーブルにある "顧客番号" フィールドを基にしてリンクすることがで
きます。Customer テーブルには、この会社の顧客についての情報が入っています。Orders テーブルには、顧客から受けた
注文の情報が入っています。1 人の顧客から何度も受注できるので、Customer テーブルにある 1 人の顧客のレコードに対し
て、Orders テーブルには、複数の注文がある可能性があります。これが、1 対多のリレーションシップです。
7.5.4.6
リンクオプション
Crystal Reports では、テーブルをリンクするときに使用する結合の種類とリンクの種類を指定できます。また、結合にあるテ
ーブルの使用を強制することもできます。レコードを読み込むときに 2 つのテーブルのリンクフィールドをどのように比較する
かを、結合とリンクで指定します。結合、結合の取り込み、およびリンクのオプションは、[リンクオプション]ダイアログボックス
で指定できます。さまざまな結合の取り込みオプションを使用して、テーブル内のフィールドをレポートで使用していない場合
でも、リンクテーブルを SQL クエリに含めることができます。
注記
結合を使ってフィールドをリンクする場合、インデックスフィールドは必要ありません。
次のような結合の種類があります。
●
Inner 結合
●
Left Outer 結合
●
Right Outer 結合
●
Full Outer 結合
次のような結合の取り込みオプションがあります。
●
取り込まない
●
参照元テーブルを取り込む
●
参照先テーブルを取り込む
●
両方とも取り込む
次のようなリンクの種類があります。
●
138
Equal[=]リンク
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
●
Greater Than[>]リンク
●
Greater Than Or Equal[>=]リンク
●
Less Than[<]リンク
●
Less Than Or Equal[<=]リンク
●
Not Equal [!=] link
7.5.4.6.1
Inner 結合
Inner 結合は、標準的な結合です。Inner 結合の結果の集合には、両方のテーブルの中でリンクフィールドの値が完全に一
致するすべてのレコードが含まれています。たとえば、Inner 結合を使用すると、注文を受けた顧客をすべて表示できます。注
文を受けていない顧客のレコードは表示されません。
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
64
Sierra Mountain
8233.50
7.5.4.6.2
Left Outer 結合
Left Outer 結合の結果の集合には、両方のテーブルの中でリンクフィールドの値が完全に一致するすべてのレコードが含ま
れています。さらに、参照テーブルの中にリンクフィールドの値が一致するものがない主(左側)テーブルのすべてのレコードも
含まれます。たとえば、Left Outer 結合を使用すると、注文を受けたすべての顧客とその注文を表示できます。さらに、注文
を受けていない顧客についてもレコードが取り出されます。注文を受けていない顧客は、注文情報を表示するフィールドが空
になり、リストの最後に表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
139
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
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 データベースのマニュアルを
参照してください。
7.5.4.6.3
Right Outer 結合
Right Outer 結合の結果の集合には、両方のテーブルの中でリンクフィールドの値が完全に一致するすべてのレコードが含
まれています。さらに、主テーブルの中にリンクフィールドの値が一致するものがない参照(右側)テーブルのすべてのレコード
も含まれます。Customer テーブルを Orders テーブルにリンクした場合、顧客から受けた注文ごとにテーブルの中に 1 行の
データが作成されます。さらに、顧客にリンクできないすべての注文に対しても、注文ごとに 1 行のデータが作成されます。こ
れは、理論的には起こらないはずですが、不慣れな営業担当者が注文に"顧客番号"を割り当てることを忘れたような場合に
起こります。Right Outer 結合を使用すると、このような注文をすばやく見つけることができます。結果のテーブルでは、顧客
の指定されていない注文の"顧客番号"フィールドは、空になります。
140
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
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 データベースのマニュアルを
参照してください。
7.5.4.6.4
Full Outer 結合
Full Outer 結合は、リンクされたテーブルのすべてのレコードを表示できる双方向の外部結合です。Full Outer 結合の結果
の集合には、両方のテーブルの中でリンクフィールドの値が完全に一致するすべてのレコードが含まれています。さらに、参
照テーブルの中にリンクフィールドの値が一致するものがない主(左側)テーブルのすべてのレコードと、主テーブルの中にリ
ンクフィールドの値が一致するものがない参照(右側)テーブルのすべてのレコードも含まれます。Customer テーブルを
Orders テーブルにリンクした場合、顧客から受けた注文ごとにテーブルの中に 1 行のデータが作成されます。さらに、顧客に
リンクできないすべての注文に対しても注文ごとに 1 行のデータが作成され、注文が見当たらない顧客に対しても顧客ごとに
1 行のデータが作成されます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
141
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
7.5.4.6.5
取り込まない
このオプションを選択すると、作成したリンクは、Select 文で明示的に必要とされる場合にのみ使用されます。選択したテーブ
ルを基にして、制限なく(他のテーブルを基にした取り込みを行わずに)レポートを作成することができます。これはデフォルト
オプションです。
7.5.4.6.6
参照元テーブルを取り込む
このオプションを選択した場合、リンクの参照先テーブルを使用すると、そのリンクが取り込まれます。たとえば、[参照元テー
ブルを取り込む]を使用して TableA から TableB へのリンクを作成する場合、TableB のフィールドのみを選択すると、
TableA への結合が取り込まれるため、Select 文にも TableA への結合が取り込まれます。逆に、同じ結合条件を持った
TableA のフィールドを選択しても、TableB への結合は取り込まれません。
142
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
注記
参照元テーブルと参照先テーブルについての説明は、参照元のテーブルと参照先のテーブル [137 ページ]を参照してくだ
さい。
7.5.4.6.7
参照先テーブルを取り込む
このオプションを選択した場合、リンクの参照元テーブルを使用すると、そのリンクが取り込まれます。たとえば、[参照先テー
ブルを取り込む]を使用して、TableA から TableB へリンクを作成して、TableA のフィールドのみを選択する場合、TableB を
参照先とする結合が取り込まれ、作成される Select 文には、どちらのテーブルも取り込まれます。
注記
参照元テーブルと参照先テーブルについての説明は、参照先テーブルを取り込む [143 ページ]を参照してください。
7.5.4.6.8
両方とも取り込む
このオプションを選択した場合、リンクの参照元テーブルまたは参照先テーブルを使用すると、そのリンクが取り込まれます。
7.5.4.6.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
この文により、次のようなデータが生成されます。
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
52
Allez Distribution
25141.50
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
143
Customer テーブル
Customer テーブル
Orders テーブル
顧客番号
顧客名
受注額
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
64
Sierra Mountain
8233.50
7.5.4.6.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 文により、次のようなデータが生成されます。
SalesRep テーブル
SalesRep テーブル
Manager テーブル
Manager テーブル
姓
給料
姓
給料
Davolio
$35,000.00
Fuller
$32,000.00
Davolio
$35,000.00
Brid
$30,000.00
144
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
SalesRep テーブル
SalesRep テーブル
Manager テーブル
Manager テーブル
姓
給料
姓
給料
Davolio
$35,000.00
Buchanan
$29,500.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
Buchanan
$29,500.00
このテーブルでは、営業担当者と営業課長の間にリレーションシップは設定されていません。課長は全員、すべての営業担当
者より役職が上なので、改善が必要な給料上の問題を明らかにするために、課長より給料の多い担当者がいるかどうかを調
べる必要があるかもしれません。
7.5.4.6.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'
この文により、次のようなデータが生成されます。
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
Davolio
$35,000.00
Martin
$35,000.00
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
145
SalesRep テーブル
SalesRep テーブル
Manager テーブル
Manager テーブル
姓
給料
姓
給料
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
7.5.4.6.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'
この 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
146
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
Manager テーブル
Manager テーブル
SalesRep テーブル
SalesRep テーブル
姓
給料
姓
給料
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
7.5.4.6.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 文により、次のようなデータが生成されます。
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
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
147
Manager テーブル
Manager テーブル
SalesRep テーブル
SalesRep テーブル
姓
給料
姓
給料
Martin
$35,000.00
Dodsworth
$48,300.00
Hellstern
$45,000.00
Dodsworth
$48,300.00
7.5.4.6.14 Not Equal [!= ] リンク
Not Equal リンクの結果の集合には、主テーブルのリンクフィールドの値が参照テーブルのリンクフィールドの値と等しくない
すべてのレコードが含まれます。このリンクは、テーブルをそのテーブル自体に結合(Self Join)し、あらゆる項目の組み合わ
せを見つけるために使用できます。たとえば、ある会社が販売している全商品を含むテーブルがあるとします。商品を 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 つのテーブルがリンクされています。この場合、各製品に対して、それ自身を除くすべての製品との組み合わせが
作成されます。それ自身との組み合わせは作成されません。
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
148
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
Product1
Product2
製品名
製品名
InFlux Lycra Glove
Roadster Micro Mtn Saddle
Roadster Micro Mtn Saddle
Xtreme Adult Helmet
Roadster Micro Mtn Saddle
Xtreme Mtn Lock
Roadster Micro Mtn Saddle
InFlux Lycra Glove
注記
記号 != は、データにアクセスするための ODBC データソースドライバがこの記号をサポートしている場合は、Not Equal
リンクを表すために使用されます。それ以外の場合は、デフォルト記号の <> が Not Equal リンクを表すために使用されま
す。
7.6
最初の最新表示時にデータソースを照合するプロセス
Crystal Reports では、レポートを開いて最初にレポートデータを最新表示したときに、有効なデータソースのメタデータが変
更されたかどうかが自動的にチェックされます。有効なデータソースには、ユニバースおよび SAP BEx クエリが含まれていま
す。
メタデータへの何らかの変更が検出されると、データソースに変更があったことを知らせ、レポートを更新する必要があること
を示すダイアログボックスが表示されます。データソースへの変更には、次のいずれかが含まれます。
●
結果オブジェクトの名前など、結果オブジェクトのプロパティまたは属性への変更。
●
データソース内の結果オブジェクトのデータ型の変更。
●
データソース内の継承パラメータ数の変更。
データソースへの変更の内容によっては、結果オブジェクトを再マッピングしてレポートを再フォーマットする必要があります。
注記
結果オブジェクトのセットが更新されると、保存されたすべてのデータが破棄されます。
例
データをフィルタするために、データソースにパラメータが追加、またはデータソースからパラメータが削除されました。
ユニバース作成者は、継承パラメータを結果オブジェクトに追加して、すべてのレポートがレポートのピーク時間帯の定刻
に実行されるように選択できます。Crystal Reports は、ソースデータ内のパラメータ数のこの変更を検出します。継承パラ
メータは、ユーザに部署、地域、四半期の売上などの情報入力を求めることによって、各レポート内で使用可能なデータ量
を制限します。
ユニバース作成者が継承パラメータをデータソースから削除した場合、Crystal Reports はこの変更を検出しますが、その
パラメータはレポート内に残ります。削除した継承パラメータは、[データエクスプローラ] の [パラメータ] 領域に削除可能な
ローカルパラメータとして表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
149
この場合、レポート内の結果オブジェクトを最新表示した後でレポートを保存すると、次にレポートを開いたときにはメタデータ
を再度検証する必要がありません。
7.7
適切な結果オブジェクトのインデックス付け
次のガイドラインは、保存データにインデックスを付ける最適な方法と、インデックスを付けるときに避けた方がよい事柄を示し
ています。
●
ユーザがレコード選択式によく追加する結果オブジェクトに対してインデックスを付けます。
●
レポートのレコード選択式で参照される結果オブジェクトにインデックスを付けます。
●
レポートのすべての結果オブジェクトにインデックスを付けることは避けてください。
すべての結果オブジェクトにインデックスを付けると、処理時間が増える場合があります。上記の条件を満たす結果オブ
ジェクトにだけインデックスを付けてください。すべての結果オブジェクトが条件を満たす場合は、結果オブジェクトに優先
順位を付けて、一部の結果オブジェクトにだけインデックスを付けます。
●
一意の値しか持たない結果オブジェクトには、インデックスを付けないでください。
たとえば、"“前年度取引高”" 結果オブジェクトのように、値が互いに異なる可能性の高い結果オブジェクトには、インデッ
クスを付けないでください。このような結果オブジェクトにインデックスを付けると、結果オブジェクトの各値のすべてを持つ
インデックスが別途作成されることになってしまいます。
7.7.1
保存データにインデックスを付けるには
1.
Crystal Reports でレポートを開きます。
2.
[データ] メニューの [保存データのインデックス作成] をクリックします。
3.
[保存データのインデックス作成] ダイアログボックスで、インデックスを付ける保存データの結果オブジェクトを選択しま
す。
4.
[OK] をクリックして Crystal Reports に戻ります。
5.
すぐにインデックスを作成する場合は、レポートを最新表示して保存します。
150
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
データソース接続およびクエリ
8
レポートのレイアウトと書式設定
この章では、レポートのデザインやレイアウト、およびテキスト、オブジェクト、レポートセクション全体の外観の変更について説
明します。
次のように、さまざまな書式設定を行うことができます。
●
レポートのセクションへの分割
●
特定のデータを強調する。
●
データ、番号、論理値、通貨の値、テキスト(文字列)の表現を変更する。
●
不要なセクションを非表示にする。
●
レポートを本格的な体裁にする。
ここでは、Crystal Reports で使用できる書式設定の種類を説明し、順を追ってさまざまな書式設定を実行してみます。
8.1
レポートデザイン環境の使用
8.1.1
セクションの特性
レポートは、レポートヘッダ、ページヘッダ、グループヘッダ、ボディ、グループフッタ、ページフッタ、レポートフッタなど、複数の
セクションで構成されます。
セクションの詳細については、構造モード領域 [42 ページ]を参照してください。
8.1.2
複数の列を持つレポートの作成
レポートの [ボディ] セクション内のデータをページの上から下に出力するのではなく、複数の列を用意して列から列に出力で
きます。
8.1.2.1
複数の列を持つレポートを作成する
1.
複数の列で書式設定するレポートを開きます。
2.
[ボディ] ヘッダ領域を右クリックし、[ボディの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
3.
[複数列] を選択します。
4.
列の [列幅] を設定します。
列幅を決定するときは、用紙の幅を考慮してください。たとえば、ボディセクションに要素が 3 つあり、4 インチの幅を占め
る場合は、列幅を 4.5 インチ程度にして、要素の情報がすべて表示されるようにします。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
151
5.
データの[フロー方向]を選択します。
6.
書式を設定するレポートにグループ化が含まれている場合は、[複数列グループ] を選択します。
7.
列内の各レコードの間隔を[横]ボックスや[縦]ボックスで設定します。
レポートをプレビューすると、データが列に表示されます。レポートに要素ヘッダがある場合には、先頭列のヘッダだけが表示
されます。2 列目に要素ヘッダを表示するには、Crystal Reports エディタでテキスト要素を挿入します。
8.1.3
スマートガイドラインの使用
スマートガイドラインを使用すると、Crystal Reports デザイナキャンバスでレポートの列を書式設定することができます。列お
よび列内のオブジェクトは、同時に移動したり再配置することができます。スマートガイドラインは、類似の配置に基づいて関
連オブジェクトを計算するためです。レポート上に表示されるスマートガイドラインのグリッドは、選択した要素に応じて変わり、
列内の関連要素を自動的に選択するという機能を持っています。
スマートガイドラインの機能は、[レポートオプション] ダイアログボックスでオフにすることができます。この機能を一時的に無
効にして特定の要素のサイズを変更する場合は、その要素を選択してから、Alt キーを押しながらサイズを変更します。
注記
スマートガイドラインは、クロスタブ要素など、すでに書式設定されている要素には機能しません。
8.1.3.1
スマートガイドラインを使用して列を挿入する
スマートガイドラインでは、周囲の列を手動で移動することなく新しい結果オブジェクトの列を挿入することができます。スマー
トガイドラインが無効の場合、挿入した結果オブジェクトは既存の結果オブジェクトと重なります。
1.
[データエクスプローラ] サイドパネルから結果オブジェクトを選択し、レポートキャンバスにドラッグします。
2.
スマートガイドラインのグリッドが表示されて列の位置が示されるまで、目的の列の結果オブジェクトフレームの位置を調
整し、結果オブジェクトを配置します。
注記
既存の 2 つの列の間に列を挿入すると、スマートガイドラインのグリッドは青色から紺色に変化し、挿入列が既存の列
の間に配置されることが示されます。
8.1.3.2
スマートガイドラインを使用した列の調整
レポートキャンバスの上部の列側にあるカーソルやハンドルを使用すると、列の並べ替え、削除、およびサイズ変更を行うこと
ができます。スマートガイドラインでは、周囲の列を手動で移動することなく列を削除したり調整することができます。
152
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.1.3.2.1
列幅を調整する
1.
調整する列をクリックします。
スマートガイドラインのグリッドが表示されます。
2.
ポインタを列の右側に移動します。
カーソルがサイズ変更ポインタに変わります。
3.
列をクリックしてドラッグし、幅のサイズを増減させます。
8.1.3.2.2
列の位置を調整する
レポートキャンバス上の単一列または同時に複数の列を水平に移動することができます。
1.
移動する列をクリックします。
スマートガイドラインのグリッドが表示されます。
2.
レポートキャンバス上部の列ハンドルをクリックし、列をドラッグします。
○
単一列を移動するには、その列を左右にドラッグします。スマートガイドラインによって既存の列が調整され、再配置
する列の場所が確保されます。
○
複数の列を移動するには、単一列を移動することによって既存の複数列を詰めるか、列の左端を使用して列の行を
ドラッグします。
8.1.3.2.3
スマートガイドラインを使用して列を交換する
1.
交換元の列をクリックして選択します。
スマートガイドラインのグリッドが表示されます。
2.
レポートキャンバスの上部にある列ハンドルを選択して、交換先の列と重なり合うまで交換元の列をドラッグし、その後ク
リックして交換元の列を配置します。
列の位置が交換されます。
8.1.3.3
スマートガイドラインを使用してサブ列を作成する
2 列以上にわたるボックスやテキスト要素など、拡張されたヘッダ要素を使用してサブ列を作成することができます。
1.
2.
3.
サブ列にする列をクリックします。
スマートガイドラインのグリッドが表示されます。
挿入
ボックス
または
挿入
テキスト
をクリックします。
レポートまたはグループヘッダ内のレポートキャンバス上に要素を配置し、その要素フレームをドラッグして、結合する 2
つ以上の列にまたがるように拡張します。
拡張されたヘッダ要素は、サブ列が含まれる単一列になります。
サブ列は、ヘッダ列を拡張するためのハンドルを使用すれば単一列として再配置できます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
153
8.1.4
セクションの非表示
Crystal Reports には、レポートセクションを非表示に設定できる複数のプロパティがあります。
8.1.4.1
ドリルにのみ表示
[ドリルにのみ表示] プロパティは、レポートを実行したときに特定のセクションを非表示にします。集計レポートを例にすると、
[ドリルにのみ表示] プロパティを使って集計の詳細を隠し、集計結果だけを表示できます。[ドリルにのみ表示] プロパティを
セクションに適用した場合は、ドリルダウンポインタを使ってセクションの内容をドリルダウンすると、その内容を表示できま
す。式を使って条件付きで適用することはできません。
8.1.4.2
非表示
[非表示] プロパティも、レポートを実行したときに特定のセクションを非表示にします。ただし、[ドリルにのみ表示] プロパティ
とは異なり、[非表示] プロパティを適用した場合は、ドリルダウンしてセクションの内容を表示することはできません。このプロ
パティは、無条件で適用することも、式を使って条件付きで適用することもできます。これは、フォームレターを作成する場合に
便利です。たとえば、フォームレターで 2 つのボディセクションを作成します。売上が X 円以上の場合に一方のセクションを非
表示にし、売上が X 円未満の場合にはもう一方のセクションが非表示になるように設定できます。
8.1.5
レポートオブジェクトの非表示
Crystal Reports には、個々のオブジェクトを非表示にするための複数の書式設定プロパティがあります。
8.1.5.1
重複データの非表示
[重複する場合は非表示] プロパティを使用すると、同じセクションの中で、オブジェクト値が直前の値と重複している場合には
その値が出力されないようにできます。
値は出力されませんが、そのスペースは残されます。
注記
このプロパティは、埋め込み要素を含んでいるテキスト要素に対しては機能しません。
154
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.1.5.2
値がゼロの場合に数値を非表示
[値がゼロの場合には数値を非表示にします] プロパティを使用すると、値が 0 の場合に出力しないように指定できます。値
は出力されませんが、そのスペースは残されます。空白を削除するには、セクションで [空の場合は非表示] を設定する必要
があります。
注記
このオプションは、セクション内に他の要素がない場合にのみ機能します。
8.1.5.3
非表示
[非表示] プロパティは、レポートを実行したときにオブジェクトを非表示にします。このプロパティは、たとえば、レポートの計算
式に適用して、レポートでは表示しない場合などに使用します。このプロパティをオンにすると、選択した要素は出力されませ
ん。
8.1.6
セクションまたは要素内での改ページの回避
セクションまたは要素がページの残りのスペースには収まらない場合、そのセクションまたは要素は 2 ページに渡って分割さ
れます。この改ページをせずにセクションまたは要素全体を次のページに出力するには、[改ページしない] オプションを使用
します。
注記
セクションまたは要素が 1 ページよりも長い場合は、[改ページしない] オプションを使用していても複数ページに渡って出
力されます。
8.1.6.1
1.
セクション内では改ページしない
セクションを右クリックし、[セクションの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[ページング] をクリックします。
3.
[改ページしない] チェックボックスをオンにして、[閉じる] をクリックします。
8.1.6.2
1.
要素内では改ページしない
要素を右クリックし、[<<要素>> の書式設定] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
155
[書式] ダイアログボックスが表示されます。
2.
[全般] をクリックします。
3.
[改ページしない] チェックボックスをオンにして、[閉じる] をクリックします。
8.1.7
セクションアンダーレイの作成
セクションアンダーレイを作成して、定型フォームのイメージや透かし模様をレポートに追加できます。
アンダーレイを作成するには、まずピクチャまたは透かし模様をレポートに追加し、次に書式設定をリセットすると、その要素
がレポートデータのアンダーレイになります。
8.1.7.1
1.
2.
挿入
ピクチャを挿入する
ピクチャ
をクリックします。
イメージファイルを選択し、[ページヘッダ] セクションのレポート本体のオブジェクトより右側に配置します。
注記
ピクチャをテキストのアンダーレイにはしないので、オブジェクトの右側に配置しています。透かし模様のように、ほとん
ど見えないようなピクチャの場合は、直接テキストの上に配置します。
8.1.7.2
オブジェクトを続くセクションのアンダーレイにする
1.
レポートキャンバスの [ページヘッダ] 領域を右クリックし、[セクションの書式設定] をクリックします。
2.
[続くセクションをアンダーレイ] をクリックします。
レポートをプレビューすると、最初の [グループヘッダ] とそれに続くいくつかの [ボディ] セクションの両方で、レポートボ
ディのテキストの横 (上ではなく) に、ピクチャが出力されます。
注記
ここでの例のように、ピクチャをレポート本体の右側に配置する方法を使用すると、チャートや従業員の写真をその詳
細の隣に配置できます。
3.
Crystal Reports の [構造] モードで、ピクチャを縦に 2 倍または 3 倍に拡大してから、レポートをもう一度プレビューしま
す。
これにより、イメージ ファイルはより多くのセクションにアンダーレイとして表示されます。
ビットマップが多くのセクションのアンダーレイになっています。ピクチャのアンダーレイの範囲は、次の条件によって変わりま
す。
●
156
ピクチャのサイズ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
●
ピクチャが最初に配置されたセクション
●
セクション内のピクチャの位置
アンダーレイ機能を使用し、要素のサイズや位置を調整すれば、いろいろな視覚的効果を生み出すことができます。
8.1.8
定型フォームの使用
セクションアンダーレイ機能を使用して、定型フォームのイメージを 1 つの結合ユニットとしてレポートデータとマージする
Crystal Reports レポートを作成できます。
8.1.8.1
定型フォームを含むレポートを作成する
1.
フォームをスキャンします。
2.
スキャンしたフォームをビットマップとしてレポートに配置します。
3.
アンダーレイ機能を使用して、ビットマップデータとレポートデータを配置します。
8.1.9
要素内のテキストの切り捨ての防止
テキストベースの要素のデフォルトの幅をそのまま使用する場合でも、またはそのサイズを変更する場合でも、要素内のテキ
ストが要素フレームの右側に出力されるという問題が発生する可能性があります。画面ではデザインどおりに正しく表示され
ていても、フォント幅を広く測定する他のプリンタドライバを使って印刷すると、テキストが長くなるにもかかわらず、要素フレー
ムの長さは変わらないため、テキストが切り詰められ、印刷されない部分ができてしまいます。
8.1.9.1
1.
要素内のテキストの切り捨てを防止する
書式設定するテキスト要素を右クリックし、[テキストの書式設定] を選択します。
[書式] ダイアログボックスが表示されます。
2.
[全般] ノードをクリックします。
3.
[複数行に出力] を選択します。
これにより、要素が複数行に出力されるようになります。テキストが要素の幅より広く出力される場合は、テキストが次の
行に折り返されます。
8.1.10 埋め込みオブジェクトでの空白行の非表示
テキスト要素にはオブジェクトを埋め込むことができるため、オブジェクトが空の場合にテキスト要素内に空白行ができること
があります。このような埋め込みオブジェクトの空のインスタンスを非表示にすることができます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
157
注記
埋め込みオブジェクトの空白行を非表示にする機能は、テキスト要素の 1 行に完全に空のオブジェクトだけがある場合に、
この空白行を削除するようデザインされています。
8.1.10.1
1.
埋め込みオブジェクトの空白行を非表示にする
[構造] モードで、目的のテキスト要素を右クリックし、[テキストの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[全般] を選択し、次に [空のオブジェクトによる空白行を非表示] を選択します。
レポートを出力すると、空の埋め込みオブジェクトには不要な空白行が出力されなくなります。変更内容は [ページ] モードで
確認できます。
8.1.11
複数行のテキストベースの要素の配置
複数行に出力するように書式設定されたテキストベースの要素も、他の要素と同じデザイン規則に従いますが、その他にも考
慮する特性が 1 つあります。プリンタドライバがテキストの間隔を広くまたは狭くする場合に、ワードラップ機能が異なるため、
要素を出力するために必要な行数が、長さを調節するために変わることがあります。
複数行のテキストベースの要素を配置すると、同じセクション内の他の要素がすぐ下に配置された場合に、問題が発生する
可能性があります。
単一行のテキストベースの要素とは異なり、長さを調節するため、複数行のテキストベース要素の要素フレームを広げても、
あまり効果はありません。広げられた境界線に従って行の幅が広がるだけです。
したがって、複数行のテキストベースの要素は、できる限りセクションの一番下に配置してください。これらのオブジェクトは、
出力時に行の追加が必要になると、セクションを下に拡大してこれに対応するため、拡大された要素が他の要素の上に表示
されることがなくなります。
8.1.12
行のインデント
Crystal Reports では、メモオブジェクト、文字列オブジェクト、およびテキスト要素の行のインデントを管理できます。
注記
オブジェクトまたはテキスト要素幅の範囲内のインデント値だけが有効です。不正な値を入力すると、ビューの下部にエラ
ーメッセージが表示されます。
158
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.1.12.1
1.
データ要素の行をインデントする
書式設定する要素を右クリックし、[結果オブジェクト要素の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[段落] を選択します。
3.
使用するインデントのオプションを設定します。
8.1.12.2
1.
テキスト要素の行をインデントする
書式設定するテキスト要素を右クリックし、[テキストの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[段落] を選択します。
3.
使用するインデントのオプションを設定します。
8.1.13
オーバーフローオブジェクト表示の有効化
Crystal Reports では、オーバーフローオブジェクト表示を使用して、レポートセル内の数値または通貨値を簡単に操作でき
ます。[オブジェクトクリッピングを許可] オプションがオフの場合、レポートをプレビューすると、オブジェクトのサイズを超える
数値または通貨オブジェクトの値はシャープ記号 (######) で表示されるため、オブジェクトのサイズが小さすぎる場合に
すぐにわかります。
オプションがオンの場合、数値または通貨値がそれを含むオブジェクトより大きいときは、その値は "“クリッピング”" (切り詰
め) されます。たとえば、100,000,000 などの値は、設定されているプロパティに応じて、1,000 または 000 としてレポート
に表示される場合があります。これは、レポートを読むときに混乱の原因となる可能性があります。
8.1.13.1
1.
オーバーフローオブジェクト表示を有効にする
書式設定する通貨オブジェクトまたは数値オブジェクトを右クリックし、[書式結果オブジェクトエレメント] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[書式設定] を展開し、次に [数値] を選択します。
3.
[オブジェクトクリッピングを許可] が選択されていないことを確認します。
8.1.14 複数の要素の選択
テキスト、オブジェクト、チャート、ビットマップ、クロスタブ要素などの複数の要素を選択して、まとめてその書式を設定できま
す。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
159
複数の要素を選択し、グループとして移動、整列、サイズ変更、および削除することができます。また、これらの要素に共通す
る任意のプロパティを変更したり、変更をすべての要素に適用したりすることもできます。
要素は、メイン要素を基準として移動、整列、およびサイズ変更されます。メイン要素とは、最後に選択した要素です。
8.1.14.1
複数の要素を選択する
1.
要素を 1 つクリックし、Shift キー、または Ctrl キーを押しながら、選択する他の要素をすべてクリックします。
2.
メイン要素を右クリックし、[書式要素] をクリックします。
[書式] ダイアログボックスが表示されます。
3.
新しい書式設定オプションを設定します。
8.1.15
テキストの回転
書式設定ダイアログボックスで、テキストの回転プロパティを使用して、垂直方向にテキストを回転できます。
90 度のテキストの回転を選択すると、テキストが反時計回り 90 度回転します。
270 度のテキストの回転を選択すると、テキストが反時計回りに 270 度回転します。
注記
テキストの回転を 0 度のままにした場合、テキストは左から右の水平方向に移動します。
注記
回転されたテキストがページの端を越えると、レポートのその部分は表示されません。
注記
回転されたテキストは DHTML ビューアでレンダリングできないため、実際にテキストを配置する前に、使用するビューア
でレポートをプレビューする必要があります。
8.1.15.1
1.
テキストを回転させるには
回転する要素を右クリックし、[<<要素>> の書式設定] をクリックします。
<<要素>> は、要素の名前です。たとえば、[書式結果オブジェクトエレメント]、[テキストの書式設定] などのようになりま
す。
[(コンポーネントの種類)の書式設定]ダイアログ ボックスが開きます。
2.
[フォント] を選択します。
3.
[回転] を [90 度] または [270 度] のいずれかに変更します。
160
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.1.16
行間隔の変更
Crystal Reports では、メモオブジェクト、文字列オブジェクト、およびテキストベースの要素の行間隔を指定できます。
8.1.16.1
1.
行間隔を変更する
書式設定するオブジェクトまたは要素を右クリックし、[<<要素>> の書式設定] を選択します。
<<要素>> は、要素の名前です。たとえば、[書式結果オブジェクトエレメント]、[テキストの書式設定] などのようになりま
す。
[書式] ダイアログボックスが表示されます。
2.
[段落] を選択します。
3.
[間隔] 値に数値を入力します。
○
[行単位] を選択すると、入力した数値とテキストのフォントサイズの乗算結果が行間隔として挿入されます。
○
[ポイント単位] を選択すると、入力した数値をポイント数として、行間隔が挿入されます。
8.1.17
ページのサイズと向きの設定
Crystal Reports では、レポートを縦向きや横向きにして、さまざまなページサイズで表示、印刷できます。
8.1.17.1
ページのサイズと向きを設定する
1.
ページ設定 の順にクリックします。
ファイル
[ページ設定] ダイアログボックスが表示されます。
2.
[用紙サイズ] メニューを使用して、ページのサイズを選択します。
3.
[方向] オプションを使用して、ページの方向を設定します。
4.
[OK] をクリックします。
8.1.18
ページ余白の設定
Crystal Reports では、仕様に合わせてページの余白を変更できます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
161
8.1.18.1
ページ余白を設定する
1.
ページ設定 の順にクリックします。
ファイル
[ページ設定] ダイアログボックスが表示されます。
2.
必要に応じて [余白] を設定します。
3.
[OK] をクリックします。
注記
余白は、すべて用紙の端から計算されています。したがって、左余白を 1 cm に設定すると、用紙の端からちょうど 1 cm
のところから出力を開始します。
注記
次にページサイズが変更されたときにレポートの余白が Crystal Reports で自動的に調整されるようにするには、[余白の
自動調整] を選択します。現在印刷可能な領域が十分に収まるサイズを新しいページサイズとして選択した場合、Crystal
Reports では、左/右および上/下の余白を同じ係数で拡大、縮小し、余白を増減します。現在印刷可能な領域よりも小さ
いサイズを新しいページサイズとして選択した場合、Crystal Reports では余白を 0 に設定してページ全体が収まるように
します。次にさらに大きいページを選択した場合、(縮小された)印刷可能領域が維持され、左/右、上/下の余白の比率が
1:1 になります。
注記
ページ余白は、条件付き式で制御することもできます。
関連情報
条件に応じた余白の変更 [173 ページ]
8.1.19
カスタムページサイズの設定
Web 向けのレポートを設計する場合は、標準の印刷用紙サイズに対応していないページサイズを設定することがあります。
Crystal Reports では、[ページ設定] ダイアログボックスを使用してカスタムページサイズを設定できます。
8.1.19.1
カスタムページサイズを設定する
1.
ページ設定 の順にクリックします。
ファイル
[ページ設定] ダイアログボックスが表示されます。
2.
162
[用紙サイズ] メニューで[カスタム] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
3.
目的のテキストボックスに新しい値を入力し、ページの幅と高さを調整します。
4.
[OK] をクリックします。
8.1.20 TrueType フォントの使用
プリンタ固有のフォントを使ってレポートをデザインすると、別のプリンタを使った場合に問題が発生する可能性があります。他
のプリンタでは、そのフォントがサポートされていなかったり、インストールされていないことがあります。
Crystal Reports では、印刷時にプリンタドライバが認識しないプリンタ固有のフォントが見つかると、代わりのフォントが使用
され、印刷結果が異なってしまいます。このような事態を避けるために、レポートをデザインするときには、一般に使用されて
いる TrueType フォントだけを使用することをお勧めします。
8.1.21
日本語システムの日付書式の使用
英語のレポートでは多くの日付書式を選択できますが、このレポートを日本語システムに送信すると、書式設定がくずれてし
まう場合があります。日本語システムでは、必ずしもすべての英語の日付書式が表示できるとは限りません。日本語から英語
の場合も同じことが言えます。これらは、システムの地域設定や選択されている書式に依存します。正しく表示されない場合
は、これらの設定を確認する必要があります。
8.2
書式設定のプロパティ
Crystal Reports では、書式設定プロパティを設定できます。ほとんどの場合は、次の 2 種類のプロパティの 1 つを設定でき
ます。
●
無条件(常にプロパティを適用)
●
条件付き(特定の条件に合う場合にのみプロパティを適用)
関連情報
無条件の書式設定 [163 ページ]
条件付き書式設定 [170 ページ]
8.2.1
無条件の書式設定
無条件の書式設定は、どのような場合にも適用される書式設定です。このタイプの書式設定プロパティは、必ず "“選択して適
用”" という手順をとおして設定します。たとえば、書式を設定するオブジェクトやセクションを選択した後、プロパティの設定を
使用して、選択したオブジェクトやセクションに書式設定を適用します。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
163
8.2.1.1
オブジェクトへの境界線、色、および影の追加
Crystal Reports では、レポートのオブジェクトに境界線、色、および影を追加して重要なデータを強調表示し、本格的な体裁
のレポートを作成できます。
8.2.1.1.1
1.
オブジェクトに境界線、色、および影を追加する
書式設定するオブジェクトまたは要素を右クリックし、[<<要素>> の書式設定] をクリックします。
[(コンポーネントの種類)の書式設定]ダイアログ ボックスが開きます。
2.
[表示] をクリックします。
3.
目的の表示の値を設定します。
たとえば、オブジェクトの周囲に境界線を追加するには、[境界線] セクションに移動して上下左右の境界線のプロパティ
を設定します。
8.2.1.2
線のレポートへの追加と編集
Crystal Reports では、レポートに線を追加して、重要なデータを強調表示し、本格的な体裁のレポートを作成できます。線
は、水平または垂直の方向に引くことができます。垂直線を複数のページに渡って表示するには、線が終了するレポートセク
ションが、線が開始するレポートセクションとは別のページにあることが必要です。その場合、グループヘッダからそれに対応
するグループフッタまで引かれた線は、ページヘッダの真下から、グループフッタが表示されるページまで切れずに表示され
ます。
8.2.1.2.1
1.
2.
挿入
線
線を追加する
をクリックします。
カーソルを使用して、任意の表示位置に線を描画します。
注記
斜めの線を描くことはできません。
8.2.1.2.2
1.
線を編集する
書式設定する線を右クリックし、[線の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
164
線の [全般] または [表示] オプションを変更します。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
3.
終了したら、[閉じる] をクリックします。
8.2.1.3
レポートのボックスへの追加と編集
Crystal Reports では、レポートにボックスを追加して、重要なデータを強調表示し、本格的な体裁のレポートを作成できま
す。
8.2.1.3.1
1.
2.
挿入
ボックス
をクリックします。
カーソルを使用して、任意の表示位置にボックスを配置します。
8.2.1.3.2
1.
ボックスを追加する
ボックスを編集する
書式設定するボックスを右クリックして、[ボックスの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
ボックスの [全般] または [表示] オプションを変更します。
3.
終了したら、[閉じる] をクリックします。
8.2.1.4
丸い図形へのボックスの変更
Crystal Reports でレポート書式をデザインするとき、さまざまな図形をレポートに挿入できます。図形には、ボックス、角の丸
いボックス、円、楕円などがあります。丸く表示するボックスの各側面の大きさを示すサイズを入力できます。このサイズは静
的なものです。つまり、ボックスの各側面が長くなればなるほど、カーブは小さくなります。たとえば、側面が 4 インチで [角の
丸み付け] が 0.5 インチに設定されている正方形は次のように見えます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
165
166
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
同じサイズで [角の丸み付け] が 1 インチに設定されている正方形は次のように見えます。
8.2.1.4.1
ボックスを丸い図形に変更する
ボックスをレポートに追加してあるとします。
詳細についてはレポートのボックスへの追加と編集 [165 ページ]を参照してください。
1.
書式設定するボックスを右クリックして、[ボックスの書式設定] をクリックします。
[ボックス] ダイアログボックスが開きます。
2.
[表示] をクリックします。
3.
[角の丸み付け] に数値を設定します。
入力した値の大きさに応じて、ボックスの角が丸くなるか、ボックスが楕円形または円形に変化します。
注記
[影付き] プロパティを選択すると、Crystal Reports は [角の丸み付け] プロパティを 0 にリセットします。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
167
8.2.1.5
従来の経理形式の使用
経理で使用される規約に従う方法として、Crystal Reports では、会計レポートの通貨記号、マイナス記号、および 0 の値を
表示する方法を決定できます。また、貸付および借入金額の記号を逆に設定することもできます。
8.2.1.5.1
1.
レポートの会計の形式を使用する
書式設定する通貨オブジェクトまたは数値オブジェクトを右クリックし、[書式結果オブジェクトエレメント] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[書式] をクリックし、一覧内で [会計の書式] をクリックします。
このオプションを選択すると、要素に次の設定が適用されます。
○
○
負の値はかっこで囲んで表現されます。
[0 の値を表す記号] オプションには、ダッシュ (-) が自動的に選択されます。つまり、レポートの 0 値は常にダッシュ
(-) で表示されます。
○
3.
通貨記号は、左側に固定です。
(オプション) 会計レポートで貸付および借入金額の負号を逆にするには、次の手順を実行します。
a)
書式
数値
をクリックします。
b) [負号を逆にする] チェックボックスをオンにします。
4.
[閉じる] をクリックします。
8.2.1.5.2
レポートの会計の形式をカスタマイズする
1.
書式設定する通貨オブジェクトまたは数値オブジェクトを右クリックし、[書式結果オブジェクトエレメント] をクリックします。
2.
[書式] をクリックして、一覧から数値書式の表示方法を選択します。
3.
4.
書式
数値
の順にクリックして、オプションを使用してカスタム会計の形式を設定します。
書式
通貨
の順にクリックして、[記号の書式] 一覧を使用して、レポートで値とともに通貨記号を表示する方法を
指定します。
5.
終了したら、[閉じる] をクリックします。
8.2.1.6
横方向のページへのレポート要素の繰り返し出力
クロスタブなどの一部のレポート要素は、複数のページにわたって横方向に拡張できます。Crystal Reports では、テキスト
要素、日付要素、チャート、線、ボックスなど、横方向に拡張できない他のレポート要素を、クロスタブが作成する追加の横方
向の各ページで繰り返すことができます。たとえば、レポートのページフッタにイメージ、データ要素、ページ番号が含まれてい
る場合、書式設定ダイアログボックスを使用して、Crystal Reports が横方向のページにこれらの要素を繰り返し出力するよ
うに設定できます。
168
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.2.1.6.1
1.
横方向のページで要素を繰り返して出力する
繰り返す要素を右クリックし、[<<要素>> の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[全般] ノードで、[横方向のページに繰り返し出力] を選択します。
クロスタブによってレポートが横方向に拡張されている場合、書式設定した要素がそれぞれの横方向のページに繰り返し出
力されます。
注記
繰り返して出力されているレポートオブジェクトは移動できません。オブジェクトを移動するには、最初の要素を移動する必
要があります。
注記
繰り返して出力されているレポート要素のいずれでも書式を設定できますが、変更は、繰り返して出力されているすべての
要素に適用されます。
横方向のページでのページ番号の使用方法については、横方向のページの番号付け [169 ページ]を参照してください。
8.2.1.6.2
横方向のページの番号付け
横方向のページ番号と呼ばれる事前定義済みオブジェクトを使用すると、横方向のページに番号を付けることができます。
8.2.1.6.2.1
横方向のページに番号を付ける
1.
[データエクスプローラ] で、[事前定義済みオブジェクト] を展開します。
2.
リストから [横方向のページ番号] を選択し、レポートに挿入します。
8.2.1.7
行間のスペースの使用
レポートの行間に表示されるスペースの広さは、セクション内の要素に対するセクションの高さによって決まります。
[ページ] モードでは、サイズ変更ポインタを使用して領域の大きさを変更することにより、スペースを追加または削除できま
す。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
169
8.2.1.7.1
サイズ変更によるスペースの追加
レポートの行間にスペースを追加するには、マウスポインタをセクションの下の境界線に移動します。ポインタがサイズ変更ポ
インタに変わります。境界線を引き下げてスペースを追加します。
8.2.1.7.2
セクションのサイズ変更によるスペースの削除
セクション内の不要なスペースを削除するには、マウスポインタをセクションの下の境界線に移動します。ポインタがサイズ変
更ポインタに変わります。境界線を引き上げてスペースを削除します。
8.2.1.7.3
セクションの非表示によるスペースの削除
セクション全体が空の場合 (たとえば、レポートのページフッタセクションに何も配置していない場合) は、書式設定ダイアログ
ボックスでこのセクションを非表示にすると、このページフッタが占める無駄なスペースを削除できます。
8.2.1.7.3.1
セクションを非表示にしてスペースを削除する
1.
非表示にするレポートセクションを右クリックし、[<<セクション>> の書式設定] をクリックします。
2.
書式設定ダイアログボックスで、[非表示] を選択します。
これで、ページフッタセクションは出力されません。
8.2.2
条件付き書式設定
条件付き書式設定は、特定の条件を満たす場合にだけ適用される書式設定です。たとえば、レポートで次のような特定の条
件が満たされる場合に、書式を変更できます。
●
期限を過ぎた場合、顧客の差引残高を赤色で表示する。
●
カナダの顧客の場合、日付は日、月、年の書式で表示する。
●
行番号が奇数の場合、背景色を表示する。
Crystal Reports では、これらの他にも多くの場面で、条件付きの書式を簡単に適用できます。
無条件の書式設定は、"“選択して適用”" という手順を踏みます。条件付き書式設定では、基本の手順は同じですが、書式設
定を適用するかどうかを決める条件を設定する手順が加わります。条件を指定するには、単純な式を使用します。条件付き
書式設定式を設定すると、書式ダイアログボックスで設定した無条件の設定よりもその式が優先されます。たとえば、[非表
示] プロパティを有効にして、このプロパティを適用するための条件式を定義すると、この式で指定した条件が満たされる場合
にのみ、このプロパティが適用されます。
Crystal Reports ではオン/オフ プロパティと属性プロパティを、どちらも条件付きで設定できます。ただし、それぞれ異なる種
類の式が必要になります。
170
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.2.2.1
条件付き演算子と値について
結果オブジェクトまたは要素を条件付きで書式設定する場合、その条件を定義する演算子および値を選択する必要がありま
す。
次の表に、使用可能な演算子の一覧を示します。
演算子
説明
等しい/等しくない
この条件には、指定した値を含む、または含まない項目が含まれま
す。
より小さい (<) / 以下 (≦)
この条件には、指定した値より小さい値、またはそれ以下の値の項
目が含まれます。
より大きい (>) / 以上 (≧)
この条件には、指定した値より大きい値、またはそれ以上の値の項
目が含まれます。
リスト内/リスト外
この条件には、指定された項目のリスト内にある値、またはリスト内
にない値の項目が含まれます。
で始まる値/で始まらない値 (文字列オブジェクトのみ)
この条件には、指定した単語または文字を含む、または含まない項
目が含まれます。
を含む/を含まない (文字列オブジェクトのみ)
この条件には、指定した単語または文字を含む、または含まない項
目が含まれます。
範囲内/範囲外
この条件には、その項目の値が指定した値の範囲内または範囲外
の項目が含まれます。
次の表に、使用可能な値とその値を適用するための手段を示します。
オプション
手順
<値の入力>
●
リストから値を選択するか、[新しいパラメータ] をクリックして
[パラメータの作成] ダイアログボックスを開き、新しいパラメー
タを作成します。
<値の選択>
●
リストから値を選択するか、[新しいパラメータ] をクリックして
[パラメータの作成] ダイアログボックスを開き、新しいパラメー
タを作成します。
<最小/最大の選択>
[範囲内の値] ダイアログボックスから、次のいずれかを選択しま
す。
●
[最小値] リストをクリックし、リストから最小値のパラメータを選
択するか、[新しいパラメータ] をクリックし、新しいパラメータを
作成します。
●
[最大値] リストをクリックし、リストから最大値のパラメータを選
択するか、[新しいパラメータ] をクリックし、新しいパラメータを
作成します。
8.2.2.2
条件付きオン/オフプロパティ
条件付き“オン”/“オフ”プロパティでは、条件を満たしているかどうかが評価されます。このプロパティは、指定条件に当てはま
る場合はオンになり、当てはまらない場合はオフになります。このような書式設定には、論理値を返す式を使用します。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
171
Crystal 構文の例
{Customer.Country} = "Canada"
8.2.2.3
条件付き属性プロパティ
条件付き属性プロパティでは、複数の条件のうちのどの条件を満たしているかが評価されます。次に、プログラムは、その条
件に合った書式設定を適用します。たとえば、一定値以下の値を赤で出力し、その他の値は黒で出力することにします。プロ
グラムは、まず、値が一定値以下かどうかを評価します。値が一定値以下の場合は、"赤"の属性が適用されます。一定値以
下でない場合は、"黒"の属性が適用されます。
このような条件付き書式設定には、If-Then-Else 式を使用します。
Crystal 構文の例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
crBlack
条件付き属性プロパティの式を作成する場合、Crystal Reports では、式ビューの式のコメント領域に、属性のオプションが表
示されます。これらの任意の属性を選択して、式に使用できます。たとえば、条件付きで背景色を設定する場合は、使用可能
な色の属性を含むオプションが表示されます。条件付きで境界線を設定する場合は、crSingleLine、crDoubleLine、
crDashedLine、crDottedLine、crNoLine などの属性を含むオプションが表示されます。
注記
Else キーワードは必ず条件式に含めてください。含まれていないと、If 条件に合致しない値が元の書式に残る場合があり
ます。If 条件に合致しない値を元の書式に残す場合は、Default Attribute 関数を使用します。DefaultAttribute 関数は、
[プロパティ] ダイアログボックスで設定された書式設定プロパティの値を返します。
Crystal 構文の例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
DefaultAttribute
このようなプロパティには、より詳細な指定を行うこともできます。いくつかの条件を指定し、それぞれにプロパティを設定でき
ます。条件は 2 つに制限されません。たとえば、レポートに、世界各国の売上高を含む数値オブジェクトがある場合は、国ごと
に適用する数値属性を指定できます。この場合、条件が A 国の場合は、A 国の属性が適用されます。条件が B 国の場合は
B 国の属性、C 国の場合は C 国の属性が適用されます。
172
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
複数の選択肢がある場合は、次のような式を使用します。
Crystal 構文の例
If {CUSTOMER.Country} = "Canada" Then
crRed
Else If {CUSTOMER.Country} = "England" Then
crBlack
Else If {CUSTOMER.Country} = "Australia" Then
crGreen
Else
crBlue
このような条件付き書式設定には、複数条件の If-Then-Else 式を使用します。
8.2.2.4
条件に応じたフォントの変更
パラメータ値などの条件に基づくメモオブジェクトや文字列オブジェクトについては、そのフォント、フォントのスタイルやサイ
ズ、色を条件付きで変更できます。
8.2.2.4.1
1.
フォントを条件に応じて変更する
書式設定する要素を右クリックし、[条件付き書式設定] をクリックします。
書式設定ダイアログボックスが表示されます。
2.
書式設定ダイアログボックスで、[条件の追加] をクリックします。
3.
[条件] 枠で、オブジェクトリストから結果オブジェクトを選択します。
4.
演算子リストから、結果オブジェクトの演算子を選択します。
5.
値リストから値を選択します。
6.
[書式の設定] 枠で、条件が true の場合に適用される 1 つまたは複数のフォントプロパティを選択します。
7.
各フォントプロパティに値を追加します。
8.
[OK] をクリックして条件を適用します。
8.2.2.5
条件に応じた余白の変更
ページ余白は、式を使用して制御できます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
173
ページ番号に基づいた余白
次の式は、ページ番号が偶数か奇数かをチェックし、その結果に応じて余白を設定します。ページ番号が偶数の場合、余白
は 1 インチに設定されます。ページ番号が奇数の場合、余白は 2 インチに設定されます。
If Remainder(pagenumber,2) = 0 then 1440 else 2880
ページの向きに基づいた余白
次の式は、ページの向きをチェックし、その結果に応じて余白を設定します。ページの向きが縦の場合、余白は 1 インチに設
定されます。ページの向きが横の場合、余白は 2 インチに設定されます。
If CurrentPageOrientation = crPortrait then 1440 else 2880
注記
余白の単位は twip です。1 インチは 1440 twip になります。
8.2.2.5.1
1.
ファイル
余白を条件に応じて変更する
ページ設定 の順にクリックします。
[ページ設定] ダイアログボックスが表示されます。
2.
変更する余白の隣の [条件式] ボタンをクリックします。
3.
[式ワークショップ] に、余白の条件式を入力します。
4.
[保存して閉じる] をクリックして[ページ設定] ダイアログボックスに戻ります。
5.
[OK] をクリックします。
8.2.2.6
最初のページを除くすべてのページに表示するフッタの作成
最初のページを除くすべてのページにページフッタを出力するように指定できます。それには、オン/オフプロパティを使用し
て、[ページフッタ] セクションを条件付きで書式設定します。
8.2.2.6.1
最初のページを除くすべてのページにフッタを作成する
1.
レポートの [ページフッタ] セクションにページフッタとして表示するオブジェクトを配置します。
2.
[ページフッタ] セクションを右クリックし、[セクションの書式設定] をクリックします。
174
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
[書式] ダイアログボックスが表示されます。
3.
[非表示]を選択します。
4.
[非表示] オプションの隣にある [式ワークショップ] ボタンをクリックします。
式ワークショップが表示され、新しく作成した式の名前が表示されます。
5.
式ワークショップに次の式を入力します。
Crystal 構文の例
PageNumber = 1
この式は、最初のページのページフッタだけを非表示にし、それ以外のページのページフッタは表示するように指示しま
す。
6.
[保存して閉じる]をクリックします。
7.
[ページ] モードをクリックして、レポートの変更を確認します。
注記
複数行のページフッタを、別々の [ページフッタ] セクションに行を配置して作成した場合は、上の式を使用して、それぞれ
のセクションを条件付きで非表示にする必要があります。
注記
最初のページを除くすべてのページに表示するページヘッダを作成するには、まず、[ページヘッダ] セクションにヘッダ情
報を配置します。次に、[ページフッタ] セクションを非表示にしたのと同じ式を使用して、そのセクションを条件付きで非表
示にします。
関連情報
式 [278 ページ]
8.2.2.7
X 位置の条件に応じた変更
条件に応じてオブジェクトの X 位置(左余白からの水平位置)を変更できます。要素の値がある条件に一致したときに、要素を
異なる列に表示する場合、この操作を行います。たとえば、予定通りに出荷された注文は最初の列に、遅れて出荷された注
文は 2 番目の列に表示する場合などがあります。
注記
線要素またはボックス要素の X 位置は条件付きでは変更できません。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
175
8.2.2.8
要素の幅の条件付きでの変更
要素の幅は、条件に基づいて変更できます。
注記
線要素またはボックス要素の幅は条件付きでは変更できません。
8.2.2.8.1
1.
要素の幅を条件付きで変更する
条件付きで幅を変更する要素を右クリックし、[<<要素>> の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[全般] ノードを展開します。
3.
幅要素の隣にある [条件式] ボタンをクリックします。
式ワークショップが表示されます。
4.
[式ワークショップ] に、幅の条件式テキストを入力します。
5.
[保存して終了] をクリックします。
6.
書式ダイアログボックスを閉じて幅の設定を保存します。
Crystal Reports は、条件に一致した要素を新しい幅にサイズ変更しますが、条件に一致しない要素は元のサイズで残しま
す。
8.2.2.9
条件付きピクチャの作成
[条件付きピクチャエキスパート] ダイアログボックスを使用して、レポート上の 1 つまたは複数のピクチャに条件を追加できま
す。条件付きピクチャは、レポート上の 1 つのピクチャオブジェクトに挿入されます。[条件付きピクチャエキスパート] に追加す
る各ピクチャに対し、ピクチャがレポートにどのように適用されるかを決定する条件を入力します。
8.2.2.9.1
条件付きピクチャを追加する
条件付きピクチャを作成するには、事前にピクチャをレポートに挿入しておく必要があります。追加する各ピクチャに対して演
算子と値を選択して、ピクチャに条件を適用します。演算子のタイプ ([等しい]、[等しくない]、[範囲内]、[範囲外] など) は、ピ
クチャで使用できる値や選択の種類に影響を与えます。
1.
レポート上のピクチャ要素を右クリックし、[条件付きピクチャエキスパート] をクリックします。
[条件付きピクチャエキスパート] ダイアログボックスが表示されます。
2.
[ピクチャの追加] をクリックします。
[開く] ダイアログボックスが表示されます。
3.
レポートに追加するピクチャファイルを選択し、[開く] をクリックします。
[条件付きピクチャエキスパート] ダイアログボックスが開き、選択したピクチャファイルの一覧が表示されます。
176
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
4.
[オブジェクトを選択] リストから、各ピクチャの結果オブジェクトを選択します。
ヒント
テキストボックスに結果オブジェクトのタイトルを入力することもできます。結果オブジェクトのタイトルを入力すると、結
果オブジェクトの一覧が自動的にフィルタされます。
5.
演算子ボックスで、ピクチャで使用する演算子を次の中から 1 つ選択します。
選択した演算子に応じて、値ボックスに [値の入力]、[値の選択]、または [最小/最大の選択] が表示されます。
6.
値ボックスで、条件で使用する値を設定します。
7.
これらの手順を繰り返して、各ピクチャに条件を追加します。各ピクチャへの条件の適用が終了したら、[OK] をクリックし
ます。
条件がピクチャに適用されます。
8.3
書式ペインタの使用
書式ペインタを使用すると、共通の無条件の書式設定プロパティや条件付き書式設定プロパティを、1 つのレポート要素から
1 つ以上のターゲット要素にコピーできます。[書式ペインタ] オプションを使用するには、レポートでソース要素を右クリックし
て、コンテキストメニューから [書式ペインタ] を選択します。ソースオブジェクトとは異なるターゲットオブジェクトに書式設定を
適用すると、共通のプロパティだけが適用されます。たとえば、ソースオブジェクトが論理型オブジェクトで、ターゲットオブジェ
クトが通貨オブジェクトの場合は、共通のフォントプロパティと境界線プロパティだけが変更され、論理値プロパティは適用され
ず、通貨プロパティは設定されません。
注記
書式ペインタでは、ハイパーリンク情報はターゲット要素またはオブジェクトにコピーされません。
注記
“日付/時刻”オブジェクトをソースとして使用すると、ターゲットオブジェクトの日付プロパティや時刻プロパティが変更されま
す。また、日付オブジェクトまたは時刻オブジェクトをソースとして使用すると、“日付/時刻”オブジェクトの日付と時刻のプロ
パティは変更されます。
8.3.1
1.
書式設定をコピーおよび適用する
レポート内のソース要素またはオブジェクトを選択し、[書式ペインタ] をクリックします。
注記
Esc キーを押して書式ペインタを終了します。
2.
書式を適用するターゲット要素またはオブジェクトをクリックします。
レポート上でマウスを移動させるとき、ターゲットとして使用できない要素またはオブジェクトの上では、カーソルが中止ポ
インタに変わります。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
177
注記
書式設定を複数の要素またはオブジェクトに適用する場合、[書式ペインタ] をダブルクリックします。[書式ペインタ] を
終了するには、アイコンを再度クリックするか、Esc キーを押します。
8.4
アクションの有効化
SAP システムで設定される Report-to-Report Interface (RRI) アクションを使用すると、ユーザがレポートのデータに基づく
操作を実行できます。アクションの有効化設定をオンにすると、結果オブジェクトに対して、RRI アクションが自動的に使用可
能になります。アクションの種類には、Web ページの閲覧、ABAP レポートを開く、Xcelsius ダッシュボードへの移動などがあ
ります。
注記
RRI アクションは、SAP BEx クエリに接続しているときにのみ使用できます。
8.4.1
連結アクションの有効化
アクションの一覧には、表示する権限があるレポート間インタフェース (RRI) 連結アクションのみが含まれます。
注記
結果オブジェクトのタイプによっては、不完全なデータクエリが返される場合があります。サポートされていない結果オブジ
ェクトタイプで連結アクションを有効にすると、連結アクションアイコンが警告アイコン
に変わります。サポートされてい
ない結果オブジェクトタイプは次のとおりです。
●
デフォルト階層
●
属性
●
メジャー
警告アイコン上にマウスポインタを移動すると、警告メッセージが表示されます。
サポートされていない結果オブジェクトタイプでは、アクションが有効化されたオブジェクトからのコンテキスト依存の情報
を、RRI ターゲットから取得された選択基準に追加できません。サポートされる結果オブジェクトを RRI ターゲットのコンテ
キストに含めるには、以下のいずれかを実行します。
●
サポートされていない結果オブジェクトの代わりに、ディメンションまたは非デフォルト階層を挿入します。
●
サポートされていない結果オブジェクトに加えて、ディメンションまたは非デフォルト階層を挿入します。
注記
余分なオブジェクトをレポートに表示したくない場合は、非表示にできます。オブジェクトは RRI アクションに含まれ
ますが、レポートユーザに対しては表示されません。
178
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
関連情報
オブジェクトのクイックリファレンス [98 ページ]
非表示 [155 ページ]
8.4.1.1
連結アクションを有効または無効にする
結果オブジェクトを右クリックして、[アクションの有効化] をクリックします。
連結アクションが有効または無効になります。
8.4.2
連結アクションの使用
連結アクションを使用すると、レポート上の結果オブジェクトに接続されている一覧から、アクションを起動できます。 アクション
には、Web ページの閲覧、ほかのプログラムの実行、レポートのほかのセクションへのリンクの追跡などがあります。 有効化
されている連結アクションを持つオブジェクトの上にカーソルを移動させると、右側に連結アクションアイコン (
) が表示され
ます。
8.4.2.1
連結アクションを使用する
1.
連結アクションを持つ結果オブジェクトに移動します。
2.
[連結アクション] アイコンをクリックして、アクションを選択します。
アクションが有効になります。
注記
アイコン
が表示され、"“アクションの呼び出し時に <<オブジェクト>> には値は含まれません”" という警告メッセ
ージが表示される場合は、結果オブジェクトがサポートされていないタイプです。詳細については、連結アクションの有
効化 [178 ページ]を参照してください。
8.5
複数セクションレポート
この節では、Crystal Reports の複数セクションレポートの機能を使用して作成できる高度なレポートを数多くご紹介します。
複数セクションは、重なり合う要素を制御する場合に役立ちます。各セクションに適用した条件に基づく値を表示するレポート
を作成できます。たとえば、条件に基づく情報を表示するフォームレターを作成できます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
179
8.5.1
セクションについて
新しいレポートを作成すると、次のレポート領域ごとに 1 つのセクションが設定されます。
●
レポートヘッダ
●
ページヘッダ
●
ボディ
●
レポートフッタ
●
ページフッタ
どの領域にもさらにセクションを追加することができます。追加したセクションは、削除したり、領域内の他のセクションとの位
置関係を変えることができます。ただし、各領域には 1 つ以上のセクションが存在する必要があり、それらを削除することはで
きません。領域内の最後のセクションは非表示にすることができます。
8.5.2
セクションの操作
セクションでは、挿入、削除、移動、サイズ変更などの操作ができます。
8.5.2.1
セクションを挿入する
セクションの追加は、[ページ] モードよりも [構造] モードの方が簡単に実行できます。
1.
[挿入] タブで[セクション] をクリックします。
2.
新しいセクションを追加するレポートキャンバスの領域をポイントしてからクリックし、セクションを追加します。
新しいセクションがレポートに追加されます。
8.5.2.2
セクションを削除する
削除するセクションを右クリックし、[削除] を選択します。
注記
各領域には、1 つ以上のセクションが存在する必要があります。領域内の最後のセクションは非表示にすることができ
ます。
セクションがレポートから削除されます。
180
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.5.2.3
セクションを移動する
1.
移動するセクションをクリックします。
2.
セクションタブをクリックし、新しい場所にドラッグします。
注記
セクションは、セクションの領域内でだけ上下方向に移動できます。
8.5.2.4
セクションのサイズを変更する
1.
サイズを変更するセクションをクリックします。
2.
セクションの下の境界線上にカーソルを置きます。
カーソルがサイズ変更ポインタに変わります。
3.
境界線をドラッグして、セクションのサイズを変更します。
8.5.3
複数のセクションの使用
可変長要素同士の上書きの防止、または空白行の削除といったレポートタスクは、1 つの領域内に複数のセクションを作成す
ることでより効果的に実行できます。
8.5.3.1
可変長要素が重ならないように制御
サブレポートなどの可変長要素に、[複数行に出力] オプションが設定されていて、レポートの 1 つのセクションでその要素が
別の要素の上に配置されている場合、その要素は、すぐ下に配置されている要素に重なって出力される可能性があります。
この問題を解決するには、1 つの領域に複数のセクションを作成し、上のセクションに可変長要素を入れ、下のセクションにそ
の他の要素を配置します。
8.5.3.2
オブジェクトが空の場合の空白行の削除
この Customer フォルダには、2 つの住所フィールドがあります。1 つ (住所 1) は番地用に、もう 1 つ (住所 2) は、部屋番号
や私書箱などに使用します。通常、"住所 1"には値が含まれますが、"住所 2"は空欄となることがあります。このデータを使っ
て顧客リストを作成する場合、宛名ラベル形式でオブジェクトを積み重ねると、"住所 2" オブジェクトが空の顧客レコードでは、
空行が出力されてしまいます。複数セクションを使用すると、この空行を削除することができます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
181
8.5.3.2.1
複数セクションを使用して空白行を削除する
1.
新しい [ボディ] セクションを 2 つ作成して、[ボディ] 領域のセクションを全部で 3 つにします。
2.
"<住所 2>" オブジェクトをレポートの中央のセクションに配置し、その他の結果オブジェクトは、その上下のセクションに
配置して表示されるようにします。
3.
[ボディ] 領域で、2 番目のセクションを右クリックし、[セクションの書式設定] をクリックします。
4.
[全般] 領域で、[空の場合は非表示] を選択します。
レポートを出力すると、"住所 2" のセクションが空の場合、このセクションは空行としてレポートには出力されません。
関連情報
セクションを挿入する [180 ページ]
8.5.3.3
空白行の条件付き追加
複数セクションを使用すると、レポートに特定の条件で空白行を出力できます。たとえば、レコード 5 件ごとに空白行を挿入で
きます。
8.5.3.3.1
空白行を条件付きで追加する
1.
レポートに、ボディセクションを 2 つ作成します。
2.
上のセクションにレポートの結果オブジェクトを配置します。
3.
2 番目のセクションを右クリックし、[セクションの書式設定] をクリックします。
4.
[非表示] を選択してから条件式ボタン
5.
次の式を入力します。
をクリックします。
Remainder (RecordNumber,5) <> 0
この式は、各レコード番号を 5 で割り、余りがある場合は、レコードの空セクションを非表示にします。ただし除算によって
余りが発生しない場合、つまりレコードが 5 つ出力されるごとに余りが 0 になる場合は、2 番目のセクションが出力され、
空行が挿入されます。
注記
式を適切に変更すると、さまざまな条件で空白行を挿入できます。
182
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
関連情報
セクションを挿入する [180 ページ]
8.5.4
フォームレター
フォームレターは、必ずしも複数セクションレポートで使用されているわけではありませんが、複数セクションレポートでカスタ
ムメールを作成するために頻繁に使用されています。この節では、複数のセクションを使用し、複数のフォームレターまたは同
じフォームレターの複数のバージョンを使ってカスタムメールを作成する方法を解説しています。
フォームレターでは、レポートの内容を保持するためにテキストエレメントがよく使用されます。
8.5.4.1
テキストエレメントの操作
フォームレターを作成する場合は、テキスト要素を使用します。テキスト要素に関する説明を以下に示します。
●
テキスト要素にはテキストと結果のオブジェクトの両方を含めることができます。フォームレターではこの両方が頻繁に使
用されます。
●
テキスト要素のサイズは変更できます。フォームレターでは多くの場合、テキスト要素がレターとして出力されるようにサ
イズ変更されます。
8.5.4.2
テキストエレメントを使用したフォームレターの作成
フォームレターを作成するには、テキスト要素を利用します。作成するフォームレターは結果フォルダと統合され、各レターは、
それぞれのレコードからの企業情報を使ってカスタマイズされます。
このチュートリアルの手順を実行する手段がわからない場合は、テキストエレメントの操作 [183 ページ]を参照してください。
8.5.4.2.1
フォーム レターを作成する
レターには、日付、宛名、あいさつ文、1 段落の本文、および結びを入れます。
1.
顧客リストレポートに表示される結果オブジェクトを含む、空のレポートを作成します。
たとえば、"<顧客名>"、"<国>"、"<市>"、"<地域>"、"<郵便番号>"、"<住所 1>" などの結果オブジェクトを指定します。
2.
[構造] モードのときは、レポートのボディセクションにテキスト要素を挿入します。
3.
エレメントフレームの右端のサイズ変更ハンドルをレポートキャンバスの右端までドラッグします。
エレメントは、約 20 cm のページの幅と同じくらいの大きさになります。状況によっては、サイズ変更を中断し、ウィンドウ
をスクロールしてからサイズ変更する必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
183
8.5.4.2.2
日付を挿入する
事前定義済みオブジェクトをレポートに追加して、レター上に現在の日付を出力できます。
1.
レターに日付要素を挿入するには、[データエクスプローラ] サイドパネルの [事前定義済みオブジェクト] 領域を展開しま
す。
2.
[出力日付] をテキスト要素にドラッグし、スペースを 2 つ入力します。
a) 日付の書式を変更するには、[出力日付] オブジェクトを右クリックして [テキストの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
b) 適切な日付書式を選択します。
ヒント
テキスト要素で [複数行に出力] オプションを選択していない場合、ボディセクションとテキスト要素のサイズを変更し
なければならない場合があります。
8.5.4.2.3
宛名を作成する
宛名を作成するには、結果オブジェクトを [データエクスプローラ] サイドパネルからテキスト要素までドラッグします。
1.
レポートの [ボディ] セクションにテキスト要素を挿入します。
2.
"<住所 1>" オブジェクトをテキスト要素にドラッグし、スペースを入力します。
3.
"<市>" オブジェクトをドラッグして挿入位置に配置し、カンマ (,)、スペースの順に入力します。
4.
"<地域>" オブジェクトをドラッグして挿入位置に配置し、スペースを 2 つ入力します。
5.
"<郵便番号>" オブジェクトをドラッグして挿入位置に配置し、スペースを 2 つ入力します。
注記
テキストエレメント内にオブジェクトを配置すると、自動的に両端が切り詰められ、左右の余白がなくなります。
8.5.4.2.4
書き出しを作成する
1.
スペースを 4 つ入力します。
2.
「Dear」、スペースの順に入力します。
3.
[データエクスプローラ] サイドパネルから、"<敬称>" オブジェクトをテキスト要素までドラッグしてスペースの直後に配置
します。
4.
スペースを入力します。
5.
[データエクスプローラ] サイドパネルから、"<担当者 (姓)>" オブジェクトをテキスト要素までドラッグしてスペースの直
後に配置します。
6.
184
挿入位置にコロン (:) を入力し、その後にスペースを 2 つ入力します。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.5.4.2.5
本文を作成する
次の手順を実行すると、本文の段落と結びを作成できます。
1.
「Your company」と入力し、カンマ (,) とスペースを入力します。
2.
[データエクスプローラ] サイドパネルから、"<顧客名>" オブジェクトをテキスト要素までドラッグしてスペースの直後に配
置します。
3.
4.
カンマ (,) の後にスペースを入力します。
本文を入力し、その後にスペースを 2 つ入力します。
たとえば次のテキストを (「」を含めずに) 入力します。「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.
「Sincerely yours」と入力して、カンマ (,) とスペースを 4 つ入力します。
6.
自分の名前を入力すると、フォームレターは完成です。
最終的なフォームレターは、[ページ] モードで表示できます。
8.5.4.3
フォームレターへの条件付きメッセージの出力
フォームレターに条件付きメッセージを出力することもできます。たとえば、$300 未満の注文に対しては最低注文手数料とし
て $50 を請求し、$500 を超える注文に対しては送料を無料にするとします。このとき、2 つの条件付きメッセージを作成する
ことができます。1 つは、注文金額が $300 未満の顧客に対して、最低注文手数料を支払わなくても済むように注文金額を上
げるように勧めるメッセージ、もう 1 つは、注文金額が $500 を超える顧客に対して、この注文状況では送料が無料であるこ
とを知らせるメッセージです。
8.5.4.3.1
条件付きメッセージを作成する
2 つのフォームレターを作成します。詳細については、テキストエレメントを使用したフォームレターの作成 [183 ページ]を参
照してください。
1.
2 番目のボディセクションをレポートに挿入します。
詳細については、セクションの操作 [180 ページ]を参照してください。
2.
ボディ A セクションに、最低注文手数料を支払わなくても済むように注文を増やすよう、顧客に勧めるレターを配置しま
す。
3.
ボディ B セクションに、送料が無料であることを顧客に知らせるレターを配置します。
4.
ボディ A セクションを右クリックし、[セクションの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
5.
[非表示] を選択してから、[非表示] の横にある [条件式] ボタン (
) をクリックします。
式ワークショップが表示されます。
6.
[オブジェクトの追加] リストから "<インターネット売上金額>" を選択します。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
185
7.
条件を入力します。
例: > 300
8.
[保存して終了] をクリックします。
顧客の注文金額が最低注文限度額 ($300) よりも低い場合、追加料金を支払わなくても済むように注文を増やすよう勧
めるレターが出力されます。
9.
ボディ B セクションを右クリックし、[セクションの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
10. [非表示] を選択してから、[非表示] の横にある [条件式] ボタン (
) をクリックします。
式ワークショップが表示されます。
11. [オブジェクトの追加] リストから "<インターネット売上金額>" を選択します。
12. 条件を入力します。
例: < 500
13. [保存して終了] をクリックします。
顧客の注文金額が $500 を超える場合、送料が無料であることを知らせるレターが出力されます。
注記
注文金額が $300 から $500 までの顧客に対しては、フォームレターは出力されません。
8.6
セマンティックエラーメッセージ
不正確な情報が生じる可能性のある場所にオブジェクトを配置した場合、Crystal Reports デザイナでセマンティックエラーが
指摘されます。ほとんどの場合、OLAP データソース内で、特定のコンテキストでメジャーが利用できないことが Crystal
Reports で検知された場合に発生します。たとえば、グループ化コンテキストでメジャーが計算できない場合などです。
このようなコンテキストにオブジェクトを配置しようとした場合、誤解を与える情報を持つレポートを作成しないために、Crystal
Reports でセマンティックエラーが指摘されます。
8.6.1 このグループでは {xxxx} は複数の値を持つことができますが、
最初または最後の値のみが表示されます。
コンテキスト
グループヘッダまたはフッタ内でのレベルまたは属性の使用。
186
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
原因
このコンテキスト内でオブジェクトが複数の値を持っています。たとえば、"国" グループ内の "地域" レベルを参照すると、その
国のすべての地域が "地域" として参照されます。この場合、最初または最後の地域のみが表示されます。
グループヘッダ内の場合、最初の値のみが表示されます。グループフッタ内の場合、最後の値のみが表示されます。
解決策
オブジェクトをヘッダまたはフッタの外へ移動します。
8.6.2 レポートヘッダでは {xxxx} は複数の値を持つことができますが、
最初の値のみが表示されます。
コンテキスト
レポートヘッダ内のディメンション、レベル、または属性が参照されています。ただし、チャートまたはクロスタブ内の集計フィー
ルドやグループ化条件として使用されている場合を除きます。
原因
このコンテキスト内でオブジェクトが複数の値を持っています。たとえば、レポートヘッダ内の "国" レベルを参照すると、そのレ
ポートのすべての国が "国" として参照されます。この場合、最初の国のみが表示されます。
解決策
オブジェクトをヘッダの外へ移動します。
注記
最初の値の表示が目的の場合、この警告を無視しても安全です。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
187
8.6.3 レポートフッタでは {xxxx} は複数の値を持つことができますが、
最後の値のみが表示されます。
コンテキスト
レポートフッタ内のディメンション、レベル、または属性が参照されています。ただし、チャートまたはクロスタブ内の集計フィー
ルドやグループ化条件として使用されている場合を除きます。
原因
このコンテキスト内でオブジェクトが複数の値を持っています。たとえば、レポートフッタ内の "国" レベルを参照すると、そのレ
ポートのすべての国が "国" として参照されます。この場合、最後の国のみが表示されます。
解決策
オブジェクトをフッタの外へ移動します。
注記
最後の値の表示が目的の場合、この警告を無視しても安全です。
8.6.4
最初のページの値のみが表示されます
コンテキスト
ページヘッダ内部にディメンション、レベル、または属性があります。
原因
これは情報メッセージです。処理の必要はありません。
188
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
8.6.5
ページの最後の値のみが表示されます
コンテキスト
ページフッタ内部にディメンション、レベル、または属性があります。
原因
これは情報メッセージです。処理の必要はありません。
8.6.6
この場所では、メジャー {xxxx} は有意の値を持ちません
コンテキスト
メジャーがページヘッダまたはフッタに配置されています。
原因
メジャーの基礎となる集約コンテキストが存在しません。
解決策
レポートヘッダまたはフッタ、あるいはレポートのほかのセクションへメジャーを移動します。
8.6.7
この場所では、メジャー {xxxx} は複数の値を持つことができます
コンテキスト
レポート、あるいはグループヘッダまたはフッタに依頼されていないメジャーが配置されています。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
189
原因
このメジャーに対してどの値を表示するかが明確になっていません。
解決策
このオブジェクトに基づいて合計を作成します。
8.6.8 このグループでは、依頼されたメジャー {xxxx} は複数の値を持
つことができます
コンテキスト
属性に基づいたグループへの依頼されたメジャーの挿入。
解決策
関連したディメンションでグループ化します。
8.6.9 このグループでは、依頼されたメジャー {xxxx} の値を計算するこ
とはできません
コンテキスト
式、別のメジャー、日付カスタムグループ化など、メジャーを解決できないグループコンテキストへの依頼されたメジャーの挿
入。
原因
データソースが解釈できない要素がレポートに含まれています。
190
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
解決策
ローカルツールを使用してメジャーを近似させます。
8.6.10 このクロスタブでは、依頼されたメジャー {xxxx} は複数の値を持
つことができます
コンテキスト
属性に基づいたクロスタブへの依頼されたメジャーの挿入。
解決策
関連したディメンションでグループ化します。
8.6.11 このクロスタブでは、依頼されたメジャー {xxxx} の値を計算する
ことはできません
コンテキスト
同じディメンションからのオブジェクトが反対の軸で使用されている式、別のメジャー、日付カスタムグループ化など、メジャー
を解決できないクロスタブへの依頼されたメジャーの挿入。
原因
データソースが解釈できない要素がクロスタブに含まれています。
解決策
ローカルツールを使用してメジャーを近似させます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
191
8.6.12 階層でグループ化する場合、'外部階層' オプションを選択します。
コンテキスト
このメッセージは、階層オブジェクトでフラットなグループ化を実行している場合に表示されます。
原因
階層オブジェクトのフラットなグループ化により、不正確な合計データが算出される場合があります。
解決策
[外部階層] オプションを選択して階層グループ化に切り替えるか、グループ化を変更して対応するレベルのオブジェクトを使
用します。
8.6.13 階層オブジェクトは階層グループ内に配置する必要があります。
コンテキスト
周囲の同一階層に基づいた階層グループがない状態での、レポートのキャンバスへの階層の表示。
解決策
階層オブジェクトを階層グループ内に配置します。
8.6.14 レベル {xxxx} は、関連する階層に基づいてグループ内に配置す
る必要があります
コンテキスト
レベルが配置されているグループが、そのレベル、配下のレベル、または親階層でグループ化されていません。
192
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
原因
このコンテキスト内でレベルが複数の値を持っています。たとえば、"国" レベルグループ内の "地域" レベルを参照すると、そ
の国のすべての地域が "地域" として参照されます。この場合、最初の地域のみが表示されます。
解決策
レベルをボディセクションに移動します。
8.6.15 この合計に推奨される演算は {xxxx} です
コンテキスト
[合計] がレポートヘッダ、グループヘッダ、チャート、またはクロスタブに挿入されています。
原因
指定した合計演算とユニバースで推奨された演算が一致しません。
解決策
合計演算の種類を推奨された種類に変更します。
8.6.16 {xxxx} の合計はお勧めしません
コンテキスト
集計がユニバースで推奨されない場合におけるメジャーでの集計。
解決策
オブジェクトをボディセクションに移動して、集計を行いません。
SAP Crystal Reports for Enterprise ユーザガイド
レポートのレイアウトと書式設定
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
193
9
並べ替え、グループ化、集計
未整理のデータをレポートにして有益な情報に変えるには、並べ替え、グループ化、集計が必要です。この節では、レポート
内で実行できる並べ替え、グループ化、および集計の種類について説明します。
9.1
データの並べ替え
レポートに結果オブジェクトを初めて挿入したときは、オブジェクトに含まれるデータが任意の順序で表示されます。ただし、並
べ替え機能を使用して、データを論理的な形式に並べ替えることができます。
9.1.1
並べ替えオプションについて
並べ替えるときに、並べ替えの方向 (昇順または降順) と並べ替えするオブジェクト (並べ替えオブジェクト) の設定が必要に
なります。
並べ替えオブジェクトでは、レポートにデータを表示する順序を決定できます。式を含め、どのオブジェクトも並べ替えに使用
できます。オブジェクトのデータ型によって、そのオブジェクトのデータの並べ替え方法が決まります。
注記
メモオブジェクトや BLOB オブジェクトを並べ替えることはできません。
オブジェクトタイプ
並べ替え順
単一文字列オブジェクト
スペース
記号
数値
大文字
小文字
複数文字列オブジェクト
2 文字
3 文字
4 文字、など
以下はその例です。
194
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
●
"123"は"124"より前
●
" "(スペース)は"a"より前
●
"aa"は"aaa"より前
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
オブジェクトタイプ
並べ替え順
Currency オブジェクト
数値順
Number オブジェクト
数値順
Date オブジェクト
時刻順
DateTime オブジェクト
時刻順
同じ日付のデータが時刻順
Time オブジェクト
時刻順
論理型オブジェクト
FALSE 値(0)
TRUE 値(1)
NULL 値
NULL 値
非 NULL 値
注記
データソースサーバ上でデータの並べ替えやグループ化を実行する場合、Unicode や UTF-8 でエンコードされたデータを
使用していると、並べ替え順序が変わる可能性があります。適用される並べ替え順序は、データソースで定められている
規則によって決まります。場合によっては、Unicode データはバイナリ値によって並べ替えられますが、特定のロケール設
定に従って並べ替えられることもあります。Unicode データオブジェクトの並べ替え方法の詳細については、データソース
のマニュアルを参照してください。
9.1.2
データの並べ替え方法
単一オブジェクトの並べ替えでは、レポートに使用されるすべてのレコードが単一オブジェクトの値に基づいて並べ替えられま
す。たとえば、在庫レポートを保管番号で並べ替えたり、顧客リストを顧客番号で並べ替える場合です。
複数オブジェクトの並べ替えでは、Crystal Reports が、選択された最初のオブジェクトの値に基づいてレコードを並べ替えた
後、指定に従ってこれを昇順または降順に並べ替えます。最初の並べ替えオブジェクトで同じオブジェクト値を持つレコードが
2 つ以上存在する場合、そのレコードは 2 つめの並べ替えオブジェクトの値で並べ替えられます。
たとえば、最初に "<国>"、次に "<地域>" の順でどちらも昇順に並べ替える場合、レポートにはまず国がアルファベット順にリ
ストされ、次にそれぞれの国の中で地域がアルファベット順にリストされます。郵便番号など、各地域内の他のオブジェクトは
並べ替えられずにそのままになります。
単一オブジェクトと複数オブジェクトの並べ替えは、同じ手順を使って作成します。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
195
9.1.2.1
1.
データを並べ替える
[データ] タブで [並べ替え] をクリックします。
[グループと並べ替え] ダイアログボックスが表示されます。
2.
[ボディ] タグを選択してリストメニューを開くことで [ボディ] 領域を展開し、[並べ替えの追加] をクリックします。
3.
[ボディ] リストからデータを並べ替えるオブジェクトを選択します。
4.
5.
[並べ替え] をクリックして、並べ替え順序を昇順または降順に切り替えます。
追加する並べ替えオブジェクトごとに手順 2 ~ 4 を繰り返します。
注記
データは、オブジェクトのリスト順に並べ替えられます。複数の並べ替えオブジェクトの順序を変更するには、リスト内
でそれらを上下に移動させます。
6.
[OK] をクリックします。
9.1.3
並べ替えの制御
データソースからの情報を更新せずに、並べ替えオブジェクトや並べ替え順序を変更できるようなレポートを作成できます。こ
の場合は、並べ替えの制御を使用します。
並べ替えの制御には、以下の利点があります。
●
レポートキャンバスを終了せずに、レポートのデータを並べ替えてさらに分析を進めることができます。
●
データソースに処理負荷がかからなくなります。
●
データの並べ替えにかかる時間を短縮できます。
●
表示時に、データソースへの接続やアクセス権がなくても、レポート内でオブジェクトを並べ替えることができます。
並べ替えの制御をレポートに組み込む場合は、以下の点を考慮することが重要です。
●
並べ替えの制御はレコードセット全体に適用されるため、1 グループだけを並べ替えることはできません。
●
並べ替えの制御はサブレポートでは使用できません。
●
並べ替えの制御は、クロスタブ内では作成できません。
並べ替えの制御を挿入する方法は 2 種類あり、独立した要素としてレポートに挿入するか、既存の要素にバインドすることが
できます。
9.1.3.1
並べ替えの制御を作成する
レポートキャンバスの [ページヘッダ] セクションにある既存の要素に並べ替えの制御をバインドできます。たとえば、
{<Customer.LastName>} 並べ替えオブジェクトに並べ替えの制御を作成する場合は、この並べ替えの制御を
{<Customer.LastName>} オブジェクトヘッダにバインドします。こうすると、このオブジェクトで取得されるすべてのデータ
に並べ替えの制御が適用されます。
196
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
1.
[ページビュー] で [ページヘッダ] セクションを開き、並べ替えの制御をバインドするオブジェクト (顧客フィールドなど) を
右クリックし、[並べ替えの制御のバインド] を選択します。
[並べ替えの制御] ペインが表示されます。[並べ替えの制御] ペインには、すでにレポートに追加されている並べ替えオ
ブジェクトが一覧表示されます。
2.
並べ替えの制御をバインドする並べ替えオブジェクトを一覧から選択して、[OK] をクリックします。
3.
追加する並べ替えの制御ごとに、この手順を繰り返します。
ヒント
[挿入] タブを使用して、独立した要素として並べ替えの制御をレポートに挿入することもできます。並べ替えの制御
は、すでにレポート上にあるグループヘッダなどの要素にバインドすることはできません。
対話型の並べ替えの制御がレポートに追加されます。
これでユーザは、要素の横に表示される並べ替え矢印をクリックすることで、選択されているオブジェクトを並べ替えることが
できます。選択されたオブジェクトが一時的に並べ替え順の先頭に移動します。2 番目の並べ替えの制御を使用すると、最初
の並べ替えは元の順序に戻り、2 番目が先頭に移動します。
注記
並べ替えの制御を行っても、グループ階層は影響を受けません。
9.1.3.2
並べ替えの制御を削除する
並べ替えの制御は、並べ替えの制御のバインドダイアログボックスを使用しなければ削除できません。
1.
既存の並べ替えの制御を含むテキストオブジェクトを右クリックします。
2.
[並べ替えの制御のバインド] をクリックします。
並べ替えの制御のバインドダイアログボックスが表示されます。
3.
[非対話型] をクリックします。
4.
[OK] をクリックします。
並べ替えの制御がレポートから削除されます。
9.2
データのグループ化
グループ化されたデータとは、並べ替えによって意味のある複数のグループに分けられたデータを指します。たとえば、顧客
リストは "<郵便番号>" や "<地域>" でグループ化できます。営業レポートでは、各顧客のすべての注文や各営業担当者が
獲得した注文などで構成されるグループが想定されます。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
197
グループ化と並べ替えの方向
データをグループ化する場合、並べ替えとグループ化の方向として次のオプションを利用できます。方向とは、値の表示順序
を意味します。
●
昇順
昇順とは、小さい方から大きい方へ(1 から 9 へ、A から Z へ、偽の次に真)進む順序のことです。プログラムは、レコード
を昇順に並べ替え、値が変わると新しいグループを開始します。
●
降順
降順とは、大きい方から小さい方へ(9 から 1 へ、Z から A へ、真の次に偽)進む順序のことです。プログラムは、レコード
を降順に並べ替え、値が変わると新しいグループを開始します。
●
指定順序
指定順序は、ユーザーが必要に応じてカスタマイズする順序です。プログラムは、各レコードをユーザーが指定したカスタ
ム グループに入れ、各グループのレコードを元の順序のまま保持するか、昇順または降順に並べ替えるかを、ユーザー
の指示に従って処理します。
9.2.1
1.
データをグループ化する
[挿入] タブで [グループ] をクリックします。
[グループ] ペインが開きます。
2.
グループ化するオブジェクトを選択します。
3.
並べ替え順序として [昇順] または [降順] を選択して、[挿入] をクリックします。
グループがレポートの第 1 レベルに挿入されます。レポートにグループを追加で作成する場合は、それらのグループを表
示する順序を指定する必要があります。
4.
グループ名のフォントサイズを変更する場合は、[書式] タブを使用してサイズ変更します。
関連情報
グループ内のレコードの並べ替え [200 ページ]
データを範囲でグループ化 [201 ページ]
グループヘッダ [209 ページ]
9.2.2
カスタムグループの作成
通常は、レポート内のオブジェクトの値に基づいてデータを並べ替えてこれをグループ化します。しかし、他の基準によるデー
タのグループ化が必要な場合もあります。そのような場合は、カスタムグループを使用してデータをグループ化します。以下は
その例です。
●
あるオブジェクトの値に基づいていくつかのグループを作成する必要がある。
たとえば、レポートの "<色>" オブジェクトに詳しい色名 (ライムグリーン、スカイブルー、エメラルドグリーン、ネイビーブル
ーなど) が含まれていても、同じ色調の色はすべて 1 つのグループ (グリーン、ブルー、レッドなど) としてレポートに表示
198
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
する場合です。その場合は、カスタムグループを作成し、各グループに入れるレコードを手作業で割り当てることができま
す。
●
グループごとに特定の値または値の範囲を選択する必要がある。
たとえば、あるグループには総売上が一定の値より小さいレコードを入れ、別のグループには総売上が一定の値より大
きいレコードを入れ、最後のグループには総売上がこれらの値の間にあるレコードを入れる場合です。このような場合
は、レコード選択クエリの作成に使用できる同一範囲選択機能により、カスタムグループ (売上高低、売上高中、売上高
高) を作成します。
指定順序によるグループ化を実行するためのカスタム グループを作成することで、このような複雑な並べ替えやグループ化
を実行できます。指定順序のグループ化を使用すると、レポートに表示するカスタム グループと、各グループに入れるレコー
ドを同時に作成できます。唯一の制限は、複数のグループへのレコードの割り当てができないことです。
関連情報
データを範囲でグループ化 [201 ページ]
9.2.2.1
カスタムグループを作成する
カスタムグループを作成する前に、レポートにグループを作成する必要があります。
1.
データ
グループ
をクリックします。
[グループと並べ替え] ダイアログボックスが表示されます。
2.
グループ名の横にある [カスタムグループ] ボタンをクリックします。
[カスタムグループ] ダイアログボックスが表示されます。
3.
[並べ替え (カスタム)] 領域で、最初のセルをクリックしてリストから項目を 1 つ選択します。
4.
グループのデータのフィルタ処理に使用する条件を編集するには、[並べ替え (カスタム)] セルの横にある [条件] セルを
クリックし、[カスタムグループの新規作成] ダイアログボックスでフィルタ条件を設定します。
5.
6.
レポートに必要なカスタムグループをすべて作成し終わったら、カスタムグループのいずれにも含まれないレコードの編
成に使用するオプションを選択します。
○
その他のすべてを破棄
○
その他のすべてを、<<その他>> という名前の単一のグループに含める
○
その他のすべてをグループを変更せずに含める
[OK] をクリックします。
9.2.3
グループ内での改ページの回避
1 つのグループが短くても、ページの残りのスペースに収まらない場合、そのグループは 2 ページに渡って分割されます。こ
の改ページをせずにグループ全体を次のページに出力するには、[グループ内では改ページしない] オプションを使用します。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
199
注記
グループが 1 ページよりも長い場合は、[グループ内では改ページしない] オプションを使用していても複数ページに渡って
出力されます。
9.2.3.1
1.
グループ内では改ページしない
[グループヘッダ] セクションまたは [グループフッタ] セクションのどちらかを右クリックして、[セクションの書式設定] をク
リックします。
[書式] ダイアログボックスが表示されます。
2.
[ページング] をクリックします。
3.
[グループ内では改ページしない] チェックボックスをオンにして、[閉じる] をクリックします。
9.2.4
最初のページに最初のグループを維持
[グループ内では改ページしない] オプションを使用すると、レポートのはじめに不要なスペースが作成される可能性がありま
す。レポートの最初のグループがレポートの最初のページに収まらない場合は、最初のページではなく 2 ページ目に出力さ
れます。レポートの最初のグループにこの動作をさせず、最初のページから開始されるようにするには、[グループ内では改ペ
ージしない] オプションを無効にします。
9.2.4.1
1.
編集
最初のページに最初のグループを維持する
レポートオプション
の順にクリックします。
[レポートオプション] ダイアログボックスが表示されます。
2.
[最初のページで改ページしない] チェックボックスをオフにします。
3.
[OK]をクリックして変更を保存し、ダイアログ ボックスを閉じます。
9.2.5
グループ内のレコードの並べ替え
データをグループ化したら、グループ内のレコードを並べ替え、簡単に情報を編成し直すことができます。
9.2.5.1
1.
200
グループ内のレコードを並べ替える
[データ] タブで [並べ替え] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
[グループと並べ替え] ダイアログボックスが表示されます。
2.
[並べ替え] タブで、グループ名の横にある矢印をクリックしてグループのオプションを展開します。
3.
[並べ替え基準] オブジェクトの横にあるアイコンをクリックして、グループ内でのレコードの並べ替え方法を選択
します。
4.
[OK] をクリックします。
9.2.6
データを範囲でグループ化
年齢グループ、期間、販売カテゴリなどが範囲によるグループ化の例です。この項では、このようなグループ化について学習
します。この例では顧客を前年の実績順にリストします。
ここでは、指定順序のグループ化を使用して、各グループに含めるレコードを指定するためのカスタムグループを作成しま
す。任意の範囲を定義すると、プログラムによって自動的に処理されます。
9.2.6.1
データを範囲でグループ化する
データを範囲でグループ化するには、数値オブジェクトを含むレポートを先に作成する必要があります。例: <インターネット
売上金額>
1.
[挿入] タブの [グループ] をクリックし、グループ化するオブジェクトとして "<インターネット売上金額>" を選択して [挿
入] をクリックします。
2.
[データ] タブの [グループ] をクリックします。
[グループと並べ替え] ダイアログボックスが表示されます。
3.
[カスタムグループ] をクリックします。
[カスタムグループ] ダイアログボックスが表示されます。
4.
[並べ替え (カスタム)] 領域で、最初のセルをクリックして「$1,000 未満」と入力します。
5.
[並べ替え (カスタム)] セルの横にある [条件] セルをクリックします。
[カスタムグループの新規作成] ダイアログボックスが表示されます。
6.
最初のグループに "<インターネット売上金額>" の値が $1,000 未満のレコードだけを入れるために、次の条件を設
定します。
Internet Sales Amount Less Than 1,000
a) 演算子リストから [未満] を選択します。
b) 「1000」と入力します。
c) [OK] をクリックします。
7.
次に、$1,000 から $2,500 までの値が入る 2 つめのカスタムグループを設定します。
a) [並べ替え (カスタム)] 領域にある次のセルをクリックし、「$1,000 から $2,500」と入力します。
b) [並べ替え (カスタム)] セルの横にある [条件] セルをクリックします。
[カスタムグループの新規作成] ダイアログボックスが表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
201
8.
次のように条件を設定します。
Internet Sales Amount Between [1,000; 2,500]
a) 演算子リストから [範囲内] を選択します。
b) 値をクリックします。
[範囲内の値] ダイアログボックスが表示されます。
c) [最小値] ボックスに「1000」と入力します。
d) [最大値] ボックスに「2500」と入力します。
e) [OK]を 2 回クリックします。
9.
$2,500 を超えるすべての値を含む最後のカスタムグループを設定します。
a) [並べ替え (カスタム)] 領域にある次のセルをクリックし、「$2,500 超」と入力します。
b) [並べ替え (カスタム)] セルの横にある [条件] セルをクリックします。
[カスタムグループの新規作成] ダイアログボックスが表示されます。
10. 次のように条件を設定します。
Internet Sales Amount Greater Than 2,500
11. すべてのダイアログボックスが閉じるまで、[OK] をクリックします。
9.2.7
顧客名の最初の文字でグループ化
データを顧客名の最初の文字でグループ化することが必要な場合があります。それには、式が必要になります。
ここでは、顧客名の最初の文字を抽出する式を作成します。次に、この式によって作成されるオブジェクトを "並べ替え/グル
ープ化" オブジェクトとして使用し、データをグループ化します。データが顧客名の最初の文字に基づいて並べ替えられ、文字
ごとに新しいグループが作成されます。
関連情報
式の概要 [278 ページ]
9.2.7.1
顧客名の最初の文字でデータをグループ化する
顧客名の最初の文字でデータをグループ化するには、"<顧客>" オブジェクトを含むレポートを先に作成する必要があります。
1.
[データエクスプローラ] サイドパネルで [式] を右クリックし、[式の新規作成] をクリックします。
2.
[名前] テキストボックスに式の名前を入力します。
たとえば、「myformula1」と入力します。
3.
[OK] をクリックします。
式ワークショップが表示されます。
202
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
4.
[オブジェクトの追加] をクリックして、リストから "<顧客>" を選択します。
式が自動的に挿入されます。
5.
式の後に「[1]」と入力します。例:
{AdventureWorks.Customer\Contacts\Customer}[1]
「[1]」と入力すると、顧客名ごとに個別のグループは作成されず、顧客名の最初の文字でグループ化が行われます。
6.
[保存して終了] をクリックします。
7.
[データエクスプローラ] サイドパネルで、作成した式を右クリックし、[<<式>> でグループ化] をクリックします。
レポートのデータは、指定した式によってグループ化されます。この例の場合は、顧客名の最初の文字に基づいてデータ
がグループ化されます。式からは、各グループの動的ヘッダが得られます。
関連情報
式の概要 [278 ページ]
データのグループ化 [197 ページ]
データを範囲でグループ化 [201 ページ]
グループヘッダ [209 ページ]
9.2.8
データを階層的にグループ化
レポート内のデータをグループ化して、データの階層的関係を示すことができます。データを階層的にグループ化する場合、
Crystal Reports では、親オブジェクトと子オブジェクトといった 2 つのオブジェクト間の関係を基にして情報が並べ替えられ
ます。たとえば、企業の組織構造を表現できます。
注記
階層オブジェクトをグループ化すると、データが自動的に階層的にグループ化されます。
9.2.8.1
データの階層的なグループ化の要件
階層的関係は、レポートに使用するデータに継承されている必要があります。
●
プログラムが親と子の関係を認識するには、親オブジェクトと子オブジェクトのデータ型が同じである必要があります。
●
子オブジェクトのデータは、親オブジェクトのデータのサブセットである必要があります。
●
最上位の階層をレポートに表示するには、その値が親データ内にあり、子データ内の対応する行が空である必要があり
ます。
●
データの循環ロジックは許可されません。つまり、レポートの作成において、A が B を使用し、B が C を使用する場合、C
が A を使用することはできません。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
203
たとえば、ある部署の社員の階層的関係を示す場合、データを社員名 (親オブジェクト) でグループ化し、各社員の業務報告
先の社員をリストしたオブジェクト (子オブジェクト) を使用して階層を指定できます。結果テーブルは、次の例のようになりま
す。
社員 (親)
上司 (子)
John Miller
Michael Adams
Julie Armstrong
Richard Wilson
Michael Adams
John Smith
Michael Adams
Michael Adams
Julie Armstrong
Donna Moore
Julie Armstrong
Denise Smith
Donna Moore
Richard Miller
Donna Moore
"<社員>" オブジェクトと "<上司>" オブジェクトでデータが重複しています。これは、階層的関係があることを意味します。一
意の社員名が 8 個あり、そのうち Julie Armstrong、Michael Adams、Donna Moore の 3 人の名前は上司としても表示さ
れています。社員のうち 2 人は Julie Armstrong に、3 人は Michael Adams に、そして 2 人は Donna Moore に業務報告
します。
注記
Julie Armstrong には上司がいません。このデータは、Julie Armstrong がこのフォルダ内の誰にも業務報告しない、最
上位の上司であることを意味しています。
レポートでは、階層グループをさまざまな方法で表現できます。以下はその例です。
階層の第 1 レベル
第 2 レベル
第 3 レベル
Julie Armstrong
Michael Adams
John Miller
Richard Wilson
John Smith
Donna Moore
Denise Smith
Richard Miller
204
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
"<社員>" オブジェクトに基づいてレポートをグループ化する場合、データを並べ替えて社員と上司の階層的な関係を示すこと
ができます。
9.2.8.2
階層的にグループ化したデータの特徴
階層的にグループ化したレポートには、データ内の階層的な継承を視覚的に表すだけでなく、以下のような特徴があります。
●
階層内でグループを分離すると、分離されたビューには、その階層のより低位のレコードも表示されます。
●
レポートには、各グループの階層の低位のレコードを含む、階層的なグループフッタがあります。データは、階層全体で合
計することができます。
注記
式では階層的な合計は使用できません。
9.2.8.3
データを階層的にグループ化する
データを階層的にグループ化できるようにするには、レポートにグループを作成する必要があります。たとえば、会社内の社
員の階層構造を表示する場合は、"<社員>" オブジェクトに基づくグループを作成します。
1.
[データ] タブの [グループ] をクリックします。
[グループと並べ替え] ダイアログボックスが表示されます。
2.
[並べ替え] タブで、グループ名の横にある矢印をクリックし、[並べ替え基準] オブジェクトの横にあるアイコンを
クリックし、グループの並べ替え順序として [昇順] を選択します。
注記
すでに階層オブジェクトをグループ化してある場合は、手順 3 および 4 を省略できます。データが自動的に階層的に
表示されます。
3.
[グループ] タブで、[階層の種類] リストから[階層グループ親] を選択します。
4.
[階層グループ親] リストで、階層の親として使用するオブジェクトを選択します。
たとえば、"<社員>" の階層を示すレポートの場合は、社員の業務報告先である上司の情報を持つデータオブジェクトを
選択します。
5.
[グループのインデント] ボックスに、各サブグループのインデント幅を入力します。
6.
[OK] をクリックします。
これで、レポートは社員名でグループ化され、上司の階層を示すように並べ替えられました。
関連情報
グループデータの合計 [206 ページ]
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
205
9.3
グループデータの合計
データをグループに細分化する目的の 1 つは、レポートの全レコードの合計ではなく、レコードグループごとの合計を算出する
ことです。
データを合計すると、データが並べ替えられ、グループごとに分けられ、それぞれのグループ内のデータの値が合計されま
す。
多数の合計オプションを使用できます。合計対象となるオブジェクトのデータ型に応じて、次のような計算ができます。
●
グループ単位で値を合計する。
●
すべての値の数をカウントしたり、異なる値の数だけをカウントする。
●
最大値、最小値、平均値、または N 番目に大きい値を求める。
●
2 種類の標準偏差と分散を計算する。
以下はその例です。
オプション
説明
顧客リストレポート
地域ごとに顧客の数を調べます。合計では、各地域グループの顧
客数を重複なしでカウントします。
受注レポート
各月の平均受注数を調べます。合計では、月グループごとの平均
受注数を計算します。
販売レポート
販売担当者ごとの総売上を調べます。合計では、販売担当者グル
ープごとに受注金額の合計または小計を計算します。
レポートに小計を追加することもできます。小計は、一連の数字を部分的に合計するために使用します。たとえば、すべての
国の前年度取引高の総計と、国ごとの前年度取引高を含むレポートを作成する場合です。
9.3.1
グループ化したデータを合計する
グループ化したデータを合計できるようにするには、グループ化したデータを含むレポートを作成する必要があります。
1.
[挿入] タブで [合計] をクリックします。
2.
合計オプションを選択します。
オプション
説明
合計演算
グループ化したデータに対して実行する算術演算。[合計]、[平均]、[最大値] などがあります。
注記
依頼されたメジャーを合計する場合は、演算として [依頼] を選択します。
合計オブジェク カウント対象のデータオブジェクト。
ト
配置
合計を配置する場所を、[カスタムの場所]、[すべてのグループレベルで]、 [レポートフッタ]、[<<オブジェクト>>
のグループ単位] の中から指定します。
場所
206
合計を [データの上] または [データの下] のいずれに配置するかを指定します。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
3.
[挿入] をクリックします。
4.
これらの設定のいずれかを変更する場合は、合計を右クリックして [合計の書式設定] をクリックします。
[書式設定] ダイアログボックスが表示され、各種オプションを編集できます。
関連情報
割合の計算 [209 ページ]
データを階層的にグループ化 [203 ページ]
9.3.2
合計値によるグループの並べ替え
合計値に基づいて、グループを昇順または降順に並べることができます。たとえば、受注レポートで地域ごとに受注額の小計
を求める場合、グループを次の順序で並べることができます。
●
注文金額が低い順(昇順)
●
注文金額が高い順(降順)
9.3.2.1
グループを合計値の順に並べる
合計データを含むレポートを作成します。
1.
[データ] タブで [並べ替え] をクリックします。
[グループと並べ替え] ダイアログボックスが表示されます。
2.
[並べ替え] タブで、グループ名の横にある矢印をクリックしてグループのオプションを展開します。
3.
[並べ替えの追加] タブをクリックして、レポートを並べ替える要素を選択します。
合計に基づく並べ替えキーが自動的にグループに追加されます。
4.
[並べ替え基準] オブジェクトの横にある矢印を使用して、並べ替え順序として [昇順] または [降順] のいずれかを
選択します。
5.
[OK] をクリックします。
指定された合計値に基づいて、グループ内のレコードが並べ替えられます。
9.3.3
上位または下位の N グループまたはパーセントの選択
上位または下位のグループやパーセント値だけをレポートに表示することもできます。たとえば、売れ筋の商品ライン、売上の
上位 25% を占める国、受注数が多い地域などを表示できます。
上位 N グループまたは上位 N パーセントを選択する場合は、集計値が高いグループまたはパーセント (上位 N) を表示する
ように指示します。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
207
下位 N グループまたは下位 N パーセントを選択する場合は、集計値が低いグループまたはパーセント (下位 N) を表示する
ように指示します。
上位 N または下位 N を設定する場合は、上位 N または下位 N の条件に該当しないレコードの処理方法を検討する必要も
あります。これらのレコードをレポートから除外することも、1 つのグループにまとめることもできます。
注記
上位 N 選択または下位 N 選択では、階層的に並べ替えられているグループを使用しないことをお勧めします。階層グル
ープの並べ替えの整合性に、上位または下位 N 選択が影響を及ぼす可能性があります。
関連情報
グループデータの合計 [206 ページ]
9.3.3.1
上位 N グループまたは下位 N グループを選択する
上位 N グループまたは下位 N グループを選択できるようにするには、合計データを含むレポートを作成する必要がありま
す。
ここでは、上位 N グループや下位 N グループを選択する方法について説明します。上位 N パーセントまたは下位 N パーセ
ントを選択する方法も、上位 N グループまたは下位 N グループを選択する方法とほぼ同じですが、グループ数の代わりにパ
ーセント値を指定する点だけが異なります。
1.
[データ] ツールバーで、[並べ替え] をクリックします。
[グループと並べ替え] ダイアログボックスが表示されます。
2.
[並べ替え] タブで、グループの [表示] リストから [上位 N] または [下位 N] を選択します。
3.
[N の値] ボックスで、N の値を入力します。
4.
合計値が等しいグループをレポートに表示するには、[同じ値を含める] を選択します。
たとえば、次のグループがあるとします。
○
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 の値が等しいことに対処できます。
レポートを実行すると、指定したグループだけが表示されます。
5.
[他のレコードをまとめる名前] チェックボックスをオンにすると他のレコードも表示され、このチェックボックスをオフにする
と他のレコードは非表示になります。
このオプションを選択する場合は、他のレコードをまとめる名前を入力します。
208
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
6.
[OK] をクリックします。
9.4
割合の計算
グループ合計に対する割合や、より広範なグループ全体の中で 1 つのグループが占める割合を計算できます。たとえば、各
国の売上高を基準にして、それに占める各都市の割合を表示できます。または、総売上高に占める各国の割合を表示できま
す。
9.4.1
1.
割合(%)を計算する
[挿入] タブで [合計] をクリックします。
a) 合計演算として [件数] を選択します。
b) 合計を計算するオブジェクトを選択します。
c) 合計を配置する場所を選択します。
d) [挿入] をクリックします。
注記
割合を計算する場合、集計場所を[レポートフッタ] にすることはできません。
[グループフッタ] および [レポートフッタ] に合計オブジェクトが追加されます。
2.
[グループフッタ] の合計オブジェクトを右クリックし、[合計の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
3.
[合計] をクリックし、[割合 (パーセント) として表示] を選択します。
4.
割合の基準にするグループをリストから選択します。
ほかのグループの値に対するパーセントを表示することも、総計に対するパーセントを表示することもできます。
5.
[閉じる] をクリックします。
9.5
グループヘッダ
グループを作成すると、[グループフッタ] セクションと [グループヘッダ] セクションが作成されます。[グループフッタ] セクショ
ンには小計や合計値を配置でき、[グループヘッダ] セクションには自動的にグループ名が配置されます。グループヘッダは、
明確で分かりやすいレポートデータの作成に役立つだけでなく、その実現に不可欠なことも少なくありません。グループヘッダ
は自動的に作成されますが、必要に応じて変更することもできます。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
209
9.5.1
グループヘッダの作成
このチュートリアルでは、最もよく使われるグループヘッダの作成方法を学びます。
●
標準ヘッダ
●
動的ヘッダ
●
複雑な動的ヘッダ
9.5.1.1
標準ヘッダ
標準ヘッダは、"<顧客>"、"<地域>"、"<月次受注量>" などの包括的なカテゴリで各グループを識別します。
標準ヘッダは便利ですが、情報量は十分ではありません。たとえば、"<地域売上高>" は地域グループを意味しますが、ヘッ
ダではこのグループに属する地域は示されません。
9.5.1.1.1
1.
標準ヘッダを作成する
自動的に作成されるグループヘッダ用のテキストを削除します。
注記
[グループヘッダ] セクションを削除しないでください。
2.
[挿入] タブで [テキスト] をクリックして、オブジェクトを [グループヘッダ] セクションにドラッグします。
3.
ヘッダに使用するテキストを入力します。
4.
フレームの外側をクリックします。
レポートを実行すると、各グループの先頭に同じヘッダが表示されます。
9.5.1.2
動的ヘッダ
動的ヘッダは、グループの内容に基づいて変化するヘッダです。たとえば、地域別にデータをグループ化する場合、動的ヘッ
ダには、通常、各グループの地域が表されます。つまり、Arizona グループには、データが Arizona のデータであることを示
すヘッダが付きます。California グループには、データが California のデータであることを示すヘッダが付きます。
注記
グループを作成すると、動的ヘッダが自動的にグループヘッダセクションに挿入されます。ただし、グループヘッダの情報
変更が必要な場合もあります。
210
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
9.5.1.2.1
テキストを使った動的ヘッダの作成
さらに複雑な動的ヘッダでは、オブジェクト値とテキストを結合します。たとえば、地域ごとの売上データを表す典型的なグル
ープヘッダには、"<売上高: カリフォルニア>" や "<顧客郵便番号: 60606>" などがあります。この場合には、"<売上
高:>" や "<顧客郵便番号:>" のためのテキスト要素を作成して、そのオブジェクト値をテキスト要素に埋め込みます。
9.5.1.2.1.1
1.
テキストを使った動的ヘッダを作成する
自動的に作成されるグループヘッダ用のテキストを削除します。
注記
グループヘッダ領域を削除しないでください。
2.
[挿入] タブで [テキスト] をクリックして、オブジェクトを [グループヘッダ] セクションにドラッグします。
3.
ヘッダに使用するテキストを入力します。
4.
[データエクスプローラ] サイドパネルで、グループに合ったオブジェクトをクリックし、テキスト要素内の、先ほど入力した
テキストとスペースのすぐ後にドラッグします。
5.
目的どおりの表示になるように、テキスト要素を書式設定します。
レポートを実行すると、それぞれのグループに対して、複雑な動的ヘッダが作成されます。
9.5.2
グループヘッダの非表示
レポート内でグループヘッダを非表示にすることもできます。
9.5.2.1
グループヘッダを非表示にする
レポートのグループヘッダを右クリックし、[非表示] をクリックします。
9.5.3
グループヘッダのドリルダウン
ユーザが簡単に見出しをスキャンできるようにするために、レポートの [ボディ] セクションを非表示にしてグループヘッダだけ
を表示することができます。ユーザは必要に応じてグループヘッダをクリックし、レポートボディを表示できます。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
211
9.5.3.1
グループヘッダをドリルダウンする
1.
[ボディ] セクションを右クリックし、[ボディの書式設定] をクリックします。
2.
書式設定ダイアログボックスの [一般] セクションで、[ドリルにのみ表示] を選択します。
3.
[閉じる] をクリックします。
4.
グループヘッダをダブルクリックして、非表示のセクションを表示します。
関連情報
グループデータの切り離し機能の使用 [71 ページ]
9.6
積算合計
積算合計は、特殊な合計および連続的に加算する合計を作成するための柔軟で効率的な方法です。
この節では、基本的な積算合計とグループ内の積算合計を追加する方法について説明します。また、条件付き積算合計と式
を使った積算合計を作成する方法についても説明します。
9.6.1
積算合計の概要
積算合計オブジェクトは、合計オブジェクトに類似していますが、合計の計算方法やリセットするタイミングをさらに細かく調節
できます。積算合計オブジェクトは、次の合計機能を実行するのに特に適しています。
●
レポート中のグループ分けとは無関係に値を合計する場合。
●
条件に応じて値を合計する。
9.6.1.1
積算合計のしくみ
積算合計は、[データエクスプローラ] サイドパネルで作成します。積算合計は、書式設定ダイアログボックスで次の項目を選
択して変更できます。
●
合計するオブジェクト
●
使用する合計演算
●
評価の基礎になる条件
●
評価をリセットする条件
212
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
注記
積算合計オブジェクトは、結果オブジェクトとパス 1 の式に対して設定できますが、パス 2 の式や他のパス 2 の式を参照
する式に対しては設定できません。
9.6.1.1.1
積算合計オブジェクトの配置
各種のレポートセクションに積算合計を挿入した場合に、計算に含められるレコードを次の表にまとめます。この表では、積算
合計がリセットされないことを前提としています。
セクション
含まれるレコード
レポートヘッダ
レポート内の最初のレコード。
ページヘッダ
現在のページの最初のレコードまで(このレコードを含む)の
全レコード。
グループヘッダ
現在のグループの最初のレコードまで(このレコードを含む)
の全レコード。
ボディ
現在のレコードまで(このレコードを含む)の全レコード。
グループフッタ
現在のグループの最後のレコードまで(このレコードを含む)
の全レコード。
ページフッタ
現在のページの最後のレコードまで(このレコードを含む)の
全レコード。
レポートフッタ
9.6.2
レポート内の全レコード。
単一のリスト内での積算合計の作成
積算合計とは、レコードごとに表示される通算の合計です。これは、レポートやグループなどの中で、現在のレコードを含む、
現在のレコードまでのすべてのレコードの合計です。
注記
積算合計オブジェクトには、先頭に # 記号が付きます。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
213
9.6.2.1
単一のリスト内に積算合計を作成する
単一のリスト内に積算合計を作成する前に、"<顧客名>" などのカスタマオブジェクト、および "<受注額>"、"<受注番号>" な
どの数値オブジェクトを使用してレポートを作成する必要があります。
1.
[データエクスプローラ] サイドパネルで [積算合計] を右クリックし、[新規積算合計] をクリックします。
新しい積算合計が [データエクスプローラ] の [積算合計] 領域に挿入されます。
2.
積算合計をダブルクリックします。
[書式] ダイアログボックスが表示されます。
3.
[名前] ボックスに、積算合計の名前を入力します。
4.
[評価条件の種類] リストで、[オブジェクトの変更時] を選択します。
5.
結果オブジェクトの一覧から、[<受注番号>] を選択します。
プログラムは、このオブジェクトが変化するたびに積算合計を実行します。
6.
[リセット条件の種類] リストで、[リセットしない] を選択します。
7.
[合計] ノードをクリックします。
8.
[基準元] リストで、[<受注額>] を選択します。
9.
[操作] リストで、[合計] を選択します。
10. [閉じる] をクリックします。
11. レポートの [ボディ] セクションにある "<受注額>" オブジェクトの右隣に、[データエクスプローラ] から積算合計オブジェク
トをドラッグします。
レポートでは、積算合計の列の各行に、現在のレコードの値と前の値とを加算した値が表示されます。レポートの最後まで途
切れず加算が継続されます。
9.6.3
グループ単位での積算合計の作成
積算合計を使用して、グループ内の項目の合計を計算できます。グループ内の最初の項目から積算合計が始まり、最後の
項目で終了します。グループごとの計算を繰り返して、すべてのグループの合計を算出します。
積算合計とグループを組み合わせて、次のような複数の機能を実行することができます。
●
顧客からの注文の積算合計を保持する
●
顧客からの注文をグループ化し、グループごとに積算合計をリセットする
●
顧客グループごとの小計を表示する
9.6.3.1
グループごとの積算合計を作成する
グループごとの積算合計を作成する前に、"<顧客名>" などのカスタマオブジェクト、および "<受注額>"、"<受注番号>" など
の数値オブジェクトを使用してレポートを作成する必要があります。
1.
[データエクスプローラ] サイドパネルで "<顧客名>" オブジェクトを右クリックし、[<<オブジェクト>> でグループ化] をク
リックします。
214
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
2.
[積算合計] を右クリックし、[新規積算合計] をクリックします。
新しい積算合計が [データエクスプローラ] の [積算合計] 領域に挿入されます。
3.
積算合計をダブルクリックします。
[書式] ダイアログボックスが表示されます。
4.
[名前] ボックスに、積算合計の名前を入力します。
5.
[評価条件の種類] リストで、[レコードごと] を選択します。
6.
[リセット条件の種類] リストで [グループの変更時] を選択し、デフォルトのグループ名をそのまま使用します。
7.
[合計] ノードをクリックします。
8.
[基準元] リストで、[<受注額>] を選択します。
9.
[操作] リストで、[合計] を選択します。
10. [閉じる] をクリックします。
11. レポートの [ボディ] セクションにある "<受注額>" オブジェクトの右隣に、[データエクスプローラ] から積算合計オブジェク
トをドラッグします。
注記
各グループの総計を表示する場合は、レポートの [グループフッタ] セクションに積算合計オブジェクトを配置します。
9.6.4
条件付き積算合計の作成
条件付積算合計を使用すると、リストの選択値を小計できます。たとえば、次のような場合に条件付き積算合計を使用しま
す。
●
カナダと米国の顧客に関する情報を収めたリストを作成する。
●
常にアルファベット順の顧客名に基づいて顧客レコードを並べる。
●
カナダの顧客レコードの値だけを合計する。
●
米国の顧客レコードの値だけを合計する。
それぞれの場合について、2 つの積算合計を作成します。つまり、1 つは米国のレコードの積算合計、もう 1 つはカナダのレコ
ードの積算合計です。
9.6.4.1
条件付き積算合計を作成する
条件付き積算合計を作成する前に、"<顧客名>" などのカスタマオブジェクト、"<国>" などの場所オブジェクト、および "<イン
ターネット売上金額>" などの数値オブジェクトを使用してレポートを作成する必要があります。
1.
[データ] タブで [並べ替え] をクリックします。
[グループと並べ替え] ダイアログボックスが表示されます。
2.
"<顧客名>" オブジェクトに基づいて並び替えを追加します。
3.
[データエクスプローラ] サイドパネルで [積算合計] を右クリックし、[新規積算合計] をクリックします。
新しい積算合計が [データエクスプローラ] の [積算合計] 領域に挿入されます。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
215
4.
積算合計をダブルクリックします。
[書式] ダイアログボックスが表示されます。
5.
[名前] ボックスに、「米国合計」と入力します。
6.
[評価条件の種類] リストで、[式を使用] を選択します。
式ワークショップが表示されます。
7.
[オブジェクトの追加] リストで [<国>] を選択し、「= "米国"」と入力します。例:
{AdventureWorks.Customer\Location\Country} = "USA"
プログラムは、"<国>" が "米国" に等しいレコードを見つけるたびに、積算合計を評価します。カナダのレコードなど、該
当しないレコードは、すべて無視されます。
8.
[リセット条件の種類] リストで、[リセットしない] を選択します。
9.
[合計] ノードをクリックします。
10. [基準元] リストで、[<インターネット売上金額>] を選択します。
11. [操作] リストで、[合計] を選択します。
12. [閉じる] をクリックします。
13. [データエクスプローラ] から積算合計オブジェクトをドラッグして、レポートの [ボディ] セクションに挿入します。
14. 手順 3 から 13 で説明したプロセスを使用して "カナダ合計" 積算合計オブジェクトを作成します。ただしここでは次の評
価式を使用します。
{AdventureWorks.Customer\Location\Country} = "Canada"
15. 作成が終了したら、レポートの [ボディ] セクションに "カナダ合計" 積算合計オブジェクトを挿入します。
注記
カナダと米国の取引高の総計だけを表示する場合は、作成した 2 つの積算合計オブジェクトをレポートの [レポートフ
ッタ] セクションに配置します。
9.6.5
式を使った積算合計の作成
レポートに非表示データや WhilePrintingRecords 式に基づくデータが含まれる場合には、積算合計式を作成します。積算
合計式を使用しない場合は、非表示データが積算合計に表示されます。
積算合計を手作業で作成する場合は、次の 3 つの式を作成する必要があります。
●
集計用の式
●
変数を表示する表示用の式
●
変数を 0 に設定するリセット用の式
式を使用する積算合計では、次の機能を持つレポートを作成できます。
●
顧客からの注文の積算合計を保持する
●
顧客からの注文をグループ化し、各グループごとに積算合計をリセットする
●
各注文グループごとに小計(その注文の積算合計の最後の値)を表示する
216
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
関連情報
式の使用例 [278 ページ]
9.6.5.1
集計用の式を作成する
集計用の式を作成する前に、"<顧客名>" などのカスタマオブジェクト、および "<受注額>"、"<受注番号>" などの数値オブジ
ェクトを使用してレポートを作成する必要があります。
1.
[データエクスプローラ] サイドパネルで [式] を右クリックし、[式の新規作成] をクリックします。
[式名] ダイアログボックスが表示されます。
2.
式の名前を入力し、[OK] をクリックします。
式ワークショップが表示されます。
3.
コードテキストウィンドウで、式を入力し、[オブジェクトの追加] リストからオブジェクトを選択します。
例:
WhilePrintingRecords;
CurrencyVar Amount;
Amount := Amount + {AdventureWorks.Internet Sales\Order Amount};
この式は、"<受注額>" オブジェクトの値の積算合計を出力します。
4.
[保存して終了] をクリックします。
5.
レポートの [ボディ] セクションにある "<受注額>" オブジェクトの右隣に、[データエクスプローラ] から式オブジェクトをドラ
ッグします。
9.6.5.2
変数を 0 に設定するリセット用の式を作成する
リセット用の式を作成する前に、"<顧客名>" などのカスタマオブジェクト、および "<受注額>"、"<受注番号>" などの数値オブ
ジェクトを使用してレポートを作成する必要があります。
1.
[データエクスプローラ] サイドパネルで "<顧客名>" オブジェクトを右クリックし、[<<オブジェクト>> でグループ化] をク
リックします。
2.
[データエクスプローラ] サイドパネルで [式] を右クリックし、[式の新規作成] をクリックします。
[式名] ダイアログボックスが表示されます。
3.
式の名前を入力し、[OK] をクリックします。
式ワークショップが表示されます。
4.
コードテキストウィンドウに次の式を入力します。
WhilePrintingRecords;
CurrencyVar Amount := 0;
この式は、変数 Amount の値を 0 に設定します。
5.
[保存して閉じる] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
217
6.
式オブジェクトを [データエクスプローラ] からレポートの [グループヘッダ 1] セクションにドラッグします。
[グループヘッダ 1] セクションは、各グループごとに一度表示されるので、式はグループが代わるたびに実行されます。
新しいグループが始まるたびに、変数 Amount が 0 にリセットされます。
7.
[構造] モードで式を右クリックし、[式要素の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
8.
[非表示]を選択します。
式は最後の印刷出力に表示されません。
9.
[非表示] の横の [条件式] をクリックします。
式ワークショップが表示されます。
10. 「{@式名 } = {@式名 }」と入力し、[保存して閉じる] をクリックします。
"式名" は、式の名前に置き換えてください。
11. [閉じる] をクリックします。
9.6.5.3
表示用の式を作成して変数を表示する
リセット用の式を作成する前に、"<顧客名>" などのカスタマオブジェクト、および "<受注額>"、"<受注番号>" などの数値オブ
ジェクトを使用してレポートを作成する必要があります。
1.
[データエクスプローラ] サイドパネルで "<顧客名>" オブジェクトを右クリックし、[<<オブジェクト>> でグループ化] をク
リックします。
2.
[データエクスプローラ] サイドパネルで [式] を右クリックし、[式の新規作成] をクリックします。
[式名] ダイアログボックスが表示されます。
3.
式の名前を入力し、[OK] をクリックします。
式ワークショップが表示されます。
4.
コードテキストウィンドウに次の式を入力します。
WhilePrintingRecords;
CurrencyVar Amount;
この式は、変数 Amount の現在の値を表示します。
5.
[保存して終了] をクリックします。
6.
式オブジェクトを [データエクスプローラ] からレポートの [グループヘッダ 1] セクションにドラッグします。
[グループフッタ 1] セクションは、各グループごとに一度表示されるので、式はグループが終わるたびに実行されます。グ
ループが代わるたびに、変数 Amount に格納された値が出力されます。
注記
この式が出力する値は、各グループの最後のレコードに対して積算合計が出力する値と同じです。この式は値を [グ
ループフッタ] セクションに出力するため、積算合計ではなく、グループの小計として機能します。
レポートでは、積算合計の列の各行に、現在のレコードの値と前の値とを加算した値が表示されます。積算合計は、新規グル
ープごとに新たに開始されます。また、各グループの最終的な積算合計は、そのグループの小計になります。
218
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
並べ替え、グループ化、集計
10 チャート
カラフルで読みやすいチャートで集計データを表示できます。この節では、レポートにチャートを作成して、レポートデータを理
解しやすいものにする方法を具体的に示します。さまざまなチャートのレイアウトや種類を選択したり、チャートが示す合計情
報をドリルダウンして詳細を表示したり、チャートオブジェクトの書式を編集することができます。
10.1 チャートの基礎
チャートは、レポートでデータを視覚的に表示する必要があるときに使用できます。
たとえば、地域ごとの昨年の売上高の小計による地域別にグループ化された販売レポートがある場合は、地域別の売上を示
すチャートを作成できます。
ボディ、式、および積算合計の各オブジェクトについてのチャートを作成できます。
10.1.1
チャートの定義
チャートの定義には、この他のセクションの情報が含まれる場合もあります。
10.1.1.1
チャートタイプとサブ形式
さまざまなデータの内容に応じて、それに合ったチャート タイプを選択できます。次に、主なチャート タイプの概要およびその
使用例を挙げます。
立体ライザ
立体ライザチャートでは、立体オブジェクトを横に並べた形式で 3 次元的にデータを表示します。立体ライザチャートを使用す
ると、レポートにデータを効果的に表示できます。たとえば、このチャートを使用すれば、顧客別と国別の売上高の違いを視覚
的にダイナミックに表示できます。
立体表面
立体等高線チャートを使用すると、複数のデータを立体的な地形状に表示できます。たとえば、国別さらに顧客別に売上高を
示すチャートが必要な場合、それを視覚的にダイナミックに、また関連がわかるように表示するなら、立体等高線チャートの利
用をお勧めします。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
219
面チャート
面チャートでは、色またはパターンで塗りつぶした領域を使ってデータを表示します。このチャートは、限られた数のグループ
のデータを表示するのに最適です。たとえば、総売上に対するカリフォルニア州、アリゾナ州、オレゴン州、およびワシントン州
の割合を示す場合に使用します。
棒チャート
ほとんどの棒チャート(縦棒チャート)では、複数のデータ セットを表示または比較します。便利な 2 つの棒チャートとして、横
並び棒チャートと積上げ棒チャートがあります。
●
横並び棒チャート
横並び棒チャートでは、垂直な棒を並べてデータを表示します。このチャートは、一定期間のいくつかのデータを表示する
のに最適です。たとえば、昨年のカリフォルニア州、アリゾナ州、オレゴン州、およびワシントン州における売上を示す場
合に使用します。
●
積上げ棒チャート
積み上げ棒チャートでは、垂直な棒を並べてデータを表示します。このチャートは、3 系列のデータを表示するのに最適
です。各系列は、色分けされた上、積み重ねて表示されます。たとえば、1997 年、1998 年、および 1999 年の売上を示
す場合に使用します。
ボックスプロット
ボックスプロットでは、次の値をプロットすることで集計データの範囲と分布を表示します。
●
第 1 四分位値: この値はデータの 25% より大きい値です。
●
中央値: この値はデータの 50% より大きい値です。
●
第 3 四分位値: この値はデータの 75% より大きい値です。
●
外れ値: 第 1 四分位値の 1.5 倍より小さいか、第 3 四分位値の 1.5 倍より大きい値。
●
最小値: 外れ値を除く集計データの最小値。
●
最大値: 外れ値を除く集計データの最大値。
[合計 (Y)] データは、[系列 (Z)] データに従って集計され、この集計データは [カテゴリ (X)] データ内にプロットされます。た
とえば、地理的な地域に従って年間売上高を集計でき、国ごとに、国内の地域の売上高の範囲と分布を表示するボックスを
プロットできます。
各ボックスは、第 1 四分位値と第 3 四分位値の間の範囲をマークし、このチャートタイプで、集計値のバルクを含む範囲を特
定しやすくします。
バブルチャート
バブルチャート (散布図タイプの拡張) では、バブルを並べてデータを表示します。バブルは、データの大きさに応じたサイズ
で表示されます。バブルチャートを使用すると、特定の地域で売れた製品の個数を効果的に表示できます。バブルが大きくな
るほど、その地域で多く売れたことを示すことができます。
220
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
ドーナツ型チャート
ドーナツ型チャートは、円チャートに似ており、円またはドーナツを分けてデータを表示します。たとえば、地域ごとの売上高を
このチャートにする場合、総売上の数値をドーナツ型チャートの中央に示し、地域ごとの売上高は、ドーナツを色分けして示し
ます。複数のグループデータを扱う場合は、円チャートと同様、複合ドーナツ型チャートも選択できます。
ファンネルチャート
ファンネル チャートは、一般的に、営業活動の段階を表す場合に使用します。たとえば、各段階における予想売上金額を表
す場合などです。このタイプのチャートは、組織の販売プロセスで問題の発生しそうな部分を突き止める場合にも役立ちます。
ファンネルチャートは、チャートに表示されるグループの全集計値を表す点で積み上げ横棒チャートと似ています。
ガントチャート
ガント チャートは横の棒チャートです。通常、スケジュールの図解表示に使用します。横軸は時間を示し、縦軸は一連のタス
クやイベントを示します。ガントチャートの横棒は、縦軸上の各項目に対するイベントの順序と期間を表します。ガントチャート
の作成時には、日付オブジェクトだけを使用する必要があります。[チャートのグループタイプ] を [レコードごと] に設定し、チ
ャートの [合計 (Y)] 領域に開始日オブジェクトと終了日オブジェクトを追加する必要があります。
メーター チャート
メーター チャートでは、値がメーター上の点として視覚的に表示されます。通常、メーター チャートは、円チャートと同様に、1
つのグループ データに対して使用します。たとえば、総売上に対する各製品の割合を示す場合に使用します。
地図
地図チャートでは地図上にデータが表示され、各データは対応する地域に配置されます。地図チャートには、地理バブルチャ
ートと地理コロプレスチャートの 2 種類があります。
●
地理バブルチャート
地理バブルチャートでは、バブルを並べてデータを表示します。バブルは、データの大きさに応じたサイズで表示されま
す。これらのバブルは地図上 (各データに対応する地域) に配置されます。
●
地理コロプレスチャート
地理コロプレスチャートでは地図上にデータが表示され、データに対応する地域ごとに色が塗られます。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
221
ヒストグラム
ヒストグラムは横棒チャートの一種で、測定値が平均値とどのくらい違うかを示すために使用されます。これにより、プロセス
での問題の原因を、分布の形状と分布の偏差によって判別することができます。ヒストグラムでは、度数は棒の高さではなく、
棒の領域で表現されます。
折れ線チャート
折れ線チャートでは、点の系列を線で結んでデータを表示します。このチャートは、多数のグループのデータを表示するのに
最適です。たとえば、過去数年間の総売上を示す場合に使用します。
数値軸チャート
数値軸チャートは、数値オブジェクトまたは日付/時刻オブジェクトを [カテゴリ (X)] 軸オブジェクトとして使用する棒チャート、
折れ線チャート、または面チャートです。数値軸チャートには、X 軸値の倍率を設定する方法が用意されているため、実際の
数値 X 軸や実際の日付/時刻 X 軸が作成されます。
円チャート
円チャートでは、円を色またはパターンで塗り分けてデータを表示します。円チャートは、通常、1 つのグループデータに対して
使用します。たとえば、総売上に対する各製品の割合を示す場合に使用します。しかし、複合円チャートを選択し、複数のグ
ループデータを扱うこともできます。
レーダー チャート
レーダー チャートでは、国または顧客などのグループのデータを放射状に配置します。また、放射線の中央から周囲へと値
の小さい順に数値を配置します。レーダーチャートは、グループデータに関連付けられている特定の値を把握する場合に特に
便利です。
散布図
散布図チャートは、プロットされた点の集合です。それらの点は、大量の情報の中の個々のデータを表します。散布図チャート
を使用すれば、トレンドを決めるために、比較的大きなデータの範囲を検討することができます。たとえば、売上高、製品、国、
年、月などの顧客情報を入力すれば、プロットされた点の集まり具合から顧客情報の傾向を把握できます。このデータを散布
図チャートにして表示すると、特定の製品が他の製品より売れている理由や、特定の地域で他の地域より売れている理由を
子細に検討できます。
222
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
株価チャート
株価チャートでは、高値または低値のどちらかで指定されたデータを使用して、データを棒グラフに似せて表示し、比較対象
のデータと交互に配置したグラフを作成します。株価チャートは通常、トレンドおよびボリュームを比較するのに使用します。株
価チャートには、高値 - 安値型と始値 - 高値 - 安値 - 終値型の 2 種類があります。高値 - 安値型チャートには 2 つの値が必
要ですが、始値 - 高値 - 安値 - 終値型チャートには 4 つの値が必要です。
タグクラウド
タグクラウドでは、データを単語のコレクションとして表示します。各単語のサイズは [タグの加重] データオブジェクトの値の
サイズに比例し、単語が大きければ大きいほど、その単語が表す値は大きくなります。チャートの [タグファミリー] 領域にデー
タオブジェクトを追加すると、各単語の色は値が属する範囲を表します。たとえば、レポート内でカナダとフランス両国の売上
高が他の国と比較して高い場合、タグクラウドでは、"“カナダ”" と "“フランス”" は同じ色のフォントで表示され、他の国の名前
は異なる色で表示されます。
ツリーマップ
ツリーマップでは、データを一連の階層型の長方形として表示します。各長方形の表面積は [長方形の加重] データオブジェ
クトの値のサイズに比例し、長方形が大きければ大きいほど、その長方形が表す値は大きくなります。
長方形の階層は、チャートの [カテゴリ (X)] 領域におけるデータオブジェクトの順序に基づいて決まります。たとえば、[カテゴ
リ (X)] に "“地域”" が従属する "“国”" が含まれる場合、地域を表す長方形は、国を表す長方形内にネストされます。
チャートの [長方形の色] 領域にデータオブジェクトを追加すると、各長方形の色はデータ値が属する範囲を表します。たとえ
ば、レポート内でカナダとフランス両国の売上高が他の国と比較して高い場合、"“カナダ”" と "“フランス”" を表す長方形は同じ
色で表示され、他の国を表す長方形は異なる色で表示されます。
10.1.1.2
チャートグループのタイプ
チャートタイプ、サブ形式、およびチャートグループタイプの組み合わせごとに、必要なオブジェクトが異なります。次のチャート
グループ タイプのサブ形式は、各チャート タイプに適用されます。
●
[各レコードごと]
●
変更時
●
すべてのレコード
チャート タイプ、サブ形式、およびチャート グループ タイプを定義した後、次の 1 つまたは複数の値にデータを追加する必要
があります。
●
カテゴリ
●
合計
●
系列
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
223
●
ラベル
注記
すべてのチャートタイプですべての項目を使用できるわけではありません。
合計 (Y)
[合計] 値は、チャートに集計されている情報を示します。たとえば、顧客別の昨年の売上を示すチャートを作成する場合、昨
年の売上のオブジェクトが値となります。
カテゴリ (X)
[カテゴリ] 値は、チャートグループタイプ "変更時" に使用されます。これは、点をプロットする時の指定に使用されます。
たとえば、顧客の昨年の売上を表示するチャートでは、"顧客名" オブジェクトを条件として使用します。カテゴリ (顧客名) が
変わるたびに、点がプロットされます。
系列 (Z)
[系列] 値は、チャートグループタイプ "変更時" に使用されます。これは、系列へのデータの指定に使用されます。
ラベル
[ラベル] 値は、チャートグループタイプ "レコードごと" に使用されます。これは、[合計] 値のラベルの表示に使用されます。
10.1.1.2.1
チャートグループタイプ "変更時" に必要な値
すべてのチャートがチャートグループタイプ "変更時" を含むわけではありません。これを含むチャートタイプの大部分につい
ては、合計値と、カテゴリ値と系列値のどちらか一方または両方を使用する必要があります。
チャートタイプ
サブ形式
カテゴリ
合計
系列
立体ライザ
すべてのサブ形式
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
立体表面
すべてのサブ形式
1 つの値のみ
少なくとも 2 つの値
1 つの値のみ
224
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
チャートタイプ
サブ形式
カテゴリ
合計
系列
面チャート
すべてのサブ形式
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
棒チャート
すべてのサブ形式
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
1 つの値のみ
3 つの値 (X、Y、およ
1 つの値のみ
バブルチャート
びサイズ) が必須
ボックスプロット
1 つの値のみ
1 つの値のみ
1 つの値のみ
列
すべてのサブ形式
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
ドーナツ型チャート
ドーナツ型チャート
適用外
1 つの値のみ
1 つの値のみ
複合ドーナツ型チャー
ト
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
比例複合ドーナツ型チ
ャート
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
ファンネルチャート
使用できません。
1 つの値のみ
1 つの値のみ
メーターチャート
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
使用できません。
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
地図
すべてのサブ形式
ヒストグラム
折れ線チャート
すべてのサブ形式
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
数値軸チャート
すべての数値サブ形
式
1 つの値のみ、使用で
少なくとも 1 つの値
オプション、使用できる
のは 1 つの値のみ
すべての日付サブ形
式
1 つの値のみ、使用で
少なくとも 1 つの値
オプション、使用できる
のは 1 つの値のみ
きるデータ型は数値型
のみ
きるデータ型は日付/
時刻型のみ
円チャート
レーダーチャート
円チャート
使用できません。
1 つの値のみ
1 つの値のみ
複合円チャート
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
比例複合円チャート
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
すべてのサブ形式
1 つの値のみ
少なくとも 1 つの値
1 つの値のみ
1 つの値のみ
2 つの値 (X および Y)
1 つの値のみ
散布図
が必須
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
225
チャートタイプ
サブ形式
カテゴリ
合計
系列
株価チャート
高値、安値
1 つの値のみ
2 つの値 (高値および
使用できません。
安値) が必須
始値 - 高値 - 安値 - 終 1 つの値のみ
4 つの値 (高値、安
値
値、始値、および終値)
使用できません。
が必須
タグクラウド
1 つの値のみ
少なくとも 1 つの値
使用できません。
2 つの値 (タグの加
重、タグファミリー) を
使用できます。
ツリーマップ
少なくとも 1 つの値
少なくとも 1 つの値
2 つの値を使用できま
2 つの値 (長方形の加
す。
使用できません。
重、長方形の色) を使
用できます。
10.1.1.2.2
チャートグループタイプ "レコードごと" に必要な値
チャートグループタイプ "レコードごと" はすべてのチャートタイプに含まれますが、チャートタイプのすべてがこのオプションに
同じ値を必要とするわけではありません。すべてのチャートタイプとサブ形式について、ラベル値はオプションとなります。
注記
ガントチャート以外の、チャートグループタイプが "レコードごと" のすべてチャートでは、合計値に数値しか使用できませ
ん。
チャートタイプ
サブ形式
合計
立体ライザ
すべてのサブ形式
少なくとも 1 つの値
立体表面
すべてのサブ形式
少なくとも 2 つの値
面チャート
すべてのサブ形式
少なくとも 1 つの値
棒チャート
すべてのサブ形式
少なくとも 1 つの値
バブルチャート
3 つの値 (X、Y、およびサイズ) が必須
ボックスプロット
少なくとも 1 つの値
列
226
すべてのサブ形式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
少なくとも 1 つの値
SAP Crystal Reports for Enterprise ユーザガイド
チャート
チャートタイプ
サブ形式
合計
ドーナツ型チャート
ドーナツ型チャート
1 つの値のみ
複合ドーナツ型チャート
少なくとも 1 つの値
比例複合ドーナツ型チャート
少なくとも 1 つの値
ファンネルチャート
1 つの値のみ
メーターチャート
少なくとも 1 つの値
ガントチャート
2 つの値 (開始および終了) が必須
使用できるデータ型は日付/時刻型の
み
少なくとも 1 つの値
ヒストグラム
折れ線チャート
すべてのサブ形式
少なくとも 1 つの値
数値軸チャート
すべてのサブ形式
少なくとも 1 つの値
円チャート
円チャート
1 つの値のみ
複合円チャート
少なくとも 1 つの値
比例複合円チャート
少なくとも 1 つの値
すべてのサブ形式
少なくとも 1 つの値
レーダーチャート
2 つの値 (X および Y) が必須
散布図
株価チャート
高値、安値
2 つの値 (高値および安値) が必須
始値 - 高値 - 安値 - 終値
4 つの値 (高値、安値、始値、および終
値) が必須
タグクラウド
少なくとも 1 つの値
2 つの値 (タグの加重、タグファミリー)
を使用できます。
ツリーマップ
少なくとも 1 つの値
2 つの値 (長方形の加重、長方形の色)
を使用できます。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
227
10.1.1.2.3
グループタイプ "すべてのレコード" に必要な値
チャートグループタイプ "すべてのレコード" を含まないチャートタイプやチャートのサブ形式もあります。
チャートタイプ
サブ形式
合計
立体ライザ
すべてのサブ形式
少なくとも 1 つの値
面チャート
すべてのサブ形式
少なくとも 1 つの値
棒チャート
すべてのサブ形式
少なくとも 1 つの値
3 つの値 (X、Y、およびサイズ) が必須
バブルチャート
列
すべてのサブ形式
少なくとも 1 つの値
ドーナツ型チャート
ドーナツ型チャート
少なくとも 1 つの値
ファンネルチャート
少なくとも 1 つの値
メーターチャート
少なくとも 1 つの値
ヒストグラム
少なくとも 1 つの値
折れ線チャート
すべてのサブ形式
少なくとも 1 つの値
数値軸チャート
すべてのサブ形式
少なくとも 1 つの値
円チャート
円チャート
少なくとも 1 つの値
レーダーチャート
すべてのサブ形式
少なくとも 1 つの値
2 つの値 (X および Y) が必須
散布図
株価チャート
高値、安値
2 つの値 (高値および安値) が必須
始値 - 高値 - 安値 - 終値
4 つの値 (高値、安値、始値、および終
値) が必須
10.1.2 チャートの配置
チャートを配置する位置によって、表示されるデータおよび出力される位置が決まります。たとえば、[レポートヘッダ] セクショ
ンに配置されるチャートにはレポート全体のデータが含まれますが、[グループヘッダ] または [グループフッタ] セクションに配
置されるチャートはグループ固有のデータだけを表示します。
注記
サブレポートを持つレポートの場合は、サブレポートにもチャートを配置できます。
228
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
関連情報
サブレポート [342 ページ]
10.1.3 チャートのドリルダウン
チャートはデータを表示するだけではなく、分析ツールとしても使用できます。チャートの系列項目がレポート内のグループに
対応する場合、その系列項目にドリルダウンしてデータを詳細に表示できます。これを行うには、チャートを [ページ] モードで
表示し、ポインタがドリルダウンカーソルになるようにカーソルを系列項目の上に移動してからダブルクリックします。
注記
地理コロプレスチャートをドリルダウンするには、ポインタがドリルダウンカーソルになるように、データを含む地域の上にカ
ーソルを移動してからダブルクリックします。
10.2 チャートの作成
チャートは集計情報の表示に適しているため、通常はレポートの集計オブジェクトを基に作成されます。チャートは、レポート
ヘッダ/フッタ、グループヘッダ/フッタ、またはクロスタブ集計の値を基に作成できます。
注記
OLAP データソースでメジャーが依頼されたメジャーとして定義されている場合、そのメジャーは集計オブジェクトとして使
用することをお勧めします。
10.2.1 チャートを作成する
1.
[挿入] タブで [チャート] をクリックして、チャートタイプとサブ形式を選択します。
選択したデータの表示に最適なチャートタイプを選択します。チャートタイプとサブ形式 [219 ページ]を参照してください。
2.
要素フレームを、レポートキャンバス内のチャートを挿入する領域にドラッグします。
チャートは、レポートヘッダ/フッタまたはグループヘッダ/フッタに挿入できます。
3.
デフォルトチャートの[データ] タブをクリックします。
4.
[データエクスプローラ] パネルから [合計]、[カテゴリ]、および [系列] の各ドロップゾーンにオブジェクトをドラッグし、チャ
ートに追加します。
各ドロップゾーンはチャートの軸を表します。[合計] ドロップゾーンは Y 軸を表し、[カテゴリ] ドロップゾーンは X 軸を表
し、[系列] ドロップゾーンは Z 軸を表します。
チャートタイプとサブ形式ごとに、必要なオブジェクトが異なります。各チャートタイプとサブ形式に必要なオブジェクトにつ
いては、チャートグループのタイプ [223 ページ]を参照してください。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
229
注記
赤い縁取りのあるドロップゾーンについては、オブジェクトを入力する必要があります。カーソルをドロップゾーンの上
に置くと、そのドロップゾーンに必要なオブジェクトの数を示すメモが表示されます。
注記
[カテゴリ] または[系列] のいずれかのドロップゾーンにオブジェクトを追加すると、両方のドロップゾーンの赤い縁取り
が消えます。
5.
チャートを右クリックし、[チャートの書式設定] をクリックします。
6.
[表示] をクリックしてチャートの書式設定を編集します。
7.
軸ラベルなど、チャートの他の要素を編集するには、チャート上で要素を右クリックし、[書式] ダイアログボックスを使用し
て編集します。
注記
チャートを挿入すると、レポートのかなりの部分を占めることがあります。チャートを移動およびサイズ変更し、レポート内に
うまく収まるようしてください。
10.2.2 ボックスプロットチャートを作成する
ボックスプロットチャートでは、集計されたデータの範囲および分布を、第 1 四分位値、第 3 四分位値、中央値、最大値、最小
値、および任意の外れ値をプロットすることで表示します。各ボックスは、第 1 四分位値と第 3 四分位値の間の範囲をマーク
し、このチャートタイプで、集計値のバルクを含む範囲を特定しやすくします。
1.
[挿入] タブから
2.
チャートを配置するレポートのキャンバスをクリックし、チャート要素で [データ] タブをクリックします。
3.
データオブジェクトを 1 つ [カテゴリ (X)] および [系列 (Z)] ドロップゾーンに追加し、1 つまたは複数のデータオブジェクト
チャート
その他のチャート
ボックスプロット
の順にクリックします。
を [合計 (Y)] ドロップゾーンに追加します。
[カテゴリ (X)] データの各値について X 軸にラベル付けされた領域がマークされます。
[合計 (Y)] データは、[系列 (Z)] データを基にして集計され、これらの集計値は [カテゴリ (X)] データ内にプロットされま
す。[合計 (Y)] ドロップゾーンに追加する各データオブジェクトについて、1 つのボックスが、すべての X 軸領域にプロット
されます。たとえば、2 つのデータオブジェクトを [合計 (Y)] ドロップゾーンに配置すると、各 X 軸領域に 2 つのボックス
が含まれます。
4.
[ページ] をクリックして [ページ] モードに切り替え、チャートを表示します。
5.
必要に応じて、チャートのサイズを変更したりデータを調整します。
230
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
10.2.3 タグクラウドチャートを作成する
タグクラウドでは、データを単語のコレクションとして表示します。各単語のサイズはその単語が表す値に比例します。各単語
の色を使用して、値が属する範囲を表すこともできます。タグクラウドは、データオブジェクト内の値の相対サイズや重要度を
表すのに便利です。
1.
[挿入] タブから
2.
チャートを配置するレポートのキャンバスをクリックし、チャート要素で [データ] タブをクリックします。
3.
データオブジェクトを 1 つ [カテゴリ (X)] ドロップゾーンに追加します。
チャート
その他のチャート
タグクラウド
の順にクリックします。
このオブジェクトは、[合計 (Y)] ドロップゾーン内のデータを集計するのに使用され、タグクラウドで表示される単語を決定
します。たとえば、"“国”" オブジェクトをこのドロップゾーンに追加すると、タグクラウド内の各単語は国の名前になり、[合
計 (Y)] ドロップゾーンのデータは国別に集計されます。
4.
1 つまたは 2 つのデータオブジェクトを [合計 (Y)] ドロップゾーンに追加します。
追加する 1 つ目のオブジェクトは [タグの加重] の値として使用されます。タグクラウドにおける各単語のサイズは、この
データに基づいて決まります。
2 つ目のオブジェクトは任意ですが、[タグファミリー] の値として使用されます。タグクラウドにおける各単語の色は、この
データに基づいて決まります。
5.
[ページ] をクリックして [ページ] モードに切り替え、チャートを表示します。
6.
必要に応じて、チャートのサイズを変更したりデータを調整します。
10.2.4 ツリーマップチャートを作成する
ツリーマップでは、データを一連の階層型の長方形として表示します。各長方形の表面積は長方形が表す値に比例します。
各長方形の色を使用して、値が属する範囲を表すこともできます。ツリーマップは、多くのデータ値を 1 つのチャートで表現し
たり、データにおけるトレンドを強調表示したりするのに便利です。たとえば、それぞれの長方形に異なる色を使用すると、値
セットが特に目立つタイミングを容易に確認することができます。
1.
[挿入] タブから
2.
チャートを配置するレポートのキャンバスをクリックし、チャート要素で [データ] タブをクリックします。
3.
1 つまたは 2 つのデータオブジェクトを [カテゴリ (X)] ドロップゾーンに追加します。
チャート
その他のチャート
ツリーマップ
の順にクリックします。
これらのオブジェクトは、[合計 (Y)] ドロップゾーンでデータを集計するのに使用されます。
2 つ目のデータオブジェクトの追加は任意です。ツリーマップでは、2 つ目のオブジェクトは 1 つ目のオブジェクトにネスト
されます。
4.
1 つまたは 2 つのデータオブジェクトを [合計 (Y)] フィールドに追加します。
追加する 1 つ目のオブジェクトは [長方形の加重] の値として使用されます。ツリーマップにおける各長方形のサイズは、
このデータに基づいて決まります。
2 つ目のオブジェクトは任意ですが、[長方形の色] の値として使用されます。各長方形の色は、このデータに基づいて決
まります。
5.
[ページ] をクリックして [ページ] モードに切り替え、チャートを表示します。
6.
必要に応じて、チャートのサイズを変更したりデータを調整します。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
231
10.2.5 クロスタブ合計のチャート作成
Crystal Reports では、クロスタブレポートの合計値を基にしてチャートを作成できます。たとえば、米国の各地域で販売され
たある製品の個数を示すクロスタブを基にして、製品の総売上に対する地域ごとの割合を表示するチャートを作成できます。
注記
クロスタブの計算メンバーのチャートを作成することもできます。
注記
クロスタブチャートはバブルチャートをサポートしていません。
関連情報
クロスタブについて [238 ページ]
10.2.5.1
1.
クロスタブ合計をチャートにする
レポートキャンバスでクロスタブを右クリックし、[クロスタブデータからチャートを作成] をクリックします。
クロスタブのデータを使用したチャートがレポートキャンバスに表示されます。
2.
オブジェクトをさらにチャートに追加するには、チャートの [データ] タブをクリックします。
3.
結果オブジェクトを挿入するドロップゾーンを右クリックし、[チャートデータオブジェクトの挿入] をクリックします。
4.
ステップ 3 を繰り返して、目的のドロップゾーンにオブジェクトを挿入します。
各ドロップゾーンはチャートの軸を表します。[合計] ドロップゾーンは Y 軸を表し、[カテゴリ] ドロップゾーンは X 軸を表
し、[系列] ドロップゾーンは Z 軸を表します。
チャートタイプとサブ形式ごとに、必要なオブジェクトが異なります。各チャートタイプとサブ形式に必要なオブジェクトにつ
いては、チャートグループのタイプ [223 ページ]を参照してください。
注記
赤い縁取りのあるドロップゾーンについては、オブジェクトを入力する必要があります。カーソルをドロップゾーンの上
に置くと、そのドロップゾーンに必要なオブジェクトの数を示すメモが表示されます。
注記
[カテゴリ] または[系列] のいずれかのドロップゾーンにオブジェクトを追加すると、両方のドロップゾーンの赤い縁取り
が消えます。
5.
軸ラベルやタイトルなど、チャートの他の要素を編集するには、チャート上で要素を右クリックし、[<<要素名>>の書式設
定] をクリックします。
クロスタブ合計を基にしてチャートが作成されます。
232
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
注記
チャートを挿入すると、レポートのかなりの部分を占めることがあります。チャートを移動およびサイズ変更し、レポート内に
うまく収まるようしてください。
10.3 チャートの操作
チャートの作成後、新しいタイトル、見出し、および凡例を追加できます。フォントの変更やチャートの種類の変更もできます。
Crystal Reports には、既存のチャートを使って作業するためのオプションが数多く用意されています。
10.3.1 チャートの編集
表示するチャートタイプやチャートの基となるデータなど、選択していた元の設定の多くを変更できます。チャートのタイプを変
更する場合は、そのチャートに使用するオブジェクト値を新たに選択する必要があります。
10.3.1.1
1.
[書式] ダイアログボックスを使ってチャートを編集する
タイトル、テキストオブジェクト、チャートそのものなど、編集する必要のあるチャート要素を右クリックし、[<<オブジェク
ト名>> の書式設定] をクリックします。
<<オブジェクト名>> は、書式設定するオブジェクトの名前です。たとえば、[フレームの書式設定]、[タイトルの書式設
定]、[X 軸タイトルの書式設定] などのようになります。
[書式] ダイアログボックスが表示されます。
注記
現在選択されている要素は、[選択したエレメント] メニューに表示されます。別の要素を編集するには、要素をメニュ
ーから選択するかチャート上でクリックします。
2.
必要な変更を加えます。
3.
書式設定の変更内容を適用するには、[閉じる] をクリックします。
10.3.1.2
軸オプションを変更する
1.
軸を右クリックして、[<<x、y、または z>> 軸の書式設定] をクリックします。
2.
ダイアログボックスの該当するセクションを使用して、枠線、軸の位置、軸の色および線種などを変更します。
3.
書式設定の変更内容を適用するには、[閉じる] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
233
10.3.1.3
1.
系列オプションを変更する
チャート上でライザ項目 (面、棒、線、マーカー、円のセグメントなど) または凡例マーカーを右クリックし、[<<オブジェク
ト名>> の書式設定] をクリックします。
<<オブジェクト名>> は、選択したオブジェクトに割り当てられている名前です。
2.
ダイアログボックスで任意の変更を行います。
3.
書式設定の変更内容を適用するには、[閉じる] をクリックします。
10.3.2 チャートの書式設定
次の要素など、チャートの異なる要素の書式設定を変更できます。
●
フォント
●
サイズ
●
タイトルおよびチャートスタイル
●
凡例
●
目盛線
実行可能な書式設定変更の詳細については、SAP Crystal Reports for Enterprise オンラインヘルプ内のさまざまなダイア
ログボックスのヘルプファイルを参照してください。
10.3.2.1
1.
チャートのタイトルを変更する
チャートのタイトルを右クリックし、[タイトルの書式] をクリックします。
[自動テキスト] を選択すると、別の軸のテキストがチャートのタイトルに使用されます。
2.
テキストボックスに新しいタイトルを入力します。
[書式設定] ダイアログボックスでは、チャートのフォントおよび表示方法を変更することもできます。
10.3.2.2 チャートの凡例の書式を変更する
1.
チャート上で凡例を右クリックし、[凡例の書式設定] をクリックします。
2.
各種のプロパティを使用して、凡例の表示、フォント、その他のプロパティを変更します。
10.3.2.3 チャートの境界線を変更する
1.
234
チャートを右クリックし、[チャートの書式設定] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
2.
[選択した要素] 一覧から、[フレーム] をクリックします。
[表示] セクションが表示されます。
3.
[境界線] 領域で、境界線の種類または色を変更します。
10.3.2.4 チャートの背景を変更する
1.
チャートを右クリックし、[チャートの書式設定] をクリックします。
2.
[選択した要素] 一覧から、[フレーム] をクリックします。
[表示] セクションが表示されます。
3.
[塗りつぶし] 領域の [色] 一覧を使用して、チャートの背景色を変更します。
10.3.2.5 チャートに条件付き書式設定を適用する
1.
チャートを右クリックし、[チャートの強調表示エキスパート] をクリックします。
[チャートの強調表示エキスパート] ダイアログボックスが表示されます。
2.
[条件の追加] をクリックして新しい条件を追加します。
3.
メニューを使用して式条件を設定し、表示色を選択します。
4.
チャートに追加する他のすべての条件について、手順 2 と手順 3 を繰り返します。
5.
[OK] をクリックします。
条件で指定した値が、選択した色で表示されます。
注記
条件付き書式設定の中には、一部のチャートタイプでは利用できないものもあります。
注記
面チャートを表示するには、条件付き書式設定に [カテゴリ] および [系列] の両方の値が必要です。
注記
チャートタイプが折れ線チャートの場合、条件付き書式設定を表示するためには、データマーカーを設定しておく必要があ
ります。
10.3.3 トレンドライン
トレンドラインは、データ系列の傾向をチャートにして表示します。積上げではない面チャート、横棒チャート、バブルチャート、
縦棒チャート、折れ線チャート、株価チャート、数値軸チャート、ヒストグラムチャート、および散布図のデータ系列にトレンドラ
インを追加できます。線型トレンドライン、対数トレンドライン、多項式トレンドライン、および指数トレンドラインを描画できます。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
235
また、系列の複数のデータ要素から求めた平均を並べて示す移動平均線を描画できます。移動平均線を使用すると、系列の
データ要素の変動を滑らかに表示できます。トレンドラインは、ガントチャート、メーターチャート、レーダーチャート、円チャー
ト、ドーナツ型チャート、または立体チャートでは利用できません。
10.3.3.1
トレンドラインを作成する
1.
チャート上で領域、ライザまたはマーカーを右クリックし、[系列の書式設定] をクリックします。
2.
ダイアログボックスの [トレンドライン] ノードで、トレンドラインの種類を選択します。
[平均移動] トレンドラインは、選択した系列のデータ要素から計算されます。移動平均を使用すると、データ要素の変動
を滑らかにして、そのパターンや傾向を示すことができます。
3.
[次数] テキストボックスに値を入力し、トレンドラインの次数を指定します。使用できるオプションは、トレンドラインに応じ
て異なります。
注記
トレンドラインの種類として [多項式] を選択した場合は、線形多項式の次数を指定します。2 以上で、チャートのグル
ープ数以下の数を指定してください。
4.
[期間] テキストボックスに値を入力し、トレンドラインの期間数を指定します。
5.
[移動平均] 以外のすべての種類の回帰について、[係数を表示] チェックボックスを選択し、トレンドラインで使用される
係数値を表示します。
6.
[移動平均] 以外のすべての種類の回帰について、[式を表示] チェックボックスを選択し、トレンドラインで使用される式を
表示します。
7.
[表示] セクションで、トレンドラインの色、種類および太さを設定します。
トレンドラインがチャートに追加されます。
10.3.4 二重軸チャート
チャートは、主軸(Y1)および副軸(Y2)の 2 つの軸を持つようにレイアウトを変更できます。二重軸をサポートしていないチャー
トは、ガントチャート、メーターチャート、ヒストグラムチャート、株価チャート、円チャート、ドーナツ型チャート、および立体チャ
ートのみです。
二重軸レイアウトを選択すると、チャートのすべての系列が主軸 (Y1) に割り当てられたままになります。[書式] ダイアログボ
ックスを使用して、系列を副軸(Y2)に割り当てることができます。
注記
同じチャートがレポートの複数ページにわたって繰り返される場合は、[二重軸] オプションを選択するとすべてのチャート
が影響を受けます。レポートに含まれるチャートのすべてのインスタンスが、二重軸チャートとして表示されます。
236
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
チャート
10.3.4.1 二重軸チャートを作成する
1.
チャートを右クリックし、[チャートの書式設定] をクリックします。
2.
[選択した要素] メニューで [合計 (Y) 軸] を選択します。
3.
[軸] セクションで、[二重軸] を選択します。
注記
デフォルトでは、すべての系列が主軸 (Y1) に割り当てられます。軸割当を変更する必要があるのは、副軸(Y2)に割り
当てる必要のある系列のみです。
4.
[書式] ダイアログボックスを閉じます。
5.
移動する系列を右クリックし、[系列の書式設定] を選択します。
6.
[全般] ノードで、[軸割当] メニューを使用して系列を主軸 (Y1) または副軸 (Y2) に割り当てます。
7.
[書式] ダイアログボックスを閉じます。
これで、チャートが二重軸チャートになります。[書式] ダイアログボックスを使用して、これ以外の書式設定の変更を行いま
す。
関連情報
チャートの編集 [233 ページ]
10.3.5 チャートの自動整列
チャート上のオブジェクトを移動したりサイズ変更する場合は、[自動配列] チェックボックスを選択しておくと、Crystal
Reports がチャートオブジェクトを自動的に元の位置にリセットします。
10.3.5.1
チャートを自動整列する
1.
チャートを右クリックし、[チャートの書式設定] をクリックします。
2.
ダイアログボックスの [チャート] セクションで、[自動配列] を選択します。
チャートオブジェクトをレポートキャンバス上でサイズ変更したり移動すると、Crystal Reports が自動的に元の位置にリセット
します。
SAP Crystal Reports for Enterprise ユーザガイド
チャート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
237
11
クロスタブ
11.1
クロスタブについて
クロスタブとは、2 方向にグループ化および合計された値を表示するためのグリッドです。データは簡潔な形式で表示されるた
め、データの比較や傾向の把握が容易になります。
たとえば、クロスタブを使用しない場合、地域や製品ごとにグループ化された標準レポートでは、地域ごとの製品数量が表示
されますが、次の図に示すとおり、データが分散されるために分析が困難になります。
クロスタブレポートは、情報を簡潔な形式で表示することから、結論の把握が容易になります。
238
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
クロスタブには、行合計、列合計、および総計が含まれます。総計は、行合計と列合計の交差部分の値です。
11.2
クロスタブの追加
新しいレポートでクロスタブを作成したり、既存のレポートにクロスタブを追加したりすることができます。クロスタブの使用にあ
たっては、次の点を念頭に置いてください。
●
複数の行、列、および合計要素を使用できます。
●
出力時刻式を行または列として使用できます。
●
クロスタブ内の行にはグループ並べ替え (上位または下位 N) を含めることができます。
注記
グループ並べ替えは列には適用できません。
●
レポートに必要なだけクロスタブを挿入できます。
●
クロスタブは、レポートヘッダ/レポートフッタ領域またはグループヘッダ/グループフッタ領域のどちらかに挿入できます。
●
クロスタブは、サブレポートに配置できます。これは、他のレポートからの結果を参照する場合に便利です。
11.2.1
クロスタブを追加する
1.
[挿入] タブで[クロスタブ] をクリックします。
2.
[列] リストから、列の値に使用するオブジェクトを選択します。
3.
[行] リストから、行の値に使用するオブジェクトを選択します。
4.
[合計] リストから演算を選択し、合計に使用するオブジェクトを選択します。
5.
[挿入] をクリックします。
マウスカーソルと共に要素フレームが表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
239
6.
要素フレームを [レポートヘッダ] に置いてクリックし、これをドロップします。
ヒント
レポートにグループ化された情報が含まれる場合は、クロスタブを [グループヘッダ] または [グループフッタ] に配置
できます。
11.3
クロスタブの使用
この節では、レポートに追加したクロスタブを使用する方法について説明します。
11.3.1
1.
値を % で表示する
クロスタブの合計要素を右クリックし、[合計の書式設定] を選択します。
[書式] ダイアログボックスが表示されます。
2.
[合計] オプションをクリックします。
3.
[パーセントで表示] を選択します。
4.
[割合 (パーセント)] リストから、パーセント値を水平 (行) または垂直 (列) のいずれの方向で計算するかに応じて、[行]
または [列] を選択します。
合計要素の値がクロスタブにパーセントとして表示されます。
11.3.2
複数ページにわたるクロスタブの出力
クロスタブの縦や横が指定のページサイズより大きい場合は、クロスタブ全体が自動的に複数ページにわたって出力されま
す。読みやすくするために、列見出しが後続のページにも繰り返し表示されます。[行ラベルの繰り返し] オプションを使用する
と、行見出しも繰り返し表示できます。
11.3.2.1
1.
行ラベルを繰り返し表示する
クロスタブの左上の空白領域を右クリックして、[グリッドオプション] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[行ラベルの繰り返し] を選択します。
注記
Crystal Reports では、テキスト要素、データ要素、ピクチャ、チャート、線、ボックスなど、横方向に拡張できないレポート
要素を、クロスタブが作成する追加の横方向のページで繰り返すことができます。
240
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
関連情報
横方向のページへのレポート要素の繰り返し出力 [168 ページ]
11.3.3
列内での改ページの回避
指定したページサイズよりも幅が広いクロスタブを作成すると、ページの端に出力される列が 2 ページにわたって分割される
可能性があります。この改ページをせずに 1 列の内容すべてを同じページに出力するには、[列をまとめて表示] オプションを
使用します。
11.3.3.1
1.
列内では改ページしない
クロスタブの左上の空白領域を右クリックして、[グリッドオプション] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[列をまとめて表示] チェックボックスをオンにして [閉じる] をクリックします。
11.4 クロスタブの書式設定
11.4.1
クロスタブセルの幅、高さ、および配置を変更する
1.
クロスタブ内のセルをクリックして、サイズ変更ハンドルを表示します。
2.
サイズ変更ハンドルの 1 つをドラッグして、セルの幅や高さを拡張します。
3.
[書式] タブで [フォントの配置] オプションを使用して、セル内のデータの配置を変更します。
左揃え、右揃え、中央揃え、および行末揃えから選択できます。
注記
1 つのセルを変更すると、同様のセルがすべて影響を受けます。たとえば、1 つの合計要素セルの幅を変更すると、同じ行
のその他すべてのセルの幅が変更されます。
11.4.2
すべての行や列の背景色を書式設定する
背景色を使用すると、クロスタブ内の特定の行または列を強調表示できます。
1.
クロスタブの行または列を右クリックして [クロスタブの書式設定] を選択します。
[書式] ダイアログボックスが表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
241
2.
[表示] オプションをクリックします。
3.
[塗りつぶし] リストから色を選択します。
行と列が指定どおりに書式設定されます。
11.4.3
要素を個別に書式設定する
1.
書式を設定する要素を選択します。
2.
[書式] タブで、フォント、背景、境界線、数値記号、通貨記号を編集します。
要素が指定どおりに書式設定されます。
11.4.4 複数の要素を一度に書式設定する
1.
Ctrl キーを押しながらクリックして必要な要素を選択します。
2.
[書式] タブで、フォント、背景、境界線を編集します。
複数の要素が指定どおりに書式設定されます。
11.4.5
クロスタブデータの非表示
この節では、レポートのデータを非表示にする手順を説明します。次のものを非表示にできます。
●
空の行および列
●
行および列の総計
●
小計およびそのラベル
11.4.5.1
1.
空白行および空白列を非表示にする
クロスタブの左上の空白領域を右クリックして、[グリッドオプション] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[空白行を非表示] または [空白列を非表示] を選択します。
レポートを出力したときに、空白の行や列は表示されなくなります。
11.4.5.2
1.
行および列の総計を非表示にする
クロスタブの左上の空白領域を右クリックして、[グリッドオプション] をクリックします。
[書式] ダイアログボックスが表示されます。
242
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
2.
[行総計を非表示] または [列総計を非表示] を選択します。
11.4.6 合計の水平方向の表示
クロスタブに複数の合計がある場合は、その値を (デフォルトの) 垂直方向ではなく水平方向に表示することができます。
11.4.6.1
1.
合計を水平方向に表示する
クロスタブの左上の空白領域を右クリックして、[グリッドオプション] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[合計] 領域で、左から右] を選択します。
3.
合計のラベルを表示する場合は、[合計ラベルを表示] を選択します。
合計について選択した方向でラベルが表示されます。
4.
[閉じる] をクリックします。
11.5
高度なクロスタブ機能
クロスタブにさらに多くの情報を追加する方法がいくつかあります。ここでは、高度なクロスタブ機能をいくつか紹介します。
11.5.1
クロスタブでの階層の表示
クロスタブで階層的に行または列を表示することができます。クロスタブに行または列の値の階層オブジェクトが含まれている
場合は、クロスタブで階層を表示すると便利です。
階層内では、レベルごとに小計が新しく作成されます。小計では、行の真下に行の集計値が表示されますが、この集計値に
は階層ノード自体の値は含まれません。
注記
階層全体の合計は、クロスタブ内では使用できません。
関連情報
オブジェクトのクイックリファレンス [98 ページ]
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
243
11.5.1.1
階層をクロスタブで表示する
階層を表示するには、クロスタブをセットアップするときに行または列の値の階層オブジェクトを選択する必要があります。
注記
選択した階層オブジェクトが、行または列の値の依頼されたメジャーでもある場合、その行または列の総計は、デフォルト
で非表示になります。
1.
クロスタブで行または列を右クリックし、[要素の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[行/列] オプションを展開し、[グループ] をクリックします。
3.
[階層の種類] リストから、[外部階層] を選択します。
4.
[閉じる] をクリックします。
クロスタブに、行見出しまたは列見出しが階層的に表示されます。
11.5.2
計算メンバー
計算メンバーを使用して、行または列をクロスタブに挿入します。これらの行または列は、カスタム計算を含めたり(2 つの地
域の売上の差など)、書式設定の目的で使用する(3 行おきに空白行を挿入して読みやすくする場合など)ことができます。
独自の計算式を自由に作成することができます。また、それらの計算式をクロスタブに 1 回だけ表示するか、繰り返し表示す
るか選択することができます。
11.5.2.1
1.
クロスタブに計算メンバーを追加する
Ctrl キーを押しながら、計算メンバー内で使用する 2 つの行見出しまたは列見出しをクリックして強調表示します。
たとえば、"売上" と "売上戻し高" の差を計算するための計算メンバーを作成する場合、必要な式は "売上" - "売上戻し
高" となります。この例では、"売上" と "売上戻し高" ヘッダを強調表示します。
2.
強調表示されたヘッダを右クリックして、[計算メンバーの挿入] をクリックします。
利用できる演算の一覧が表示されます。
3.
○
合計
○
差額
○
積
○
商
演算を選択します。
この例では、[差額] を選択します。
選択した計算の結果を表示する行または列がクロスタブに追加されます。
注記
この行または列は、強調表示した 2 番目の行見出しまたは列見出しの直後に挿入されます。
244
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
11.5.2.2
クロスタブに空の計算メンバーを追加する
クロスタブで、空の計算メンバー行または列を挿入する場所の直前のヘッダを右クリックして、
空白の挿入
計算メンバーの挿入
をクリックします。
空の計算メンバー行または列がクロスタブに追加されます。
11.5.2.3
1.
計算メンバーの処理順序を変更する
クロスタブの左上隅を右クリックして、[クロスタブの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
[高度な計算] オプションをクリックします。
3.
[計算メンバー] 領域で、矢印を使用して計算メンバーの処理順序を変更します。
4.
[閉じる] をクリックして変更を保存し、レポートに戻ります。
クロスタブでは、計算メンバーの値が再計算されます。
注記
計算メンバーの処理順序を変更してもデータソースは最新表示されません。
11.5.2.4
計算式
計算式は、Crystal Reports で計算メンバーのセル値を決定するために使用する数式です。計算式は式ワークショップで作
成できます。
11.5.2.4.1
1.
計算式を挿入する
クロスタブの左上隅を右クリックして、[クロスタブの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
3.
[高度な計算] オプションをクリックします。
[計算メンバー] 領域で、計算メンバーの式の編集 (
) ボタンをクリックして、一覧から計算メンバーを選択します。
式ワークショップが表示されます。
4.
使用する計算式を入力します。
たとえば、次の式は、オーストラリア行の値とカナダ行の値の差を表示します。
GridValueAt(GetRowPathIndexOf("Australia"), CurrentColumnIndex,
CurrentSummaryIndex) - GridValueAt(GetRowPathIndexOf("Canada"),
CurrentColumnIndex, CurrentSummaryIndex)
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
245
5.
[保存して終了] をクリックします。
計算メンバーに、新しい計算式の結果が表示されます。
注記
作成した計算式を編集するには、計算式を右クリックし、[計算式の編集] をクリックします。
11.5.2.5
グループ値式
式で計算メンバーを参照する場合は、計算メンバーに値を割り当てる必要があります。グループ値式は、計算メンバーへの値
の割り当てに使用します。
注記
グループ値式は、OLAP ユニバースではサポートされていません。
11.5.2.5.1
1.
グループ値式を編集する
編集する計算メンバーのヘッダを右クリックして、
計算メンバー
グループ値式の編集
をクリックします。
式ワークショップが表示されます。
2.
使用する値を入力します。
注記
表示される値は、指定した式に基づいて制御することもできます。[グループ値式] は、挿入先の行/列のグループオブ
ジェクトと同じ種類であることが必要です。
3.
[保存して終了] をクリックして、レポートに戻ります。
計算メンバーで、グループ値式の結果が保持されます。
注記
計算メンバーのヘッダ式を編集していない場合は、表示可能なヘッダにグループ値式の結果が表示されます。ヘッダ式を
編集すると、表示可能なヘッダとしてグループ値式が上書きされます。
11.5.2.6
ヘッダ式
ヘッダ式によって、計算メンバーの表示可能な行ヘッダまたは列ヘッダを決定します。
246
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
11.5.2.6.1
1.
ヘッダ式を編集する
編集する計算メンバーのヘッダを右クリックして、
計算メンバー
ヘッダ式の編集
をクリックします。
式ワークショップが表示されます。
2.
使用するヘッダ名を引用符で囲んで入力します。
注記
表示されるヘッダは、指定した式に基づいて制御することもできます。ヘッダ式は文字列を返す必要があります。
3.
[保存して終了] をクリックして、レポートに戻ります。
計算メンバーのヘッダに、ヘッダ式の結果が表示されます。
11.5.2.7
挿入式
挿入式によって、計算メンバーをクロスタブ内のどこに表示するかを決定します。多くの場合、計算メンバーは 1 回しか表示さ
れません。ただし、計算メンバーを複数の場所に表示したり、繰り返し表示されるように設定できます。
11.5.2.7.1
1.
挿入式を編集する
編集する計算メンバーのヘッダを右クリックして、
計算メンバー
挿入式の編集
をクリックします。
式ワークショップが表示されます。
2.
使用する式を入力します。
たとえば、次の式では、Canada の国オブジェクトの後に計算メンバーが挿入されます。
GetColumnGroupIndexOf(CurrentRowIndex) = 1 and
GridRowColumnValue("Customer.Country") = "Canada"
3.
[保存して終了] をクリックして、レポートに戻ります。
計算メンバーが、挿入式で指定された場所に表示されます。
11.5.3
埋め込み合計
埋め込み合計を挿入して、クロスタブに計算を追加できます。
計算メンバーとは異なり、埋め込み合計では、クロスタブに新しい行または列は追加されません。代わりに、クロスタブの各セ
ル内に追加の計算が表示されます。
たとえば、地域別の売上げを示すレポートで、国の総売上に対するパーセンテージを示す計算を地域ごとに挿入できます。
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
247
11.5.3.1
1.
クロスタブに埋め込み合計を追加する
クロスタブで、ヘッダ以外の任意のセルを右クリックし、
埋め込み合計
埋め込み合計の挿入
をクリックします。
空の [埋め込み合計] がクロスタブに表示されます。
2.
合計を右クリックし、
埋め込み合計
埋め込み合計式の編集
をクリックします。
式ワークショップが表示されます。
3.
使用する埋め込み合計式を入力します。
4.
[保存して終了] をクリックします。
[埋め込み合計] に、新しい埋め込み合計式の結果が表示されます。
11.5.3.2
埋め込み合計の処理順序を変更する
クロスタブに複数の埋め込み合計が存在する場合は、それらの計算順序が結果に影響する場合があります。
1.
クロスタブの左上隅を右クリックして、[クロスタブの書式] を選択します。
[書式] ダイアログボックスが表示されます。
2.
[高度な計算] オプションをクリックします。
3.
[合計] 領域で、矢印をクリックして合計の処理順序を変更します。
4.
[閉じる] をクリックして変更を保存し、レポートに戻ります。
クロスタブでは、埋め込み合計の値が新しい処理順序で再計算されます。
注記
埋め込み合計の処理順序を変更してもデータソースは最新表示されません。
248
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
クロスタブ
12
レポートの保存、エクスポート、印刷および表示
この節では、レポートの保存方法、エクスポートまたは印刷による配布方法、および表示方法について説明します。
12.1
レポートの保存
Crystal Reports を使用すると、コンピュータ上のファイルシステムにレポートを保存できます。また、レポートをデータなしで
保存するオプションも使用できます。
SAP BusinessObjects Business Intelligence プラットフォームまたは SAP Embeddable BI Server へのレポートの保存に
ついては、レポートの配布 [250 ページ]を参照してください。
12.1.1
1.
レポートをローカルコンピュータに保存する
BI プラットフォームまたは EBIS にログインしている場合は、レポートをローカルコンピュータに保存する手順が異なりま
す。
○
○
BI プラットフォームまたは EBIS にログインしていない場合、
ファイル
保存
BI プラットフォームまたは EBIS にログインしている場合は、
ファイル
ローカルファイルとして保存
の順にクリックします。
の順にクリ
ックします。
2.
[名前を付けて保存] ダイアログボックスで、レポートを保存する場所を参照します。
3.
レポート(.rpt)ファイルの名前を入力します。
4.
[保存] をクリックします。
選択した場所にレポートが保存されます。
注記
ファイル
12.1.2
名前を付けて保存 の順にクリックして、新しい名前でレポートを保存します。
データなしでレポートを保存する
レポートデザインを別のデータで再利用する場合は、データなしでレポートを保存します。
1.
[ファイル]をクリックします。
2.
[データをレポートとともに保存] オプションをオフにします。
データは、レポートをファイルシステムに保存したり BI プラットフォームサーバまたは EBIS に公開すると、レポートとともに保
存されなくなります。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
249
12.2 レポートの配布
Crystal Reports を使用すると、さまざまな方法でレポートを配布できます。
12.2.1 SAP BusinessObjects Business Intelligence プラットフォー
ムを使用するレポートの配布
レポートを配布する方法として SAP BusinessObjects Business Intelligence プラットフォームがあります。BI プラットフォー
ムにレポートを公開すると、イントラネット、エクストラネット、インターネット、企業ポータルなどのあらゆる Web アプリケーショ
ン経由でレポートをエンドユーザに配布できます。
12.2.1.1 SAP BusinessObjects Business Intelligence プラットフォ
ームサーバに接続する
1.
ファイル
SAP BusinessObjects Business Intelligence プラットフォームへのログオン
の順にクリックします。
2.
[接続の管理] をクリックします。
3.
[サーバ接続] ダイアログボックスの左側のリストで、[SAP BusinessObjects BI プラットフォーム] をクリックします。
4.
[サーバ接続] リストでサーバを選択するか [追加] をクリックして、新しいサーバを追加します。
5.
接続情報を入力して、[インポート] をクリックします。
6.
接続情報を入力して、[OK] をクリックします。
Designer にサーバが追加されます。これで、接続情報を毎回入力しなくても、レポートを開いたりサーバに保存することがで
きます。
12.2.1.2
マネージドレポートの編集
SAP BusinessObjects Business Intelligence プラットフォームシステムにあるレポートを編集するには、SAP
BusinessObjects Business Intelligence プラットフォームサーバに接続します。
12.2.1.2.1 SAP BusinessObjects Business Intelligence プラットフ
ォームフォルダからマネージドレポートを開く
1.
BI プラットフォームにログオンしていない場合は、
トフォームにログオン
250
ファイル
SAP BusinessObjects Business Intelligence プラッ
の順にクリックし、接続情報を入力して [OK] をクリックします。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
2.
ファイル
<<サーバ名>> から開く
の順にクリックします。
注記
これらの手順に記載されている <<サーバ名>> は、サーバ接続のダイアログボックスで指定した接続サーバ名を表し
ます。
3.
[<サーバ名> からレポートを開く] ダイアログボックスで、開くレポートを参照します。
4.
レポートを選択したら、[開く] をクリックします。
Crystal Reports でレポートが開かれます。変更を行ったら、レポートをサーバに保存してオンラインでの変更を保存する必
要があります。
12.2.1.3 SAP BusinessObjects Business Intelligence プラットフォ
ームへのレポートの公開
Crystal Reports では、レポートを SAP BusinessObjects Business Intelligence プラットフォームサーバに公開する方法で
レポートを配布できます。次の 2 種類のレポートを公開できます。
●
ローカルデータソース接続を含むレポート。これらのレポートは、BI プラットフォームに公開する前にマップする必要があ
ります。
●
BI プラットフォームに直接公開できるレポート。
12.2.1.3.1
ローカルデータソース接続を含むレポートをマップする
ローカルデータソース接続を含むレポートは、公開できません。最初に接続をマップする必要があります。
1.
2.
3.
データ
データソースの場所の設定
をクリックします。
[データソースの保存場所の設定] ダイアログボックスで、[接続の追加] をクリックします。
[データソース接続の選択] ダイアログボックスで、[SAP BusinessObjects Business Intelligence プラットフォーム] から
[リポジトリの参照] をクリックします。
4.
[新規データソース接続] ダイアログボックスで、[データソースタイプ] リストから [リレーショナル接続] をクリックします。
5.
リレーショナル接続を選択し、[完了] をクリックします。
6.
データソースを選択し、[マップ] をクリックします。
マッピングの詳細については、データソースの変更 [83 ページ]を参照してください。
7.
[完了] をクリックし、レポートの再書式設定を行います。
レポートのデータソース接続が正常にマップされました。これで、レポートを BI プラットフォームに公開できるようになります。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
251
12.2.1.3.2 SAP BusinessObjects Business Intelligence プラットフ
ォームにレポートを公開する
1.
BI プラットフォームにログオンしていない場合は、
トフォームにログオン
2.
3.
ファイル
ファイル
SAP BusinessObjects Business Intelligence プラッ
の順にクリックし、接続情報を入力して [OK] をクリックします。
保存 の順にクリックします。
[<サーバ名> へのレポートの保存] ダイアログボックスで、レポートを保存する場所に移動します。
注記
この手順では、<<サーバ名>> は、SAP BusinessObjects Business Intelligence プラットフォームサーバの名前を
表します。
4.
[表示名] ボックスに表示名を入力します。
5.
[保存] をクリックします。
ダイアログボックスが表示され、レポートが SAP BusinessObjects Business Intelligence プラットフォームに正常に公開さ
れたことを示すメッセージが示されます。
12.2.2 レポートの電子メール送信
Crystal Reports では、電子メールを使用してレポートを配布できます。
12.2.2.1
レポートを電子メールで送信する
1.
電子メールに添付 ] の順にクリックします。
ファイル
マシンに電子メールクライアントがインストールされている場合は、Crystal Reports がクライアントを起動し、レポートの
一時コピーを添付した電子メールを作成します。
注記
一時コピーだけが保存されます。元の .rpt ファイルへの変更は Crystal Reports に保存されません。
2.
電子メールアドレスまたは受信者のアドレス、および追加するその他の情報を入力し、[送信] をクリックします。
レポートを含む電子メールが、受信者に送信されます。
12.2.3 レポートのエクスポート
完成したレポートは、XML、PDF、HTML、スプレッドシート、ワードプロセッサ形式などの一般に使用されている各種の形式、
およびその他の標準的なデータ交換形式にエクスポートできます。これによって情報の配布が容易になります。たとえば、レ
ポートデータを使用して、デスクトップパブリッシングパッケージでのデータ表現を向上させることができます。
252
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
エクスポートの手順では、形式および出力先を指定する必要があります。形式はファイル形式を指定し、出力先はファイルの
配置場所を指定します。
関連情報
エクスポート形式の種類 [253 ページ]
12.2.3.1
1.
レポートをエクスポートする
[ページ] モードのときに、
ファイル
エクスポート
の順にクリックして、一覧からエクスポート形式を選択します。
[エクスポートオプション] ダイアログボックスが表示されます。
2.
エクスポートオプションを選択します。
注記
[デフォルトオプションとして設定] ボタンをクリックしてからレポートを保存すると、選択されたオプションは、このレポー
トを現在の形式でエクスポートする場合に使用するデフォルトオプションとして保存されます。
注記
[ページ範囲] オプションは保存できません。
3.
[OK] をクリックします。
4.
表示される [エクスポート出力先] ダイアログボックスで、以下のいずれかを実行します。
○
[ファイルに出力] をクリックしてレポートタイトルを入力し、[レポートのエクスポート] ダイアログボックスで、エクスポ
ートしたレポートを保存します。
○
レポートを保存せずに、選択したアプリケーションでレポートを開くには、[アプリケーションへ] をクリックします。
レポートが別の形式にエクスポートされます。
12.2.3.2 エクスポート形式の種類
Crystal Reports がサポートするエクスポート形式は、ページベース形式とレコードベース形式の 2 つの形式に大別できま
す。
一般に、ページベース形式の方が、出力の精度が高くなります。 この形式では、構造の表示と書式設定に重点が置かれま
す。 書式設定とは、フォントスタイル、テキストカラー、テキストの配置、背景色などの属性を指します。 構造とは、要素位置、
要素サイズ、およびこれらの属性と他の要素との関係を指します。 選択する形式によっては、すべての構造と書式設定を完
全には維持できない場合もありますが、通常、ページベース形式では、これらのプロパティが可能な限り正確に維持されま
す。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
253
レコードベース形式の場合は、構造や書式設定よりもデータに重点が置かれます。 ただし形式によっては、一部の書式設定
がエクスポートされます。 また、データ交換だけを行うレコードベース形式もあります。
Microsoft Excel (97-2003) データのみ
Microsoft Excel (97-2003) データのみは、データに特化したレコードベースの形式です。 この形式は、ほとんどの形式をエ
クスポートしますが、セルは結合しません。各要素は 1 つのセルにのみ追加されます。 この形式はまた、特定の種類の集計
を Excel 関数としてエクスポートします。 サポートされている集計は、SUM、AVERAGE、COUNT、MIN、および MAX です。
Microsoft Excel Workbook データのみ
Microsoft Excel Workbook データのみも、同様にデータに特化したレコードベースの形式です。 このエクスポート形式は、
既存の Microsoft Excel Workbook データのみのエクスポート形式を拡張したものです。 この形式のエクスポートファイルは
XLSX ファイルになります。 XSLX ファイル形式は、Microsoft Excel 2007 以降で導入およびサポートされている XML ベー
スのオープンドキュメント形式です。 Microsoft Excel ワークブックデータのみの形式では、以前の XLS ファイル形式同様、
最大行数が約 65536 行、最大列数が約 256 列の制限があります。
Microsoft Excel(97-2003)
Microsoft Excel (97-2003) ページベース形式は、レポートコンテンツを 1 ページ単位で Excel のセルに変換します。 複数
ページにわたるコンテンツは、1 つの Excel ワークシートにエクスポートされます。 エクスポートがワークシートの最大量に達し
ても、なおデータが残っている場合、エクスポートプログラムは複数のワークシートを作成してデータを格納します。 レポート要
素が複数のセルにわたる場合は、エクスポートプログラムはセルをマージしてレポート要素を表します。 Microsoft Excel の
ワークシートの最大列数は 256 列のため、セルへの追加が 256 列を超えるレポート要素 (またはその一部) はエクスポート
されません。 このエクスポート形式でほとんどの書式設定が維持されますが、レポートの線要素とボックス要素はエクスポー
トされません。
注記
Crystal Reports for Enterprise のページベースの Excel 形式は、Crystal Reports 2013 のページベースの Excel 形式
と同じような動作にはなりません。 2 つのバージョン間の既知の相違の主なカテゴリは以下の通りです。
●
未サポート要素:
Crystal Reports for Enterprise Java ランタイムエンジンは、レポートに埋め込める全要素をサポートしていません。
たとえば、OLAP グリッドおよびマップ要素はサポートされていません。
これらサポートされていない要素の水平整列は、Java ランタイムエンジンで考慮されません。
●
文字レンダリング:
文字レンダリング技術は、Crystal Reports for Enterprise と Crystal Reports 2013 で異なります。 つまり、個別の
文字のサイズがわずかに (1 ピクセル) 異っており、そのサイズの相違が徐々に加算され、追加の行や列が作成され
ます。
●
254
クロスタブ:
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
○
クロスタブ要素が重複されるセクション (グループヘッダ等) 内にある場合、拡張エクスポート機能の出力が
Crystal Reports for Enterprise と Crystal Reports 2013 間で異なります。 この動作は、サブレポートに埋め込
まれているクロスタブにも適用されます。
○
クロスタブ要素が重なる場合、拡張エクスポート機能の出力が Crystal Reports for Enterprise と Crystal
Reports 2013 間で異なります。
●
改ページ:
異なるレンダリング技術を使用しているため、改ページ表示が Crystal Reports for Enterprise と Crystal Reports
2013 間で異なります。
●
チャート:
Crystal Reports for Enterprise と Crystal Reports 2013 は異なる基本チャートエンジンを使用します。 これにより、
チャート出力の表示がわずかに異なります。
文字区切り値(CSV)
文字区切り値 (CSV) 形式は、レコードベースのデータ交換形式です。 この形式は、レポート要素の内容を、カンマで区切ら
れた値としてエクスポートします。
レコードスタイル形式と同様に、CSV 形式もレポートに含まれる各レコードに対して 1 行の値を作成します。 レコードには、[構
造] モードに表示されるレポートの各セクションの全要素が含まれます。 つまり、最初にレポートヘッダセクションがエクスポー
トされ、これにページヘッダセクション、グループヘッダセクション、ボディセクション、グループフッタセクション、レポートフッタ
セクションのエクスポートが続き、最後にページフッタセクションがエクスポートされます。
注記
CSV 形式は、クロスタブを含むレポートのエクスポートには使用できません。また、ページヘッダやページフッタセクション
にサブレポートがあるレポートのエクスポートにも使用できません。
注記
カンマ区切り値形式の標準モードでは、レポートコンテンツ以外の条件付非表示が考慮されます。 データは非表示になり
ますが、行とフィールド区切り文字はレポートに出力されます。 たとえば、フィールド区切り文字がカンマでレポートに 4 つ
の列がある場合は、4 つのカンマを含む空白行が 1 行表示されます。
Adobe Reader(PDF)
Adobe Reader 形式は、ページ ベース形式です。 この形式でのドキュメントのエクスポートは、印刷と再配分を目的とします。
Acrobat 形式では、ページタブで表示されるレポートの外観を忠実に再現するために、構造と書式設定の両方がエクスポート
されます。 Acrobat 形式では、ドキュメントに表示される TrueType フォントが埋め込まれます。 TrueType 以外のフォントは
サポートされません。 このエクスポート形式は、中国語 (香港) 文字セットなど、一部の拡張文字セットのサポートに使用され
る Microsoft 社の Font Link 機能をサポートしていません。 そのため、レポートで使用するフォントには、必要なグリフがす
べて含まれている必要があります。 "http:"、"https:"、および"mailto:"のハイパーリンクについては、URI タイプがサポートさ
れます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
255
Microsoft Word (97-2003)
Microsoft Word (RTF) 形式はページベース形式ですが、レポートのすべての構造や書式オプションが出力で保持されるわ
けではありません。 Microsoft Word はページベースの正確な形式で、RTF(リッチテキスト形式)ファイルを作成します。 エク
スポートされたファイルには、レポートオブジェクトを表すテキストオブジェクトと描画オブジェクトが含まれます。 個々のオブジ
ェクトは、テキストフレームに配置されます。 この形式は、入力フォームなどを出力に含める場合に適しています。入力フォー
ムには、テキスト入力のためのスペースが空のテキストオブジェクトとして確保されます。 このエクスポート形式では、書式設
定の大部分が保持されます。
Microsoft Word (97-2003) - 編集可能
Microsoft Word - 編集可能形式は、Microsoft Word 形式とは異なり、ページベースの形式ですが、出力時に保持されない
レイアウトや書式設定プロパティがあります。 この形式は、すべてのレポートオブジェクトコンテンツをテキスト行に変換しま
す。 Microsoft Word 形式とは異なり、テキストフレームは使用しません。 テキストの書式設定は保持されますが、背景色や
塗りつぶしパターンなどの属性は保持されない場合があります。 レポートに含まれるすべての画像はテキストコンテンツに従
って配置されます。 そのため、Microsoft Word でのドキュメントの編集時に、画像はテキストに合わせて自動的に移動しま
す。 この形式では、レポートに含まれる線オブジェクトやボックスオブジェクトはエクスポートされません。 また、事前の定義済
みオブジェクトのページ番号およびページ数 (N/M) は、この形式でエクスポートされると機能しません。 Microsoft Word 編集可能形式は、各レポートページの最後に改ページを挿入するオプションを備えています。 このオプションは、Microsoft
Word が作成する改ページとは異なる場合があり、主にレポートページコンテンツの区切りに使用されます。
リッチテキスト形式(RTF)
リッチテキスト形式(RTF)は、Microsoft Word(RTF)形式に類似した形式です。
レポート定義
レポート定義形式は、レポートのデザインビューの概要を含むテキストファイルにレポートをエクスポートします。
XML
XML は主にデータ交換に使用されます。 これは、Crystal XML スキーマを使用するレコードベースの形式です。 Crystal
Reports の XML エキスパートを使用して、XML 出力をカスタマイズできます。
256
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
テキスト (ページベース)
テキスト (ページベース) のテキスト形式は、SAP Crystal Reports for Enterprise のページベース形式です。 この形式は、
レコードベースのエクスポート形式である Crystal Reports 2013 のテキストエクスポート形式とは異なります。
タブ区切りテキスト (ページベース)
タブ区切りテキスト (ページベース)形式は、テキスト (ページベース) 形式に似ています。 この形式もページベースのエクスポ
ート形式で、Crystal Reports 2013 のレコードベースのタブ区切りテキストエクスポート形式とは異なります。 TTX ファイルは
Microsoft Excel で開くことができます。
HTML 4.0[HTML 4.0]
HTML エクスポート形式は、ページベースの形式です。 HTML 4.0 形式は、DHTML を使用してレポートのレイアウトと書式
設定を保持します。
12.2.3.3 カンマ区切り値(CSV)へのエクスポート
カンマ区切り値 (CSV) 形式は、レコードベースのデータ交換形式です。この形式は、区切り文字で区切った値とユーザが指
定した区切り文字のセットとして、レポート要素コンテンツをエクスポートします。特に、カンマ (,) を使用して要素を区切る形式
はカンマ区切り値 (CSV) と呼ばれ、Microsoft Excel のユーザが一般的に使用するエクスポート形式です。
レコードスタイル形式と同様に、このカンマ区切り値形式も、レポートに含まれる各レコードに対して 1 行の値を作成します。レ
コードには、デザインビューに表示されるレポートの各セクションの全要素が含まれます。つまり、最初にレポートヘッダセクシ
ョンがエクスポートされ、これにページヘッダセクション、グループヘッダセクション、ボディセクション、グループフッタセクショ
ン、レポートフッタセクションのエクスポートが続き、最後にページフッタセクションがエクスポートされます。
カンマ区切り値形式は、クロスタブを含むレポートのエクスポートには使用できません。また、ページヘッダやページフッタのセ
クションにサブレポートがあるレポートのエクスポートにも使用できません。
注記
カンマ区切り値形式の標準モードでは、レポートコンテンツ以外の条件付非表示が考慮されます。データは非表示になりま
すが、行とフィールド区切り文字はレポートに出力されます。たとえば、フィールド区切り文字がカンマでレポートに 4 つの
列がある場合は、4 つのカンマを含む空白行が 1 行表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
257
12.2.3.4 HTML へのエクスポート
Crystal Reports では、HTML 形式でレポートをエクスポートすることで、重要な企業データを都合のよい方法で迅速に配布
できます。いったんエクスポートすると、Mozilla Firefox や Microsoft Internet Explorer などの一般的な Web ブラウザでレ
ポートにアクセスできます。
HTML エクスポート形式は、ページベースの形式です。HTML 4.0 形式は、DHTML を使用してレポートの構造と書式設定を
保持します。レポートに含まれるすべての画像は外部で保存され、ハイパーリンクはエクスポートされた HTML 出力に挿入さ
れます。したがってこのエクスポート形式では、出力時に複数のファイルが生成されます。
12.2.3.4.1
1.
ファイル
HTML にエクスポートする
エクスポート
の順にクリックし、リストから [HTML 4.0] を選択します。
ヒント
[標準] ツールバーの[エクスポート] をクリックする方法もあります。
[エクスポートオプション] ダイアログボックスが表示されます。
2.
[ベースディレクトリ] テキストボックスからベースディレクトリを選択します。
3.
[OK] をクリックします。
[エクスポート出力先] ダイアログボックスが表示されます。
4.
[エクスポート出力先] ダイアログボックスで、以下のいずれかを実行します。
○
[ファイルに出力] をクリックしてレポートタイトルを入力し、[レポートのエクスポート] ダイアログボックスで、エクスポ
ートしたレポートを保存します。
○
レポートを保存せずに、選択したアプリケーションでレポートを開くには、[アプリケーションへ] をクリックします。
HTML 形式にエクスポートすると、レポートは単一の HTML ファイルとして保存されます。必要に応じて [HTML ページ
ごと] チェックボックスを選択して、レポート全体をページ単位に分割します。HTML の最初のページは、<<report
name>.html> として保存されます。Web ブラウザでレポートを表示する場合には、このファイルを開きます。
注記
単一のファイルにエクスポートする場合、つまり [HTML ページごと] チェックボックスをオフにしている場合には、ヘッ
ダとフッタおよびページ余白の上部と下部にあるすべてのスペースが含まれます。HTML ファイルにスペースを含め
ない場合は、空のヘッダとフッタのセクションを非表示にし、ページ余白の上部と下部に対しては、[ページ設定] ダイア
ログボックスで 0 を設定します。
12.2.4 レポートの印刷
Crystal Reports では、レポートの一部を印刷することも、レポート全体を印刷することもできます。印刷されたレポートには、
[ページ] モードで表示される情報と構造がそのまま表現されます。
258
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
12.2.4.1
レポートを印刷する
1.
印刷 をクリックします。
ファイル
注記
左上隅にあるアイコントレイの印刷アイコンをクリックするか、CTRL + P を押すこともできます。
[印刷] ダイアログボックスが表示されます。
2.
適切な設定を選択して、[印刷] をクリックします。
レポートが印刷されます。
12.2.4.2 レポートの一部を印刷する
1.
ファイル
印刷 をクリックします。
注記
左上隅にあるアイコントレイの印刷アイコンをクリックするか、CTRL + P を押すこともできます。
[印刷オプション] ダイアログボックスが表示されます。
2.
[印刷オプション] ダイアログボックスの[印刷範囲] セクションを使用して、レポートの印刷する部分を指定します。
3.
[印刷] をクリックします。
選択したレポート部分が印刷されます。
12.3 レポートの表示
この節では、Crystal Reports でレポートを開いたり表示する方法について説明します。
12.3.1
レポートを開く
この節では、Crystal Reports でレポートを開く方法について説明します。ローカルコンピュータ、BI プラットフォームまたは
EBIS からレポートを開くことができます。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
259
12.3.1.1
1.
ローカルコンピュータからレポートを開く
SAP BusinessObjects Business Intelligence プラットフォームにログインしている場合は、ローカルコンピュータからレ
ポートを開く手順が異なります。
○
BI プラットフォームにログインしていない場合、
○
BI プラットフォームにすでにログインしている場合は、
ファイル
2.
[開く] ダイアログボックスで、開くレポートを参照します。
3.
開くファイルを選択し、[開く] をクリックします。
開く
の順にクリックします。
ファイル
ローカルファイルを開く
の順にクリックします。
Crystal Reports にレポートが表示されます。追加のレポートを開くには、手順 1 ~ 3 を繰り返します。画面の下部にある
Windows タスクバーを使用して、レポート間を移動できます。
注記
Windows エクスプローラーから Crystal Reports にレポート(.rpt ファイル)をドラッグする方法、またはローカルドライブに
あるレポートをダブルクリックする方法でも、レポートを開くことができます。
12.3.1.2
サーバからレポートを開く
サーバに接続されている必要があります。
1.
ファイル
<<サーバ名>> から開く
の順にクリックします。
注記
この手順では、<<サーバ名>> は、サーバの名前を表します。
2.
[<サーバ名> からレポートを開く] ダイアログボックスで、開くレポートを選択します。
3.
レポートを選択したら、[開く] をクリックします。
レポートが開いている間、進捗インジケータが表示されます。
関連情報
サーバへのログオン [38 ページ]
12.3.1.3
最近使用したドキュメント
最近 Crystal Reports で開いたレポートを開く方法は 2 種類あります。
●
[ファイル] メニューの場合は、最近開いたレポートがメニューの下部に一覧表示されます。レポートをクリックして開きま
す。
260
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
●
スタートページの場合は、最近開いたレポートが [最近使用したドキュメント] 見出しの下に一覧表示されます。レポートを
クリックして開きます。
12.3.2 [Smart View] を使用した CMC のレポートの表示
管理者は、セントラル管理コンソール (CMC) の [Smart View] 設定を使用して、BI ラウンチパッドのレポート表示の動作を、
レポートの最新インスタンスの表示からデータソースのレポートコンテンツの最新表示に変更することができます。
1.
セントラル管理コンソールで [アプリケーション] をクリックします。
2.
[アプリケーション] ページで、[Crystal Reports 設定] をダブルクリックします。
[プロパティ: Crystal Reports 設定] ダイアログボックスが表示されます。
3.
[プロパティ] の下で、[BI ラウンチパッド] を選択します。
4.
[Smart View] の下で、以下のいずれかの操作を実行します。
○
最後に成功したインスタンスを表示するには、BI ラウンチパッドでパブリケーションをダブルクリックし、[最新のインス
タンスを表示] を選択します。成功したインスタンスが存在しない場合は、パブリケーションはそのデータソースに対し
て最新表示されます。これは、デフォルトの表示です。
○
BI ラウンチパッドでパブリケーションをダブルクリックするときに、(インスタンスの存在に関係なく) 常にパブリケーシ
ョンをそのデータソースに対して最新表示するには、[オブジェクトの表示] を選択します。
5.
[保存して閉じる] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
レポートの保存、エクスポート、印刷および表示
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
261
13
パラメータとプロンプト
この節では、パラメータの概念を説明し、それを使用して、レポートの閲覧者のニーズに応じて変更できる単一のレポートを作
成する方法を説明します。
13.1
パラメータとプロンプトの概要
パラメータ
パラメータは、Crystal Reports がレポートを生成する前に、レポートのユーザに情報の入力を求めるプロンプトを表示しま
す。レポートの生成にあたって、ユーザが答える必要のある質問と考えてください。ユーザが入力した情報、またはユーザが
応答した方法により、レポートに表示される内容が決定されます。たとえば、営業担当者が使用するレポートでは、国を選択
するように求めるパラメータが考えられます。このレポートは、すべての国の結果を返すのではなく、特定の国の結果だけを
返します。
式内、選択式内、およびレポート自体でパラメータを使用することにより、レポートの閲覧者のニーズに応じて変更できる単一
のレポートを作成できます。パラメータは、サブレポートでも使用できます。
注記
Crystal Reports 内で作成されたパラメータは、データベースから取得したデータをフィルタ処理するフィルタで使用される
だけです。パラメータにより、データベースクエリそのものは影響を受けません。パラメータを使用することにより、ユーザは
新しいデータベースクエリを実行しなくとも分析を進めることができます。データベースクエリを編集するには、クエリパネル
を使用します。
値の一覧
値の一覧 (LOV) は、表示されるダイアログボックスでプロンプトの提案値を提供します。
●
LOV は、静的な場合 (値がレポートに含まれる) も動的な場合 (値がデータソースから提供される) もあります。
●
LOV は単一レベルの動的プロンプトでも、マルチレベルのカスケードプロンプトでも使用できます。
たとえば、国の一覧を指定した動的 LOV を国の一覧として使用できます。また、カスケードパラメータグループでは、3 つ
の異なる動的 LOV を設定した 3 つのパラメータを作成し、国、地域、市の一覧を提供することができます。
パラメータグループ
パラメータグループは、カスケードパラメータなど、依存関係を持つパラメータを表示する際に使用します。
カスケードパラメータグループを使用すると、2 つ以上のパラメータをグループに配置でき、一連の選択を通じてパラメータの
最終値を決定することができます。たとえば、最初に国を選択するプロンプトを表示し、次に選択された国に応じて地域を選択
262
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
するプロンプトを表示し、さらに入力された地域に基づいて都市を選択するプロントを表示するといった手順にしますB グルー
プ内の各パラメータの LOV には、同じグループ内の次のパラメータの LOV をフィルタする値を含めることができます。
継承パラメータ
パラメータはユニバースまたはクエリパネルで作成して、クエリまたはオブジェクトで使用できます。このパラメータは、Crystal
Reports に継承して [データエクスプローラ] に表示することができます。継承パラメータはレポートにドロップしたり式に含め
ることができますが、Crystal Reports で編集することはできません。パラメータの編集は作成された場所でのみ実行できま
す。したがって、継承パラメータの編集はユニバースまたはクエリパネルで行います。
プロンプト
レポートを生成する際に必要となる応答を定義するパラメータです。プロンプトは、ユーザが回答を提供できるユーザインタフ
ェースです。
関連情報
データソース接続 [88 ページ]
13.1.1
パラメータの条件
パラメータを操作するとき、注意しておく点がいくつかあります。
●
パラメータは、次のデータ型をサポートします。
○
論理値: 真/偽の答えを要求します。
(例)「集計にローンの支払い回数を表示しますか?」
○
金額: 金額の値を要求します。
(例)「取引高が XXXX 円以上の顧客を表示します。」
○
日付: 日付書式の答えを要求します。
(例)「四半期の最初と最後の日付を入力してください。」
○
日時: 日付および時刻の両方を必要とします。
(例) 「有効期限の日時を入力してください。」
○
数値: 数値を要求します。
(例)「顧客 ID を入力してください。」
○
文字列: 文字列の答えを要求します。
(例)「地域を入力してください。」
○
時刻: 時刻形式の答えを要求します。
(例) 「開店時刻と閉店時刻を表示します。」
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
263
○
メンバー: メンバーフィールドを要求します。
注記
メンバーフィールドの動的 LOV が選択されていて、説明、フィルタ、式などの他のオプションが選択されていない
場合、このオプションは自動的に設定されます。これは、メンバーパラメータタイプを選択する唯一の方法です。
●
ユーザがパラメータ値をキー入力する代わりにリストから選択できるように、値の一覧を作成できます。
●
式で使用するために、パラメータをレポートに配置する必要はありません。パラメータは、必要に応じて、ほかのオブジェ
クトと同じように式内で使用でき、式ワークショップ内で作成することができます。
●
パラメータには定数または動的な値の一覧を使用できます。この場合、プロンプトが表示されるときに選択リストが表示さ
れます。さらに、パラメータをグループに配置して、カスケードのフィルタ処理で選択を行うようにすることができます。これ
をカスケードパラメータグループと呼びます。それぞれのオプションについての説明は、各項目を参照して下さい。
○
静的な値の一覧を伴うパラメータの作成 [268 ページ]
○
動的な値の一覧を伴うパラメータの作成 [269 ページ]
○
カスケードパラメータグループの作成 [269 ページ]
13.1.2
値の一覧の種類
値の一覧 (LOV) オブジェクトには、次の 3 種類があります。
種類
説明
使用するケース
静的 LOV
レポートに追加またはインポートされた値に
基づいた簡単な一覧を提供します。
●
変更されないデータを使用するとき
レポートデータに基づく動的 LOV
データソースから動的な一覧を提供します。
●
データベースから取得された後のデー
タをフィルタするとき
●
データベースにアクセスせずに、対話
的にレポートデータをフィルタするとき
●
ユニバースまたは BEx クエリなどのデ
ータソース内にまだ存在していない
LOV を作成するとき
ユニバース LOV
13.1.3
ユニバース内で作成および管理されている
一覧を提供します。
●
ユニバース管理者によって管理され
る、再利用可能な値の一覧を作成する
とき
オプションパラメータ
Crystal Reports はオプションパラメータをサポートします。
オプションパラメータは、値が不要なパラメータです。
レポート作成者は、パラメータがオプションであるという情報をプロンプトテキストに追加して、エンドユーザに示す必要があり
ます。
264
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
値のないパラメータの処理
レポートエンジンでは、値のないオプションパラメータを参照する式を評価すると、ランタイムエラーが生成されます。オプショ
ンパラメータを参照するすべての式で、最初に HasValue() 関数を使用して、パラメータ値を評価する前に、そのパラメータに
値があるかどうかを確認する必要があります。
13.1.4
プロンプトの種類
パラメータを作成するときには、次の 2 つのプロンプトオプションを設定できます。
ユーザに問い合わせる: ユーザがパラメータの値を指定するためのプロンプトを作成します。
非表示プロンプト: 初期値または初期値の式によって提供される値を持つパラメータです。ユーザは値を指定しません。
13.2 パラメータの作成
以下の手順を使用して、パラメータを作成します。
13.2.1
1.
パラメータを作成する
[データエクスプローラ] ビューで [パラメータ] 領域内を右クリックし、
新規作成
新しいパラメータ
の順に選択しま
す。
[パラメータの新規作成] ダイアログボックスが表示されます。
2.
パラメータの名前を入力します。英数字で 255 文字まで入力できます。
このダイアログボックスでは、パラメータの名前やタイプなどのプロパティを変更できます。
3.
適切な [データ型] を一覧から選択します。
文字列、数値、日付などのタイプを選択できます。
4.
[プロンプトテキスト] ボックスに任意のプロンプトテキストを入力します。英数字で 255 文字まで入力できます。
たとえば、"国を選択してください。" などのテキストを入力します。
このテキストは、レポートをプレビューするときや、ページ領域のデータを最新表示するときに、プロンプトのダイアログボ
ックスに表示されます。
5.
値の一覧を作成するには、省略ボタンをクリックします。
[値の一覧の編集] ダイアログボックスが表示されます。
6.
プロンプトに表示する値を入力します。
たとえば、文字列型で国の一覧を追加したり、数値型で値の一覧を追加したりすることができます。
7.
値の入力が終了したら、[OK] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
265
[パラメータの作成] ダイアログに戻ります。
8.
再度[OK] をクリックします。
9.
パラメータをドラッグしてレポートにドロップします。
13.3 インタラクティブフィルタの使用
インタラクティブフィルタにより、選択した結果オブジェクト、演算子、およびパラメータに基づき、レポートに返されるレコードを
制限することができます。
13.3.1
1.
インタラクティブフィルタを作成する
データ
インタラクティブフィルタ
をクリックします。
[インタラクティブフィルタ] ダイアログボックスが表示されます。
2.
[フィルタの追加]をクリックします。
3.
最初のリストから、フィルタを適用する結果オブジェクトを選択します。
ヒント
一覧の上部にあるフィールドを使用して、結果オブジェクトを検索できます。
4.
2 番目のリストから、演算子を選択します。
注記
使用できる演算子は、選択した結果オブジェクトタイプによって変わります。
5.
最後のリストから、[新しいパラメータ] を選択します。
注記
すでに作成された既存のパラメータも選択できます。
[パラメータの新規作成] ダイアログボックスが表示されます。
6.
パラメータの名前を入力します。英数字で 255 文字まで入力できます。
7.
適切な [データ型] を一覧から選択します。
8.
[プロンプトテキスト] ボックスに任意のプロンプトテキストを入力します。
9.
値の一覧を作成するには、[“値の一覧の編集”] ボタンをクリックします。
[値の一覧の編集] ダイアログボックスが表示されます。
10. プロンプトに表示する値を入力します。
11. 値の入力が終了したら、[OK] をクリックします。
[パラメータの作成] ダイアログに戻ります。
266
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
12. [OK] をクリックします。
[インタラクティブフィルタ] ダイアログに戻ります。
13. [OK] をクリックします。
レコードフィルタは変更されています ダイアログボックスが表示されます。
14. [保存データ] または [データの最新表示] を選択します。
レポートに、フィルタ処理されたデータのみが表示されます。
関連情報
パラメータの条件 [263 ページ]
クエリフィルタ演算子のクイックリファレンス [107 ページ]
13.3.2 インタラクティブフィルタを追加する
1.
データ
インタラクティブフィルタ
をクリックします。
[インタラクティブフィルタ] ダイアログボックスが表示されます。
2.
[フィルタの追加]をクリックします。
新しいフィルタは [And] 演算子で既存のフィルタと接続されます。
3.
演算子ボタンをダブルクリックして、[And] 演算子と [Or] 演算子を切り替えます。
4.
この領域内でフィルタをドラッグアンドドロップすると、フィルタをネストさせることができます。
13.3.3 インタラクティブフィルタを削除する
フィルタは一度に 1 つ削除されます。
1.
データ
インタラクティブフィルタ
をクリックします。
[インタラクティブフィルタ] ダイアログボックスが表示されます。
2.
削除するフィルタを選択します。
3.
[削除] をクリックします。
13.4 値の一覧の使用
選択に使用する値の一覧を伴うプロンプトをユーザに表示できます。
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
267
13.4.1
静的な値の一覧を伴うパラメータの作成
静的な値の一覧 (LOV) は常に同じ値を持っています。たとえば、パラメータで国の値をプロンプトする場合、選択する値を示
す国の一覧はめったに変わらないため、静的 LOV を作成します。
以下の手順を使用して静的 LOV を伴うパラメータを作成し、ユーザに対して顧客の一覧を表示し、そこから特定の国を選択
できるようにします。
13.4.1.1
静的な値の一覧を伴うパラメータを作成する
この例では、"国" オブジェクトを使用するレポートが必要です。
1.
レポートを開いて [ページ] モードに入ります。
2.
[データエクスプローラ] パネルで [パラメータ] 内を右クリックし、[新しいパラメータ] を選択します。
[パラメータの新規作成] ダイアログボックスが表示されます。
3.
[名前] オブジェクトにパラメータの名前を入力します。英数字で 255 文字まで入力できます。
この例では、「地域」と入力します。
4.
適切な [データ型] を一覧から選択します。
この例では、[文字列] を選択します。
5.
値の一覧を作成するには、[“値の一覧の編集”] ボタンをクリックします。
[値の一覧の編集] ダイアログボックスが表示されます。
6.
[新規作成] をクリックして、ユーザに選択してもらう国を手動で入力します。
注記
既存の静的な値の一覧を操作するには、[ファイルからインポート] または [データソースからのインポート] をクリック
してデータを選択します。
7.
[OK] をクリックして、ダイアログボックスを閉じます。
8.
[プロンプトテキスト] オブジェクトに、このパラメータに使用する任意のプロンプトテキストを入力します。英数字で 255 文
字まで入力できます。
これは、プロンプトダイアログおよび対話型のパネルに表示されるテキストになります。デフォルト値
は、"<(ParameterName) を入力してください>"です。
9.
[OK] をクリックします。
10. [国] パラメータをレポートにドラッグします。
[現在のデータセットの変更] ダイアログボックスが表示されます。
11. 値を入力し、[OK] をクリックします。
268
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
13.4.2 動的な値の一覧を伴うパラメータの作成
動的な値の一覧 (LOV) はデータソースから取得します。たとえば、顧客名を要求する場合、顧客データベース内の名前は頻
繁に変更されるため、動的 LOV を作成します。
以下の手順を使用して、動的 LOV を使用してプロンプトを表示するパラメータを作成します。
13.4.2.1
動的な値の一覧を伴うパラメータを作成する
この例では、"顧客名" オブジェクトを使用するレポートが必要です。動的な値の一覧 (LOV) を作成するためのデータソース
接続が必要です。
1.
レポートを開きます。
2.
[データエクスプローラ] パネルで [パラメータ] 内を右クリックし、[新しいパラメータ] を選択します。
[パラメータの新規作成] ダイアログボックスが表示されます。
3.
[名前] オブジェクトにパラメータの名前を入力します。英数字で 255 文字まで入力できます。
この例では「顧客名」を使用します。
4.
値の一覧を作成するには、[“値の一覧の編集”] ボタンをクリックします。
[値の一覧の編集] ダイアログボックスが表示されます。
5.
[一覧の種類] 領域で[動的] を選択します。
6.
[値] コンボボックスで、リストから [顧客名] を選択します。
LOV は、[昇順] または[降順] に並べ替えることができます。
7.
[OK] をクリックします。
8.
[プロンプトテキスト] オブジェクトに任意のプロンプトテキストを入力します。英数字で 255 文字まで入力できます。
これは、プロンプトダイアログおよび対話型のパネルに表示されるテキストになります。デフォルト
は、"“(ParameterName) を入力してください”"です。
9.
[OK] をクリックします。
10. [顧客名] パラメータをレポートにドラッグします。
13.4.3 カスケードパラメータグループの作成
カスケードパラメータグループを使用してパラメータをグループに配置し、カスケードのフィルタ処理で選択を行うようにするこ
とができます。たとえば、都市値を要求するときに、その都市が存在する国や地域についても知る必要がある場合は、カスケ
ードパラメータグループを作成できます。この場合、まず国の入力を要求し、その値が選択されると、プログラムは選択した国
に対応する地域だけを表示して地域の入力を要求します。最後に、地域値が選択されると、選択した地域に対応する都市だ
けを表示して都市の入力を要求します。このように設定することにより、扱いやすい都市リストを提供することができ、ユーザ
が正しい都市、たとえば、カナダのブリティッシュコロンビアにあるバンクーバーではなく、米国のワシントンにあるバンクーバ
ーを選択することを確実にできます。
以下の手順を使用して、カスケードパラメータグループを作成します。
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
269
13.4.3.1
カスケードパラメータグループを作成する
この例では、"国"、"地域"、および "市町村" の各オブジェクトを使用するレポートが必要です。
1.
レポートを開きます。
2.
[データエクスプローラ] パネルで [パラメータ] 内を右クリックし、
新規作成
新しいカスケードパラメータグループ
を
選択します。
[パラメータグループの作成] ダイアログボックスが表示されます。
3.
[名前] オブジェクトにパラメータグループの名前を入力します。英数字で 255 文字まで入力できます。
この例では、「“仕入先の市”」を使用します。
4.
[プロンプトテキスト] オブジェクトに、プロンプトグループに対するプロンプトテキストを入力します。
この例では「“仕入先のある市を選択してください”」を使用します。
5.
[値] 列の最初にある空白のオブジェクトをクリックします。
プログラムによって、自動的に値の一覧が展開されます。この領域を使用して、カスケード値の一覧を構成するオブジェ
クトを定義します。この例では、「国」、「地域」、「市」のカスケードを使用します。
6.
[値] 列で、"国" を選択します。
7.
[国] の下の空白のオブジェクトをクリックし、[地域] を選択します。
8.
"地域" の下の空白のオブジェクトをクリックし、"市町村" を選択します。
それぞれの値に対する新規のパラメータが自動的に生成されます。
9.
[OK] をクリックします。
10. "市町村" パラメータをレポートにドラッグします。
13.4.4 独立した値と説明のオブジェクト
リレーショナルデータベースでは、一般的に、値を表現するコードオブジェクトを利用します。これらのコードは、ユーザには読
み取ることができない数値またはテキスト文字列であることがよくあります。そのような場合のために、値の一覧の定義に独
立した値と説明のオブジェクトを作成できます。値オブジェクトをパラメータに設定します。説明オブジェクトがプロンプトダイア
ログボックスに表示されます。説明オブジェクトのプロンプトダイアログボックスへの表示は、プロンプトオプション "説明のプロ
ンプトのみ" で制御できます。True を指定した場合、説明のみが表示されます。False を指定した場合、値と説明が表示され
ます。
13.4.4.1 独立した値と説明のオブジェクトを設定する
1.
2.
"<顧客番号>" と "<顧客名>" の結果オブジェクトが含まれるレポートを作成します。
データエクスプローラで、[パラメータ] を選択し、
新規作成
新しいパラメータ
の順に選択します。
[パラメータの新規作成] ダイアログボックスが表示されます。
3.
270
[名前] オブジェクトにパラメータの名前を入力します。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
この例では "<顧客名>" を使用します。
4.
値の一覧を作成するには、[“値の一覧の編集”] ボタンをクリックします。
[値の一覧の編集] ダイアログボックスが表示されます。
5.
[一覧の種類] 領域で[動的] を選択します。
6.
[値] コンボボックスで [顧客番号] を選択します。
7.
[説明] コンボボックスで [顧客名] を選択します。
8.
[OK] をクリックします。
9.
[説明のプロンプトのみ] を [True] に設定します。
10. [OK] をクリックします。
プロンプトダイアログボックスでこのプロンプトが表示されると、"<顧客番号"> オブジェクト (パラメータの基になるオブジェク
ト) の値ではなく、顧客名の一覧が表示されます。
13.5 パラメータの順序を変更する
レポート内のパラメータの順序を変更して、プロンプトを特定の順序で表示することができます。
1.
データエクスプローラビューでパラメータを右クリックし、並べ替えを選択します。
注記
並べ替えコマンドは、パラメータ領域に複数のオブジェクトがある場合にのみ使用できます。
パラメータの並べ替えダイアログボックスが開きます。 レポート内にあるパラメータの一覧が表示されます。
2.
3.
パラメータの順序を変更するには、以下のいずれかを実行します。
○
一覧でパラメータをクリックしてドラッグします。
○
上矢印および下矢印ボタンを使用して、一覧で選択したパラメータを上または下に移動します。
(オプション) 継承パラメータをデータソースのデフォルトの順序で並べ替えるには、データソースの順序を選択します。
注記
このオプションは、レポート内に 2 つ以上の継承パラメータがある場合にのみ使用できます。
4.
OK をクリックします。
レポートが最新表示されると、指定した順序でプロンプトが表示されます。
13.6 パラメータを削除する
以下の手順を使用して、パラメータを削除します。
1.
[データエクスプローラ] ビューで [パラメータ] を展開し、削除するパラメータを右クリックします。
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
271
2.
[削除] をクリックします。
パラメータが対話型のフィルタまたは式で使用されている場合、エラーが発生しないように適切な変更を加える必要がありま
す。
13.7 高度なパラメータ機能
レポート内では、さまざまな方法でパラメータを使用できます。この節では、パラメータの高度な使い方について説明します。
13.7.1
複数の値を許可するパラメータを作成する
1.
[データエクスプローラ] ビューで [パラメータ] を右クリックし、
2.
[パラメータの作成] ダイアログボックスにパラメータの名前を入力します。
3.
適切な [データ型] を一覧から選択して、プロンプト用のテキストを入力します。
4.
[複数の値を許可] を TRUE に設定します。
新規作成
新しいパラメータ
の順に選択します。
これで、プロンプトが表示されたときに、パラメータに入力する複数の値を指定できます。
13.7.2 [一覧から値を選択] を有効にする
1.
[データエクスプローラ] ビューで [パラメータ] を右クリックし、
2.
[パラメータの作成] ダイアログボックスにパラメータの名前を入力します。
3.
適切な [データ型] を一覧から選択して、プロンプト用のテキストを入力します。
4.
値の一覧を作成するには、[“値の一覧の編集”] ボタンをクリックします。
新規作成
新しいパラメータ
の順に選択します。
注記
値の一覧 (LOV) の作成の詳細については、次のトピックを参照してください。
5.
○
静的な値の一覧を伴うパラメータを作成する [268 ページ]
○
動的な値の一覧を伴うパラメータを作成する [269 ページ]
[一覧から値を選択] を有効にします。
注記
LOV を指定している場合を除き、このプロパティは自動的に無効に設定されています。LOV を指定した場合は、この
ボックスを有効にすることによって一覧からの値のみが許可されるように設定できます。
272
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
13.7.3 離散値または値の範囲を許可するパラメータの作成
ユーザに離散値、または値の範囲の入力を求めるパラメータを作成できます。このパラメータをレポートの対話型パラメータに
含めると、ユーザが特定の情報を見つけやすくなります。たとえば、離散値を使用する対話型パラメータの場合は、ユーザが
1 つの国名を入力して、その国の売上だけを表示することができます。値の範囲を使用する対話型パラメータの場合は、ユー
ザが日付の範囲 (たとえば 2010 年 1 月 1 日から 1 月 31 日の間) を入力して、その範囲内にある売上を参照できます。
13.7.3.1
離散値または値の範囲を指定する
1.
[データエクスプローラ] ビューで [パラメータ] を右クリックし、
2.
パラメータの名前を入力します。
3.
[パラメータの作成] ダイアログボックスでリストから適切な [データ型] を選択して、プロンプト用のテキストを入力します。
4.
値の範囲の種類として、[離散] または[範囲] を選択します。
新規作成
新しいパラメータ
の順に選択します。
○
[離散] を選択した場合は、値の範囲ではなく、離散値をパラメータに入力します。
○
[範囲] を選択した場合は、パラメータ値の入力を求められたときに開始値と終了値を入力します。たとえば、「5」およ
び「10」を入力すると、範囲は 5 ~ 10 になり、フィルタにこのパラメータを使用するレポートは、値が 5 と 10 の間の
値を持つレコードをすべて表示します。これは、文字列型のパラメータに対しても同様に機能します。開始値「A」と終
了値「E」を入力すると、フィルタにこのパラメータを使用するレポートには、辞書順で A から E までの範囲内のすべ
てのレコードが表示されます。
注記
[複数の値を許可] と [離散] のオプションを選択すると、パラメータに複数の離散値を入力できます。この場合、値を
複数入力できますが、入力した値は個別に評価され、範囲としては解釈されません。[複数の値を許可] と [範囲] の
オプションを選択すると、パラメータに複数の範囲を入力できます。
13.7.3.2
最大値または最小値を指定する
1.
[データエクスプローラ] ビューで [パラメータ] を右クリックし、
2.
パラメータの名前を入力します。
3.
[パラメータの作成] ダイアログボックスでリストから適切な [データ型] を選択して、プロンプト用のテキストを入力します。
4.
値を入力して、オブジェクトの長さを指定します。
新規作成
新しいパラメータ
の順に選択します。
注記
これらの値を制限しない場合は、値を空白にしておきます。
○
データ型が文字列の場合は、[最小長] と [最大長] を入力するためのオプションが表示されます。許可される文字列
○
データ型が数値の場合は、[最小値] と [最大値] を入力するためのオプションが表示されます。許可されるパラメー
型のパラメータ値の長さは、これらの値に制限されます。
タ値はこの範囲に制限されます。
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
273
○
データ型が日付、時刻、日付時刻の場合は、開始と終了を入力するためのオプションが表示されます。許可されるパ
ラメータ値はこの範囲に制限されます。
○
論理値またはメンバーのデータ型では、オプションは使用できません。
13.7.4 非表示プロンプトを伴うパラメータを作成する
1.
[データエクスプローラ] ビューで [パラメータ] 領域内を右クリックし、
新規作成
新しいパラメータ
の順に選択しま
す。
[パラメータの新規作成] ダイアログボックスが表示されます。
2.
[パラメータの作成] ダイアログボックスにパラメータの名前を入力します。
3.
適切な [データ型] を一覧から選択します。
4.
[非表示プロンプト] を選択します。
5.
[初期値] オブジェクトの横の省略ボタンをクリックします。
[初期値の選択] ダイアログボックスが開きます。
6.
初期値を入力し、[追加] をクリックします。
注記
複数の初期値を入力するには、[複数の値を許可] を選択します。
7.
8.
必要に応じて [関数] をクリックし、初期値関数を作成します。
[OK] をクリックして終了します。
13.7.5 値の一覧のフィルタの作成
値の一覧 (LOV) フィルタを使用すると、パラメータの LOV に表示する値を制限することができます。単純な LOV を使用して
フィルタを作成したり、式ワークショップで別のパラメータを使用してフィルタを適用することもできます。
たとえば、地域ごとにプロンプトに表示される "国" の値をフィルタして、北米の国のみを表示することができます。
13.7.5.1
値の一覧のフィルタを作成する
値の一覧 (LOV) のフィルタを追加する前に、動的 LOV を伴う新しいパラメータを作成する必要があります。
1.
[データエクスプローラ] ビューで、フィルタするパラメータを右クリックして [パラメータの編集] を選択します。
[パラメータの編集] ダイアログボックスが表示されます。
2.
[値の一覧] 領域で省略ボタンをクリックします。
[一覧の種類] 領域の [動的] が選択された状態で、[値の一覧] ダイアログボックスが表示されます。
274
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
3.
4.
[値] コンボボックスで、リストから [市] を選択します。
[フィルタ] ボタンをクリックします。
[値の一覧のフィルタの編集] ダイアログボックスが表示されます。
5.
[フィルタの追加]をクリックします。
6.
最初のリストから、[国] を選択します。
7.
2 番目のリストから、[リスト内] を選択します。
8.
最後のリストで、[値の選択] をクリックします。
[値の編集] ダイアログボックスが表示されます。
9.
[新規作成] をクリックして、フィルタ処理する国を選択します。
たとえば、北米フィルタを作成する場合、カナダ、米国、およびメキシコを選択します。
10. [OK] をクリックします。
式ワークショップでは、さらに詳細なオプションを使用して LOV フィルタを編集できます。
関連情報
動的な値の一覧を伴うパラメータを作成する [269 ページ]
式ワークショップの使用 [281 ページ]
13.7.6 データ型をメンバーに設定
その他のオプション (説明、フィルタ、式など) を選択しないで、メンバーフィールドに動的な LOV を作成した場合、パラメータ
のデータ型は自動的にメンバータイプになります。これは、メンバータイプを選択する唯一の方法です。
異なる説明フィールドを選択するか、フィルタや式を選択すると、パラメータはメンバータイプとは見なされなくなり、文字列型
などの式の値タイプに戻されます。
13.7.6.1
データ型をメンバーに設定する
パラメータを作成します。[パラメータの作成] または [パラメータの編集] ダイアログボックスから開始します。
1.
[“値の一覧の編集”] ボタンをクリックします。
[値の一覧の編集] ダイアログボックスが表示されます。
2.
[一覧の種類] 領域で[動的] を選択します。
3.
[値] コンボボックスで、リストからメンバーオブジェクトを選択します。
LOV は、[昇順] または[降順] に並べ替えることができます。
4.
[OK] をクリックします。
パラメータタイプがメンバータイプになります。ほかのパラメータタイプと同様に、メンバーパラメータの作成を完了できます。
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
275
13.7.7
式にパラメータを取り込む
1.
式ワークショップを開きます。
2.
ツールバーから
3.
式の名前を入力し、[OK] をクリックします。
4.
[オブジェクト] ビューから既存のパラメータを選択するか、または
新規作成
式の新規作成
の順にクリックして式を作成します。
新規作成
新しいパラメータ
の順にクリックして
新しいパラメータを作成します。
詳細については、パラメータの作成 [265 ページ]を参照してください。
5.
任意の定数値として、パラメータを使用する式を作成します。
たとえば、次のように国名を直接記述した式があるとします。
{customer.COUNTRY} = "USA"
この式の "USA" の代わりにパラメータを使用します。
{customer.COUNTRY} = {?Country}
ヒント
"?" を探すと簡単にパラメータを識別できます。
6.
式ワークショップを閉じます。
13.7.8 エディットマスクによるエントリタイプと書式の定義
文字列型を使用するパラメータに対して、エディットマスクを入力できます。エディットマスクでは、マスク文字列を使用して、パ
ラメータ値として入力できる文字列を制限します。デフォルトの値も、エディットマスクの制限を受けます。
次のマスク文字またはその組み合わせを入力できます。
●
"A"は、任意の英数字を表します。このパラメータ値には入力が必要です。
●
"a"は、任意の英数字を表します。このパラメータ値に入力がなくても有効です。
●
"0"は、数字(0 から 9 まで)を表します。このパラメータ値には入力が必要です。
●
"9"は、数字またはスペースを表します。このパラメータ値に入力がなくても有効です。
●
"#"は、数字、スペース、プラス記号(+)、またはマイナス記号(-)を表します。このパラメータ値に入力がなくても有効で
す。
●
"L"は、英文字(A から Z まで)を表します。このパラメータ値には入力が必要です。
●
"?" は、英文字を表します。このパラメータ値に入力がなくても有効です。
●
"&"は、任意の文字またはスペースを表します。このパラメータ値には入力が必要です。
●
"C"は、任意の文字またはスペースを表します。このパラメータ値に入力がなくても有効です。
●
". , : ; - /"(区切り文字)。エディットマスクに区切り文字を挿入すると、パラメータの形式をハードコーディングしたようにな
ります。レポートにそのオブジェクトを配置すると、データ要素フレームには、たとえば "LLLL/0000" と表示されます。こ
れは、4 つの英文字と 4 つの数字を必要とするエディットマスクを表しています。
●
276
"<"は、その後に続く文字を小文字に変換します。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
●
">"は、その後に続く文字を大文字に変換します。
●
"\"は、続く文字をリテラルな文字にします。たとえば、エディットマスク "\A" は、パラメータ値 "A" を表します。エディット
マスクが "00\A00" である場合、有効なパラメータ値は 2 つの数字、文字 "A"、およびさらに 2 つの数字から構成され
ます。
●
"Password"。エディットマスクを "Password" に設定できます。この場合、条件式を作成し、レポートの一部は特定のユ
ーザパスワードが入力された場合にだけ表示するように指定できます。
注記
エディットマスク文字には、パラメータ値の入力のとき、そこに文字の入力が必要なものと、必要なら空白にしておけるもの
とがあります。たとえば、エディットマスクが 000099 の場合は、4 桁、5 桁、または 6 桁のパラメータ値を入力できます。
"9"というエディットマスク文字は、必ずしも文字の入力を必要としないからです。反対に、"0" は文字の入力を要求するの
で、4 桁未満のパラメータ値を入力することはできません。
13.7.9 NULL の処理
パラメータで NULL 値が許可されている場合、ユーザがプロンプトで NULL 値を選択できるように設定するための独立のオプ
ションがあります。Crystal Reports 式言語で IsNull 関数を使用して、この機能をテストできます。
詳細については、オンラインヘルプの「“IsNull (フィールド)”」を参照してください。
SAP Crystal Reports for Enterprise ユーザガイド
パラメータとプロンプト
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
277
14 式
この節では、Crystal Reports での式の作成と使用について説明します。
14.1 式の概要
通常、レポートの作成時には、必要なデータはすでにデータベースフォルダのオブジェクトに存在しています。たとえば、受注
リストを作成する場合は、その目的に合ったオブジェクトをレポート上に配置すれば済みます。
しかし、データオブジェクトに存在しないデータが必要になる場合もあります。このような場合は、式を作成する必要がありま
す。たとえば、各注文の処理にかかった日数を計算するには、受注日から出荷日までの日数を求める式が必要です。Crystal
Reports を使うと、こうした式を簡単に作成できます。
14.1.1
式の使用例
式の用途は数多くあります。特別なデータの操作が必要な場合は、式を使用します。
レポートへの計算オブジェクトの追加
15% 引きの価格を計算します。
Crystal 構文の例
{Orders_Detail.Unit Price}*.85
レポート内のテキストの書式設定
"顧客名" オブジェクトの値をすべて大文字に変換します。
Crystal 構文の例
UpperCase ({Customer.CUSTOMER_NAME})
テキスト文字列の一部の抽出
顧客名から最初の 1 文字を抽出します。
278
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
Crystal 構文の例
{Customer.CUSTOMER_NAME} [1]
日付の部分抽出
注文を受けた月を判別します。
Crystal 構文の例
Month ({Orders.Order Date})
カスタム関数の使用
$500 を米ドルからカナダドルに変換します。
Crystal 構文の例
cdConvertUSToCanadian (500)
14.2 式の構成要素
式には、構文と構成要素という 2 つの必須部分があります。構文は、構成要素を整理するための規則です。構文の詳細につ
いては、Crystal 構文の基本 [306 ページ]を参照してください。
構成要素は、式を作成するためにユーザが追加する要素です。式では、次の構成要素を使用できます。
オブジェクト
例: {CUSTOMER.顧客(姓)}, {CUSTOMER.前年度取引高}
数値
例: 1、2、3.1416
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
279
テキスト
例: "数量"、":"、"テキスト"
演算子
例: +(加算)、/(除算)、-x(負号)
演算子は、式の中で使用できる操作を表します。
関数
例: Round(x)、Trim(x)
関数は、平均、合計、件数などの計算を行います。使用できるすべての関数は、引数と共にその用途別にリストされます。
カスタム関数
例: cdFirstDayofMonth、cdStatutoryHolidays
カスタム関数は、式のロジックの共有や再利用の方法を用意しています。カスタム関数をレポートに追加することによって、式
の作成に使用できるようになります。
制御構造
例: "If"、"Select"、"For"ループ
グループオブジェクト値
例: Average (fld, condFld)、Sum (fld, condFld, "condition")
グループオブジェクト値はグループの集計値です。たとえば、グループオブジェクト値を使用すると、総計に対する各グループ
の割合を求めることができます。
280
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
その他の式
例: {@粗利益}、{@数量}
14.3 式の説明
Crystal Reports は、レポートや積算合計条件式を含む各種の式を用意しています。
レポートで最も多く使用される式は、レポート式と条件付き書式設定式です。
レポート式
レポート式は、レポート内に作成されて単独で機能する式です。たとえば、受注日から出荷日までの日数を計算する式はレポ
ート式です。
条件付き書式設定式
条件式で定義した条件に基づき、書式設定が適用されます。たとえば、未払勘定の顧客のフォントを赤に設定して強調表示
することができます。
14.4 式ワークショップの使用
式ワークショップでは、さまざまな種類の式を作成できます。ワークショップは以下のもので構成されます。
●
ツールバー
●
作成または変更できる種類の式がリストされるナビゲーションパネル
●
式のコンポーネントが格納されるオブジェクトパネル
●
式自体を定義する領域
●
式のエラーが表示される [問題] パネル
14.4.1 式ワークショップへのアクセス
式ワークショップには、さまざまな方法でアクセスできます。式ワークショップは、新しい式オブジェクトを追加する場合、選択式
を定義する場合、カスタム関数を使用する場合などに表示されます。
特定の種類の式を追加する前であれば、式ワークショップそのものを開くこともできます。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
281
14.4.1.1
式ワークショップにアクセスする
[データ] メニューで、[式] をクリックします。
ヒント
[データ] ツールバーの [式] タブをクリックする方法もあります。
式ワークショップが表示されます。
14.4.2 ナビゲーションパネル(式ワークショップ)
ナビゲーションパネルには、Crystal Reports で作成できる各種類の式のフォルダがあります。カスタム関数のフォルダも含
まれています。
コマンドを使用した結果としてワークショップが表示される場合、そのワークショップは適切なフォルダと式のセクションが選択
された状態で開きます。
既存の式を参照するには、ツリーの中の任意のフォルダを展開します。ここで新しい式を追加したり、既存の式を編集または
削除できます。
14.4.3 オブジェクトパネル(式ワークショップ)
オブジェクトパネルには、式を作成するための主要コンポーネントが含まれています。
コンポーネント
内容
データエクスプローラ[データエクスプローラ]
データエクスプローラには、すでにレポートで作成した式また
はグループが含まれます。
結果オブジェクト
レポートで利用可能なすべての結果オブジェクトです。
関数
関数は組み込みのプロシージャで、値を返します。このウィ
ンドウには、カスタム関数もリストされています。
関数の例には、平均、合計、件数、サイン(sin)、スペースの
削除、大文字への変換などが含まれます。
演算子
演算子は、式の中で値の操作に使用する"動詞"と言えま
す。演算子は、複数の値を使って実行される演算または操
作を表します。
演算子の例には、加算、減算、以上、以下などが含まれま
す。
式テキストにコンポーネントを追加するには、これらのツリーからコンポーネントをドラッグします。
282
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.4.4 式テキストウィンドウ
式ウィンドウでは、式の作成および変更を行います。コードウィンドウでは、一度に複数の式を表示し、横にあるナビゲーショ
ンパネルを使用してそれらの式の間を移動することができます。
コードウィンドウの下部には、[保存して閉じる] 、[保存] 、または[キャンセル] の機能があります。ダイアログをキャンセルす
ると、変更内容はすべて取り消されます。
14.4.5 式ワークショップのボタン
式ワークショップでは、個々のボタンは、そのとき行っている作業によって利用可能になったり利用不可能になったりします。
次に、式ワークショップのボタンの機能を説明します。
ボタン
対処方法
説明
フィルタ式
式テキストウィンドウに現在表示されて
いる式を変更します。
式の並べ替え
すべての式と関数を、種類または名前
によって並べ替えます。
削除
選択した式またはカスタム関数を削除し
ます。
新しい式、関数、またはパラメータを作
成します。
リストから選択した種類の式を新しく作
成します。新しいカスタム関数またはパ
ラメータを作成する場合にも使用しま
す。
コメントの切り替え (Ctrl+/)
強調表示された式の選択部分をコメント
にします。コメント行の部分は式として
は評価されません。
元に戻す
最後に実行した操作を元に戻します。
やり直し
最後に実行した操作をやり直します。
データの参照
レポートオブジェクトの値を参照します。
検索と置換 (Ctrl+F)
[検索と置換] ダイアログボックスを開き
ます。
ヘルプ (F1)
[式ワークショップ] ダイアログボックス
のオンラインヘルプを開きます。
保存して閉じる
SAP Crystal Reports for Enterprise ユーザガイド
式
保存して閉じる
変更内容の保存を要求した後で、式ワ
ークショップを閉じます。変更内容を保
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
283
ボタン
対処方法
説明
存する場合、式にエラーがあるかどうか
をチェックします。
保存
保存
式またはカスタム関数を保存し、レポー
トを更新します。
キャンセル
キャンセル
式ワークショップを閉じて、保存していな
い変更を破棄します。
14.5 式の作成と変更
式の作成、レポートへの式の追加、式の削除、式に含まれるテキストの検索とその置換を実行できます。
14.5.1
式の作成
さまざまな基準に対処するための複数の式を同時に作成して、レポートに挿入できます。
14.5.1.1
1.
式を作成する
[データエクスプローラ] ビューの [式] ボックス内で右クリックして、[新規作成] をクリックします。
式ワークショップが、自動的に新しい式が選択された状態で開きます。
2.
式の名前を右クリックして [名前の変更] を選択し、式の識別に使用する名前を入力します。
ヒント
この名前は、フィールドエクスプローラで変更することもできます。
3.
構成要素を入力して式を作成します。
ヒント
Ctrl+Space キーを押すと、結果オブジェクト、関数、およびパラメータのリストが表示されます。
ヒント
構文エラーには赤の下線が引かれ、余白に赤で "X" の印が付けられます。エラーにマウスオーバーするとエラーメッ
セージが表示されます。
284
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
ヒント
問題ビューを使用して、式に含まれる構文エラーを見つけ出します。
14.5.1.2
1.
レポートに式を挿入する
[データエクスプローラ] ビューで式を選択し、レポートでの表示位置にドラッグします。
注記
レポートに挿入された式には、@ 記号が表示されます (例: @ProcessTime)。
2.
[ファイル] メニューの [保存] をクリックして、レポートへの変更を保存します。
14.5.2 式を編集する
1.
[データエクスプローラ] ビューで、編集する式をダブルクリックします。
式ワークショップに式が表示されます。
2.
式を編集します。
14.5.3 テキストを検索して置換する
1.
[データエクスプローラ] ビューで、編集する式を右クリックして [編集] を選択します。
式ワークショップに式が表示されます。
2.
[検索と置換] をクリックして [検索] ダイアログボックスを開きます。
このダイアログボックスから、[式] テキストボックス内のテキストを検索および置換できます。
3.
[置換] では、検出されたテキストごとに、また、[すべて置換] では、検出されたすべてのテキストを、いずれも [置換] テ
キストボックス内の内容で置換します。
14.5.4 式の削除
式を作成してレポートに追加すると、Crystal Reports Designer は次の処理を行います。
●
ユーザが割り当てた名前を使い、式の作成に関する指定を格納します。
●
その式の作業用コピーをユーザがレポートで指定した位置に配置します。作業用コピーは、レポート内で使用されている
式です。
式を完全に削除するには、その仕様およびすべての作業用コピーを削除する必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
285
14.5.4.1
レポートから作業用の式を削除する
1.
レポートから削除する式を右クリックします。
2.
[削除] をクリックします。
注記
式の作業用コピーがレポートから削除された後も、式の仕様はそのまま残ります。仕様は [データエクスプローラ] ビューに
リストされます。これを使用して、削除した式をもう一度レポートに挿入できます。
14.5.4.2 式の仕様を削除する
[データエクスプローラ] ビューで、削除する式を右クリックして [削除] をクリックします。
14.6 式のデバッグのチュートリアル
コンパイルエラーを含む式 (式および条件付き書式設定式) には、エラーアイコンが表示されます。また、[問題] ビューにエラ
ーメッセージが表示されます。[問題] ビューは [式ワークショップ] 枠の下部に自動的に表示されます。
次の例で、式のデバッグに必要な手順を学習してください。この練習を終了したら、これと同じ進め方で実際の式をデバッグし
てください。
14.6.1 このチュートリアルについて
●
この例では、Xtreme サンプルデータベースを使用します。
●
このチュートリアルでは、Crystal 構文を使用します。
●
エラーがないかどうかをテストするのは次の式です。
If ({CUSTOMER.CUSTOMER_NAME} [1 to
ToText({customer,CUSTOMER ID}) [1]
({CUSTOMER.CUSTOMER_NAME} [1 to 2]
ToText({CUSTOMER.CUSTOMER ID}) [1]
"PREFERRED CUSTOMER"
Else
"DOES NOT FIT CRITERIA"
2
=
=
=
= "Bi" and
"6") Or
'Ro" and
"5")
エラーがなければ、この式は、名前が "Bi" で始まり、顧客番号が “6” で始まるすべての顧客、および会社名が "Ro" で始ま
り、顧客番号が “5” で始まるすべての会社を選び出すはずです。オブジェクトを出力すると、選択されたレコードには "“目的の
顧客”" と表示され、その他のレコードには "“その他の顧客”" と表示されます。
次に、式を細かく分析して、式の中のそれぞれの条件が機能するかどうかを確認します。
286
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.6.1.1
1.
Formula1
初めに、Xtreme データベースの Customer フォルダを使用してレポートを作成し、次のオブジェクトをボディセクションに
配置します。
{CUSTOMER.CUSTOMER_ID}
{CUSTOMER.CUSTOMER_NAME}
式の各部分をテストするため、レポート内のこれら 2 つのオブジェクトの隣に新しい式を 1 つ配置します。
2.
Formula1 という名前の新しい式を作成します。
3.
Crystal Reports Designer の [データ] タブで [式] を選択して、次の式を入力します。
If {CUSTOMER.CUSTOMER_NAME} [1 to 2 = "Bi" Then
"TRUE"
Else
"FALSE"
余白に X が表示されます。この X にポインタを乗せると、次のエラーメッセージが表示されます。
The ] is missing.
4.
2 の後に、抜けている"] "を挿入して式を修正します。
5.
[保存して閉じる] をクリックします。
6.
Crystal Reports Designer で [構造] タブを選択します。
7.
レポートのボディセクションに配置した 2 つのデータオブジェクトの横に、修正した式を挿入します。
8.
[ページ] タブをクリックします。
9.
レポート内の値を確認してオブジェクトを比較し、@Formula1 から返されるオブジェクト値が正しいかどうかを検証しま
式が修正されると、X は表示されなくなります。
す。
"Bi" で始まる顧客名の横には "TRUE" と表示され、それ以外の顧客名の横には "FALSE" と表示されているはずです。
次に、式の他の部分を検査します。Formula2、Formula3、Formula4 を、それぞれに指定した式を使用して作成します。
各式をボディセクションの同じ行に挿入して、簡単に比較できるようにします。それぞれについてエラーの有無を確認し、必要
に応じて式を修正して、戻り値が正しいことを確認してから次の式に進みます。
Formula2 [287 ページ]に進みます。
14.6.1.2
Formula2
1.
Formula2 という名前の新しい式を作成します。
2.
Crystal Reports Designer の [式] タブを選択して、次の式を入力します。
If ToText({customer,CUSTOMER ID}) [1] = "6" Then
"TRUE"
Else
"FALSE"
余白に X が表示されます。この X にポインタを乗せると、次のエラーメッセージが表示されます
This object name is not known.
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
287
3.
オブジェクト名の中にあるカンマ (,) をピリオド (.) に置き換えて式を修正します。
式が修正されると、X は表示されなくなります。
4.
式を @Formula1 オブジェクトの横に配置します。
5.
[ページ] タブをクリックします。
6.
レポート内の値を確認してオブジェクトを比較し、@Formula2 から返されるオブジェクト値が正しいかどうかを検証しま
す。
"6" で始まる顧客番号の横には "TRUE" と表示され、それ以外の顧客番号の横には "FALSE" と表示されるはずです。
Formula3 [288 ページ]に進みます。
14.6.1.3
Formula3
1.
Formula3 という名前の新しい式を作成します。
2.
Crystal Reports Designer の [式] タブを選択して、次の式を入力します。
If {CUSTOMER.CUSTOMER_NAME} [1 to 2] = 'Ro" Then
"TRUE"
Else
"FALSE"
余白に X が表示されます。この X にポインタを乗せると、次のエラーメッセージが表示されます。
The matching ' for this string is missing.
3.
Ro の前の一重引用符 (') を二重引用符 (") に変更して式を修正します。
式が修正されると、X は表示されなくなります。
4.
式を @Formula2 オブジェクトの隣に配置します。
5.
[ページ] タブをクリックします。
6.
レポート内の値を確認してオブジェクトを比較し、@Formula3 から返されるオブジェクト値が正しいかどうかを検証しま
す。
"Ro" で始まる顧客名の横には "TRUE" と表示され、それ以外の顧客名の横には "FALSE" と表示されるはずです。
Formula4 [288 ページ]に進みます。
14.6.1.4 Formula4
1.
Formula4 という名前の新しい式を作成します。
2.
Crystal Reports Designer の [式] タブを選択して、次の式を入力します。
If ToText({CUSTOMER.CUSTOMER ID}) [1] = "5"
"TRUE"
Else
"FALSE"
余白に X が表示されます。この X にポインタを乗せると、次のエラーメッセージが表示されます。
The keyword 'then' is missing.
288
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
3.
最初の行の末尾の "5" の後に "Then" を入力して式を修正します。
式が修正されると、X は表示されなくなります。
4.
式を @Formula3 オブジェクトの隣に配置します。
5.
[ページ] タブをクリックします。
6.
レポート内の値を確認してオブジェクトを比較し、@Formula4 から返されるオブジェクト値が正しいかどうかを検証しま
す。
"5" で始まる顧客番号の横には "TRUE" と表示され、それ以外の顧客番号の横には "FALSE" と表示されるはずです。
これで式にエラーがなくなり、返されるオブジェクト値は正しいものになりました。次に、別々の構成要素を組み合わせた式を
作成します。まず、初めの 2 つの式 (@Formula1 と @Formula2) を組み合わせます。次に、@Formula3 と @Formula4 を
追加し、最終的な式 @FinalFormula を作成します。
Formula1+2 [289 ページ]に進みます。
14.6.1.5
Formula1+2
1.
Formula1+2 という名前の新しい式を作成します。
2.
Crystal Reports Designer の [式] タブを選択して、次の式を入力します。
If {CUSTOMER.CUSTOMER_NAME} [1 to 2] = "Bi" and
ToText({CUSTOMER.CUSTOMER ID}) [1] = "6" Then
"TRUE"
Else
"FALSE"
3.
@Formula4 オブジェクトの右に式を配置します。
4.
[ページ] タブをクリックします。
5.
レポート内の値を確認してオブジェクトを比較し、@Formula1+2 から返されるオブジェクト値が正しいかどうかを検証しま
す。
名前が Bi で始まり、番号が 6 で始まる顧客の横には "TRUE" と表示され、この条件に合わないすべての顧客の横には
"FALSE" と表示されるはずです。
この式が正しく機能した場合は、@Formula3 と @Formula4 のコードを追加して最終的な式を作成できます。
FinalFormula [289 ページ]に進みます。
14.6.1.6 FinalFormula
1.
FinalFormula という名前の新しい式を作成します。
2.
Crystal Reports Designer の [式] タブを選択して、次の式を入力します。
If ({CUSTOMER.CUSTOMER_NAME} [1 to
ToText({CUSTOMER.CUSTOMER ID}) [1]
({CUSTOMER.CUSTOMER_NAME} [1 to 2]
ToText({CUSTOMER.CUSTOMER ID}) [1]
"PREFERRED CUSTOMER"
Else
"DOES NOT FIT CRITERIA"
SAP Crystal Reports for Enterprise ユーザガイド
式
2] = "Bi" and
= "6") or
= "Ro" and
= "5") Then
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
289
3.
この式をレポートのボディセクションの表示位置に配置します。必要でなくなった他の式は、すべてレポートから削除でき
ます。詳細については、式の削除 [285 ページ]を参照してください。
4.
レポートを保存します。
5.
[ページ] タブをクリックします。
6.
レポート内の値を確認してオブジェクトを比較し、@FinalFormula から返されるオブジェクト値が正しいかどうかを検証し
ます。
名前が "Bi" で始まり、先頭の数字が 6 の ID を持つ顧客、または名前が "Ro" で始まり、先頭の数字が 5 の ID を持つ
顧客の横に "目的の顧客" と表示されるはずです。この基準を満たさないすべての顧客番号の横には "そのほかの顧
客" と表示されているはずです。
このように、条件ごとにテストを進める手順を利用すると、どのような式でも計画的に検査することができます。
14.7 エラーメッセージと式コンパイラによる警告
) がありません。
かっこは対にして使用しなくてはなりません。すべての左かっこと右かっこが対応していなくてはなりません。対応する右かっこ
が存在しない左かっこがあります。足りないかっこを挿入して、再チェックしてください。
] がありません。
角かっこは対にして使用しなくてはなりません。すべての左角かっこと右角かっこが対応していなくてはなりません。対応する
右角かっこが存在しない左角かっこがあります。足りない角かっこを挿入して、再チェックしてください。
論理値の範囲変数は使用できません。
論理値範囲変数が入力されました。範囲変数は論理値以外のすべてのデータ型で許可されます。データ型を論理型以外に
変更するか、論理値範囲変数の代わりに論理値アイテム変数を入力してください。
日付を表す数値は、1 から各月にある日数以内でなければなりません。
その月の日数を超える大きさの数値が入力されました。たとえば、1 月の場合は、ゼロ(0)または 32 以上の数値を入力する
と、この警告が表示されます。その月の日数を超えない大きさの数値に変更して、再チェックしてください。
290
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
ここにはオブジェクトが必要です。
式の中で、オブジェクトを入力する場所にオブジェクト以外のものが入力されました。問題を解決し、再チェックしてください。
式は直接的にも間接的にも式自体を参照できません。
式自体を参照する式を入力することはできません。たとえば、式 @Profit の作成中、@Profit を関数への引数として使用する
ことはできません。その参照を削除し、再チェックしてください。
ここには関数が必要です。
関数を入力する場所に関数が入力されていません。式を見直し、関数を入力するか、式にエラーがあれば式を修正してくださ
い。
月を表す数値は、1 ~ 12 の間でなければなりません。
月を表す数値として規定範囲外の数値が入力されました。月を表す数値は 1 から 12 の範囲で入力し、再チェックしてくださ
い。
文字列は最長で半角 65534 文字までです。
プログラムでは、式で使用できる文字列は最大 65534 文字です。この最大値よりも長い文字列が入力されました。文字列を
短くし、再チェックしてください。
添字は 1 から文字列の長さまでの間でなければなりません。
存在しない文字列を指定する添字番号が入力されました。たとえば、5 文字の文字列で 6 番目や 8 番目の文字を参照する
添字が入力されると、この警告が表示されます。存在する値を参照する添字に変更し、再チェックしてください。
添字は 1 から配列のサイズまででなければなりません。
存在しない配列項目を指定する添字が入力されました。たとえば、項目が 5 つある配列で 6 番目や 8 番目の項目を参照す
る添字が入力されると、この警告が表示されます。存在する値を参照する添字に変更し、再チェックしてください。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
291
ここには小計条件を入力できません。
並べ替え/グループ化オブジェクトとして日付オブジェクトまたは論理型オブジェクト以外を使用する小計条件が小計用に入力
されました。その小計は条件を必要としません。条件を削除し、続行してください。
小計条件は文字列でなければなりません。
文字列書式以外の小計条件が入力されました。式に小計条件を入力するときは、小計条件は一重引用符か二重引用符で囲
んでください。
変数は異なる型で再宣言することはできません。
同じ名前で、既に宣言された変数と異なる型の変数が宣言されました。この操作は許可されていません。変数名を変更する
か、元のデータ型と一致するようデータ型を変更してください。
ここには変数が必要です。
式で、左辺に変数がない状態で代入演算子 (:=) が入力されました。代入演算子の左側には変数が必要です。変数を入力
し、再度試してください。
ここには変数名を入力します。
変数名を宣言せず、変数のデータ型が宣言されました。宣言を完了するには変数名を入力しなくてはなりません。変数名を入
力し、続行してください。
アクセスが拒否されました。
指定されたファイルにはアクセスできません。ファイルが他のプログラム(またはネットワーク上の他のユーザ)で使用されてい
ないか、正しいネットワークアクセス権限があるかどうかをチェックし、再度試してください。
カスタム関数 sampleFunction の呼び出し中にエラーが発生しました。
レポートで指定されたカスタム関数を呼び出そうとしてエラーが発生しました。
292
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
メモリを再割り当てできません。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了してください。その
後、再度試してください。
メモリを割り当てられません。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了してください。その
後、再度試してください。
カスタム関数です。カスタム関数名に値を代入して戻り値を指定する必要があります。
関数に戻り値を代入する必要があります。
日付は 1 ~ 9999 年の間でなければなりません。
規定範囲外の日付が入力されました。1 から 9999 年(9999 年を含む)の範囲の日付を入力し、再チェックしてください。
ディスクがいっぱいです。
いっぱいになったディスクにレポートを保存しようとしました。他のディスクに保存するか、現在のディスクから不要なファイルを
削除し、再度試してください。
0(ゼロ)で除算しました。
ゼロでの除算を行う式が入力されました。このような除算はできません。0 で除算しない式を作成し、再チェックしてください。
次のような検査を行うようにすれば、このような問題を回避できます。
If {file.FORECAST} = 0 Then
0
Else
{file.SALES} / {file.FORECAST}
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
293
式コードにエラーがあります。Business Objects に連絡してください。
式に予測できない異常があります。この警告の原因となった式テキストを保存し、Crystal Decisions に連絡してください。
解析ツリーでエラーが発生しました。Business Objects に連絡してください。
式の解析中、解析ツリーを処理できない状況になりました。この警告の原因となった式テキストを保存し、Crystal Decisions
に連絡してください。
オブジェクトはまだ使用されています。
要求されたオブジェクトは現在使用中です。オブジェクトを使用できる状態になったら、再度試してください。
オブジェクトはカスタム関数内で使用できません。
カスタム関数内でオブジェクトを使おうとしました。オブジェクトはカスタム関数内で使用できません。
ファイル名は既に使用されています。この名前で保存する前に、xxx のウィンドウを閉じてくだ
さい。
開いているレポートで既に使用されているファイル名でファイルを保存しようとしました。まずレポートを閉じ、再度試してくださ
い。
ファイルが見つかりません。
指定されたファイル名は見つかりません。ファイル名またはパスが不正です。正しいファイル名かパスを入力し、再度試してく
ださい。ディレクトリにファイル WBTRVDEF.DLL がない場合もあります。このファイルと WBTRCALL.DLL はデータ辞書ファ
イルを読み込むのに必要です。
ファイルアクセス権エラー。
アクセス権限のないファイルが要求されました。このファイルを開くには、必要なアクセス権限を得なくてはなりません。
294
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
正しい 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 をインストールして、再度試してく
ださい。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
295
無効なファイルハンドルです。
存在しないファイルハンドルが指定されました。正しいファイルハンドルを入力し、続行してください。
通常使うプリンタが選択されていません。コントロールパネルで通常使うプリンタを選択できま
す。
コントロールパネルを使ってプリンタを選択し、Crystal Reports を再起動してください。
通常使うプリンタを選択しないと、Crystal Reports を使用できません。通常使うプリンタを選択せずに Crystal Reports を起
動しようとすると、このエラーメッセージが表示されます。
通常使うプリンタを選択する
Windows コントロールパネルで[プリンタ]アイコンをクリックすると、[プリンタ]ダイアログボックスが表示され、インストールさ
れているすべてのプリンタが表示されます。
通常使うプリンタをまだインストールしていない場合は、インストールし、そのリストをダブルクリックしてください。
注記
プリンタを通常使うプリンタとして選択するには、まず、プリンタを有効にしておく必要があります。
注記
プリンタのインストール方法と通常使うプリンタの詳細については、Microsoft Windows に付属のマニュアルを参照してく
ださい。
一意のフォルダ参照がありません: foldername
このエラーメッセージは、一般に、フォルダ名にアンダスコアが含まれている場合、フォルダ名が 15 文字を超える長さの場
合、または数字で始まる場合に表示されます。
この関数への引数が足りません。
この関数には、指定された引数よりも多くの引数が必要です。足りない引数を入力し、再チェックしてください。
296
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
メモリが不足しています。
コマンドを処理するのに必要なメモリがありません。不要なレポートを閉じ、必要でないプログラムを終了してください。その
後、再度試してください。
数値がオーバーフローしました。
中間結果または最終結果が大きすぎるので表示できません。結果が小さくなるように、式を組み立て直すか分割してから、再
チェックしてください。
物理データベースが見つかりません。
DLL またはデータベースが見つかりません。これらのファイルが含まれるディレクトリが PATH 文に列挙されているかどうか
をチェックしてください。
閉じる前に、印刷をキャンセルしてください。
Report Engine が呼び出されましたが、それにより、まだ処理中のジョブの終了が試みられました。印刷ジョブを終了する前
に、印刷をキャンセルしてください。
プリンタが利用できません。
選択されたプリンタへの接続に問題があります。Windows コントロールパネルでプリンタを選択し直し、再度試してください。
レポートファイルは既に存在します。sample.rpt を上書きしますか?
既に存在するレポートと同じ名前でレポートを保存しようとしています。既存のレポートは上書きされ、利用できなくなります。
レポートを上書きする場合[はい]を、保存を中止して別の名前を選択する場合は[いいえ]をクリックしてください。
レポートが変更されました。閉じる前に sample.rpt への変更を保存しますか?
レポートを開いてから変更が加えられていますが、保存せずにレポートウィンドウを閉じようとしました。レポートを閉じる前に
保存しなければ、変更内容が失われます。内容変更を保存する場合は[はい]を、保存しないでレポートを閉じる場合は[いい
え]をクリックしてください。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
297
カスタム関数内で sampleFunction に値を代入する必要があります。
カスタム関数内でその関数自身の戻り値を代入する必要があります。
この機能はまだサポートしていません。後で再度実行してください。
現在のバージョンには実装されていない機能を使おうとしました。その機能が実装されたアップグレード品がリリースされてか
ら、再度試してください。
指定された時点では式を評価できません。
オブジェクト、式、または関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更でき
るだけで、前に変更することはできません。必要な評価時期を整理するには式を変更してください。
式が複雑すぎます。簡略化してください。
待ち状態にできる演算数 50 の制限を超えているので、式を評価できませんでした。待ち状態の演算とは、優先順位規則の
ため保留状態になっている演算を言います。待ち状態の演算は、優先順位の高い演算が終了したら行われます。
式の構成を変更することで、待ち状態の演算数を減らして同じ値を計算できることがあります。最も簡単な例として、2 + 3 * 4
という式で、足し算は掛け算が完了するまで行われません。したがって足し算は待ち状態になり、掛け算が完了するまで保留
されます。この式を 3*4+2 と書き直すと、結果は同じですが、演算は左から右に行わるため、待ち状態の演算はなくなりま
す。
式を修正し、再チェックしてください。
このオブジェクト名には '}' がありません。
オブジェクト名は中かっこ { } で囲む必要があります。入力された中かっこは対ではありません。足りない中かっこを挿入し、再
チェックしてください。
この文字列には ''' がありません。
' で始まる文字列は ' で終わらなくてはなりません。入力された ' は対ではありません。足りない引用符を挿入し、再チェックし
てください。
298
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
この文字列には " がありません。
" で始まる文字列は " で終わらなくてはなりません。入力された " は対ではありません。足りない引用符を挿入し、再チェック
してください。
文字列のコピー数が多すぎるか、または整数ではありません。
ReplicateString 関数で指定した複製数が多すぎます。または、複製数が整数ではない値で指定されています。複製数を減
らすか、複製数を整数で指定し、再度試してください。
日数が大きすぎるか、または整数ではありません。
日付に対して日数を足したり引いたりするとき、日数は整数のみが使用できます。整数ではない日数を足したり引いたりする
ことはできません(1/2 日、3.6 日など)。また、日付に対して日数を足したり引いたりした後、その結果は日付の規定範囲の
0000 ~ 9999 年の間に収まる必要があります。整数以外の日数を入力したり、結果が規定範囲外の日付になった場合、式
エディタからこの警告が表示されます。問題を解決し、再チェックしてください。
小数点以下の桁数を指定する数値が大きすぎるか、または整数ではありません。
Round(x, # places )関数または第 2 引数として、大きすぎる小数点以下桁数または整数ではない数値が指定されました。
数値を小さい整数に変更し、再チェックしてください。
レコード選択式に 'PageNumber' 、'RecordNumber'、'GroupNumber'、'Previous' 、ま
たは 'Next'を含めることはできません。
レコード選択式に、Page Number、RecordNumber、GroupNumber、Previous、または Next の出力状況関数を含めるこ
とはできません。そのようなオブジェクトを削除して、再チェックしてください。
レコード選択式に集計オブジェクトを含めることはできません。
集計オブジェクトがレコード選択式に含められています。集計フィールドをレコード選択式に含めることはできません。集計オ
ブジェクトを削除し、再チェックしてください。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
299
式の一部にならないテキストがあります。
何も指定できない場所に式のオペランド(式の演算の対象)が指定されました。多くの場合、これは演算子、関数の前半部分、
または必須の構文項目が欠けていることを意味します。エラーを正し、再チェックしてください。
式の結果は範囲になりません。
範囲を算出する式が作成されました。式は単一値を算出しなくてはなりません。式を修正し、再チェックしてください。
式の結果は配列になりません。
配列を算出する式が作成されました。式は単一値を算出しなくてはなりません。式を修正し、再チェックしてください。
選択式の結果は、論理値でなければなりません。
論理値以外を返す選択式が作成されました。比較演算子 (= など) を使用して式を組み立て直し、再チェックしてください。
特殊変数オブジェクトを作成できませんでした。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了してください。その
後、再度試してください。
文字列は数値として扱えません。
ToNumber 関数への引数は、文字列として保存されている数値である必要があります(顧客番号や ID 番号など)。文字列の
前にはマイナス記号があっても、または前後に空白があってもかまいません。数字ではない引数が指定されたので、数値に
変換することはできません。引数を数字に変更し、再チェックしてください。
集計オブジェクトを作成できませんでした。
このメッセージは、通常、メモリ不足を示しています。不要なレポートを閉じ、必要でないプログラムを終了してください。その
後、再度試してください。
300
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
変数を作成できませんでした。
変数を作成できませんでした。宣言された変数は作成できませんでした。スペリングや宣言文の構文をチェックし、再度試してく
ださい。
'Else' がありません。
If-Then-Else 式の中で、 'Else' の部分がない (または誤った位置にある) ので、式が機能しません。"Else" を挿入し (または
位置を正し)、再チェックしてください。
'Then' がありません。
If-Then-Else 式の中で、'Then' の部分がない (または誤った位置にある) ので、式が機能しません。'Then' を挿入し (または
位置を正し)、再チェックしてください。
このオブジェクト名は文字数が多すぎます。
オブジェクト名は最大 254 文字までです。この制限を超える文字数のオブジェクト名が入力されました。規定範囲内の文字数
のオブジェクト名に入力し、再度試してください。
この文字列は文字数が多すぎます。
式の文字列には、最大 65534 文字まで指定できます。この最大値よりも長い文字列が入力されました。文字列を短くし(また
は 2 つ以上の文字列に分割して連結し)、再チェックしてください。
この名前は文字数および桁数が多すぎます。
変数名は最大 254 文字までです。この制限を超える文字数の名前が入力されました。この制限に合致するよう名前を短く
し、続行してください。
このカスタム関数にはエラーがあります。エラー詳細を確認して式を編集してください。
エラーのあるカスタム関数を保存しようとしました。示されたエラーを修正し、再度試してください。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
301
このオブジェクトに一致する小計セクションが必要です。
式に小計が入力されましたが、レポート自体に対応する小計が存在しません。式に入力する小計は、レポートに既に存在する
小計に対応するものでなくてはなりません。レポートに必要な小計を加えて式をもう一度入力するか、式を削除し、再チェック
してください。
この配列には添字が必要です。例:Array[i]
角かっこで囲まれていない配列が入力されました。角かっこで配列を囲み、再チェックしてください。
このオブジェクトは集計できません。
レポートに存在しない集計オブジェクトが入力されました。式に入力する集計オブジェクトは、レポートにすでに存在する集計
オブジェクトに対応している必要があります。レポートに集計オブジェクトを入力してから集計オブジェクトを式にもう一度入力
するか、または集計オブジェクトを式に入力しないでください。
このオブジェクトを小計条件オブジェクトとして使うことはできません。
条件オブジェクトとして入力されたオブジェクトにより、式の中の小計とレポートの中の小計が合わなくなりました。式に入力す
る小計は、レポートに既に存在する小計に対応するものでなくてはなりません。レポートに小計を入力してから小計を式にもう
一度入力するか、または小計を式に入力しないでください。
このオブジェクトは後で評価する必要があるため、使用することはできません。
オブジェクト、式、または関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更でき
るだけで、前に変更することはできません。必要な評価時期を整理するには式を変更してください。
このオブジェクトには、前の値または次の値はありません。
前の値がないオブジェクトを Previous 関数または PreviousIsNull 関数の引数として使用しました。または、次の値がないオ
ブジェクトを Next 関数または NextIsNull 関数の引数として使用しました。これらの関数を使用するには、引数を適切な値が
含まれるオブジェクトに変更してください。
302
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
このオブジェクトは現在の式のセクションと同じセクションに位置している必要があります。
オブジェクトがオペランドとして式に組み込まれたので、無効なオペランドであるセクションに移されました。
オブジェクト名が見つかりません。
アクティブデータベースの中にないオブジェクト名が入力されました。オブジェクト名や、そのエイリアスのスペリングを修正し、
再チェックしてください。現在アクティブではないデータベースに含まれるオブジェクト名を入力するには、データベースをまず
開いてから、オブジェクト名を再度入力してください。
この式は後で評価する必要があるため、使用することはできません。
オブジェクト、式、または関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更でき
るだけで、前に変更することはできません。必要な評価時期を整理するには式を変更してください。
この関数は後で評価する必要があるため、使用することはできません。
オブジェクト、式、または関数を、評価可能になる前に評価しようとしました。評価時期関数は、評価時期をより後に変更でき
るだけで、前に変更することはできません。必要な評価時期を整理するには式を変更してください。
この関数はカスタム関数内で使用できません。
カスタム関数内で使用できない、ステートレスでない関数または式を使おうとしました。
このグループセクションは、条件オブジェクトが存在しないかまたは無効なため出力できませ
ん。
別の条件オブジェクトを選択してください。そのレポートには、すでにレポートにない、または変更された条件オブジェクトに基
づいたグループセクションが含まれているため、グループセクションに対し無効です。グループ化条件を見直して問題の原因
を特定し、修正してください。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
303
小計条件が不明です。
レポートの中に存在しない小計条件が入力されました。式に入力する小計は、レポートに既に存在する小計に対応するもの
でなくてはなりません。小計条件を変更し、再チェックしてください。
この関数への引数が多すぎます。
非配列関数の引数として配列が入力されました。たとえば、配列を囲む角かっこ (配列の使用時に必要な構文項目) を忘れ
ると、このような問題が起きます。
この配列に指定された項目が多すぎます。
配列の項目は最大 50 個までです。この制限を超える個数の項目が指定されました。配列の項目数を減らし、再チェックして
ください。
開いているファイル数が多すぎます。
CONFIG.SYS の FILES = 文で指定された数を超えるファイル(データベース、レポート)が開かれました。このエラーを防ぐに
は、使用するファイルを減らすか、FILES = 文でファイル数を増やしてください。
オペランドがない、または不正な場合に表示される警告
以下の警告は、式エディタが特定の種類のオペランド (式の演算の対象) の存在を予測している位置で、それ以外のオペラン
ドを検出した場合に表示されます。たとえば、式 5>a は、数値をテキストと比較しています。式エディタは、数値 5 の比較対象
には数値を予測します。数値以外の場合、式チェッカーは"ここには数値が必要です"という警告を表示します。
ここには論理値の配列が必要です。
ここには論理値が必要です。
ここには通貨値が必要です。
ここには通貨の配列が必要です。
ここには通貨範囲が必要です。
ここには日付の配列が必要です。
ここには日付が必要です。
ここには日付範囲が必要です。
ここには数値の配列が必要です。
304
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
ここには数値の配列または通貨の配列が必要です。
ここには数値、通貨値、論理値または文字列が入ります。
ここには数値、通貨値、論理値、日付または文字列が必要です。
ここには数値、通貨値、日付または文字列が必要です。
ここには数値、通貨値、または日付が必要です。
ここには数値オブジェクトまたは通貨値オブジェクトが必要です。
ここには数値が必要です。
ここには数値または通貨値が必要です。
ここには数値範囲が必要です。
ここには文字列の配列が必要です。
ここには文字列が必要です。
ここには文字列または値の配列が必要です。
ここには配列の値が必要です。
ここにはカスタム関数名‘sampleFunction’が入ります。
14.8 Crystal 構文による式の作成
この節では、式のさまざまな構成要素について説明します。ここでは、Crystal 構文および式の作成に使用できるテクニックを
紹介します。
14.8.1 Crystal 構文の概要
構文は、正しい式を作成するために使用するルールです。 1 つの構文で記述された式のほとんどは、別の構文でも記述でき
ます。
注記
Crystal Reports 2013 で作成されたレポートには、Basic 構文で記述された式が含まれていることがあります。 Crystal
Reports for Enterprise は既存の式の Basic 構文をサポートするため、レポートの処理を通常通り行うことができます。
ただし、新しい式を作成する場合は、Crystal 構文で記述する必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
305
14.8.2 Crystal 構文の基本
式の結果、つまり、式をレポートに配置したときに出力される値を"戻り値"と呼びます。Crystal Reports の式は、どれも値を
返す必要があります。たとえば、次の例は、値 10 を返す簡単な Crystal 構文の式です。
10
式が返す値は、サポートされている単純な 7 つのデータ型のいずれかになります。それらは、数値、通貨、文字列、論理値、
日付、時刻、および日時です。
注記
Crystal Reports は、範囲変数と配列変数もサポートしますが、範囲と配列の値を式から返すことはできません。
たとえば、ある会社では、出荷の際に 1,000 ドルを超える注文には保険をかけ、それ以下の注文には保険をかけないという
方法をとっているとします。
//A formula that returns a String value
If {Orders.Order Amount} >= 1000 Then
"Insured shipping"
Else
"Regular shipping"
ヒント
2 つのスラッシュに続くテキストは、この式を読む人のためのコメントです。Crystal 構文コンパイラは、このコメントを無視し
ます。
この式は、結果オブジェクト {Orders.受注額} の値が 1000 以上の場合は、テキスト文字列値 "“保険付き出荷”" を返し、そう
でない場合は、テキスト文字列値 "“通常出荷”" を返します。
14.8.2.1
Crystal 構文では大文字と小文字が区別されない
たとえば、キーワードの Then は、then または THEN と入力することもできます。これは、Crystal 構文の式で使用されるす
べての変数名、関数、およびキーワードに対して適用されます。
注記
文字列に関しては例外です。文字列 "“Hello”" と文字列 "“hello”" は同じではありません。
14.8.3 コメント(Crystal 構文)
式のコメントは、式に添付されたメモであり、式の構成と操作についての説明です。コメントは出力されず、式の機能には影響
しませんが、式ページには表示されます。コメントを添付することにより、式の目的を説明したり、記述された式に含まれる手
順を説明できます。
306
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
コメントは、2 つのスラッシュ(//)で始め、その後にコメントのテキストを続けます。スラッシュ(//)の後に続く同じ行のすべての
部分は、コメントの一部と見なされます。次に例を示します。
//This formula returns the string "Hello"
//This is another comment
"Hello" //Comments can be added at the end of a line
//Comments can occur after the formula text
14.8.4 オブジェクト (Crystal 構文)
レポートの作成に使用するオブジェクトの多くは、式の中でも参照できます。たとえば、データベースオブジェクト、パラメータオ
ブジェクト、積算合計オブジェクト、SQL 式オブジェクト、集計オブジェクト、およびグループ名オブジェクトは、いずれも式の中
で使用できます。また、式の中で別の式を参照することもできます。
レポートにオブジェクトを挿入する最も簡単な方法は、オブジェクトの挿入を求められたときに、結果オブジェクトのリストから
選択する方法です。この方法では、確実に正しい構文でそのオブジェクトを使用できます。
次のリンクをクリックして、目的の節にジャンプしてください。
14.8.4.1 式の中に表示されるオブジェクト
データベースオブジェクト、パラメータオブジェクト、式オブジェクト、積算合計オブジェクト、および SQL 式オブジェクトの名前
は、中かっこ ({}) で囲む必要があります。結果オブジェクト名はデータベースから取得されます。以下はその例です。
結果オブジェクト: {Employee.姓}
パラメータオブジェクト、式オブジェクト、積算合計オブジェクト、および SQL 式オブジェクトの名前は、オブジェクトの作成時に
指定します。
●
パラメータには疑問符も付きます: {?my parameters}
●
式には @ 記号が付きます: {@another formula }
●
積算合計オブジェクトには # 記号が付きます: {#my running total}
●
SQL 式オブジェクトには % 記号が付きます: {%my SQL expression}
集計オブジェクトとグループ名オブジェクトは、関数の呼び出しに似ています。ただし、実際はレポートオブジェクトを短く表記し
たものです。
●
合計の集計オブジェクト: sum({Orders.受注額}, {Orders.発送業者})
●
グループ名オブジェクト: GroupName({Orders.発送業者})
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
307
14.8.4.2 オブジェクトを使った式の例 (Crystal 構文)
Xtreme サンプルデータベースを使用して、受注日から製品を出荷するまでにかかる日数を算出するには、"受注日" 結果オ
ブジェクトから "出荷日" 結果オブジェクトを引きます。
//A formula that uses database fields
{Orders.Ship Date} - {Orders.Order Date}
ある製品の受注金額の合計を算出するには、製品の単価に受注量をかけます。
{Orders Detail.Unit Price} * {Orders Detail.Quantity}
元の単価の 80% の特売価格を算出するには、次のようにします。
{Orders Detail.Unit Price} * 0.80
14.8.5 式(Crystal 構文)
キーワード、演算子、関数、および定数値を組み合わせ、指定した型の値を算出するものを"式"と言います。以下はその例で
す。
//An expression that evaluates to the Number value 25
10 + 20 - 5
//An expression that evaluates to the String value
//"This is a string."
"This is a string."
Crystal 構文の式は、式の連なりで構成されます。最後の式の値がこの式が返す値になり、それが出力されます。式と式はセ
ミコロン(;)で区切る必要があります。
参照する項目をクリックしてください。
14.8.5.1
複数行の式(Crystal 構文)
式は 1 行に収まるのが普通ですが、必要な場合は 1 つの式を次の行に続けることもできます。
上の式は 5 つの式で構成されています。この式は、25 が式の中の最後の式の値なので、数値型の値 25 を返します。
例
//Expressions example
//The first expression. Its value is the Number
//value 30
10 + 20;
//The second expression. Its value is the String
308
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
//"Hello World". It takes up two lines.
"Hello " +
"World";
//The third expression. Its value is of Number type
{Orders Detail.Quantity} * 2 - 5;
//The fourth expression. Its value is of String type
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
"one unit";
//The fifth and final expression. Its value is the
//Number value 25
20 + 5
式の中の最後の式の後にもセミコロンを入れることができますが、これは任意です。たとえば、セミコロンを使用して、上の式
を次のように終了することもできます。
20 + 5;
式(Crystal 構文) [308 ページ]で示されている式の例の一部には、セミコロンが使用されていません。それは、それらの式が
1 つの式で構成されており、最後の式の後のセミコロンは任意だからです。Crystal 構文の式の多くは単一の式として作成で
きます。
"2 個以上"という文字列の後にはセミコロンがない点に注目してください。そこに実際にセミコロンを入れると、プログラムによ
ってエラーが知らされます。それは、セミコロンが式を区切るためのものであり、一方
Else
"one unit";
は別の式ではないからです。この部分を If から切り離すことはできません。実際この部分には、式が一定の状況の下で返す
値が記述されているので、If 式には不可欠です。
注記
この例では、式の中の最初の 4 つの式が最後の式に何の影響も及ぼさないので、実際に使用されるような式の例ではあ
りません。
14.8.5.2 式が後の式に及ぼす影響(Crystal 構文)
Crystal 構文の式が式の連なりから成り、各式の値が最終的な式の値にもなるということは、Crystal 構文を理解する上で最
も重要な点です。式を基本にするこの構文を使用すると、多数の機能を持つ簡潔な式を記述できます。
例
//First expression. It declares the Number variable x
//and then returns the value of an uninitialized
//Number variable, which is 0.
NumberVar x;
//Second expression. It assigns the value of 30 to x,
//and returns 30.
x := 30
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
309
上の式に最初の式がなかったとすると、上の式はエラーになります。それは、2 番目の式が数値型の変数 x を参照しており、
x が宣言されないと、プログラムが x を含む式を理解できないからです。
一般に、前の式の結果を後の式の結果に影響させるには、変数を使用します。詳細については、変数(Crystal 構文) [316
ページ]を参照してください。
14.8.5.3 If 式を使用する(Crystal 構文)
If 式は、Crystal 構文で最も広く使用される機能の 1 つです。If 式はまた、式の性質を理解するポイントを示してくれます。式
の前方にある If 式は、独立した式と見なします。この式が単一の式であり、そのためセミコロンを必要としない点に注意してく
ださい。
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
"one unit"
この式を変更して、条件を満たす場合は "“2 個以上”" と出力し、それ以外の場合は数字の 1 を出力するようにしたとします。
//An erroneous formula
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
1
この式はエラーになります。これは、この式に使われている値の型が異なるためです。"“2 個以上”" は文字列型の値であり、1
は数値型の値です。Crystal Reports では、1 つの式に含まれる値は常に単一の型である必要があります。
注記
この例を修正するには、CStr 関数を使用して、数値型の値 1 を文字列型の値に変換します。たとえば、CStr (1, 0) を呼び
出すと、数値 1 は文字列 "“1”" に変換されます。
//A correct formula
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
CStr (1, 0) //Use 0 decimals
If 式の詳細については、制御構造(Crystal 構文) [330 ページ]を参照してください。
14.8.6 代入(Crystal 構文)
代入演算子は、コロンと等号(:=)を使用します。
310
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
例
//Assign the Number value of 10 to the variable x
x := 10;
//Assign the String value of "hello" to the
//variable named greeting
greeting := "hello";
等価演算子(=)は、2 つの値が等しいかどうかの判定に使用します。実際は代入演算子を使用するつもりで、誤って等価演算
子を使用する間違いがよく起こります。このような間違いをすると、原因不明のエラーメッセージが生成されたり、また、等価演
算子を使用しても構文上は正しい場合が多いため、何もエラーメッセージが生成されなかったりします。以下はその例です。
greeting = "hello";
上の式は、変数 greeting が保持している値が値 “hello” と等しいかどうかを判定します。等しい場合、式の値は True であ
り、等しくない場合、式の値は False です。greeting が文字列型の変数なら、どちらの場合も、これは完全に正しい Crystal
構文の式です。
14.8.7 単純データ型(Crystal 構文)
Crystal Reports の単純データ型には、数値、通貨、文字列、論理値、日付、時刻、および日時があります。
14.8.7.1
数値(Crystal 構文)
カンマ区切り文字や通貨記号を付けないで、数値を入力します。通常、書式設定済みの数値は、式自体の中には入れず、式
の結果として表示します。
例
10000
-20
1.23
14.8.7.2 通貨(Crystal 構文)
通貨型の値を作成するには、ドル記号($)を使用します。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
311
例
$10000
-$20
$1.23
CCur 関数を使用することもできます。CCur の最初の C は"Convert"を表し、CCur は数値を通貨値に変換するために使用
されます。
CCur (10000)
CCur (-20)
CCur (1.23)
14.8.7.3 文字列(Crystal 構文)
文字列はテキストを保持するために使用されます。テキストは二重引用符(")または一重引用符(’)で囲む必要があります。ま
た、テキストを複数行に分けることはできません。二重引用符で囲んだ文字列に二重引用符を入れる場合は、2 つの二重引
用符を続けて入力します。同様に、一重引用符で囲んだ文字列に一重引用符を入れる場合は、2 つの一重引用符を続けて
入力します。
例
"This is a string."
"123"
"The word ""hello"" is quoted."
'This is also a string.'
'123'
'Last Year''s Sales'
文字列の左側で二重引用符を使用した場合は、文字列の右側でも二重引用符を使用する必要があります。一重引用符の場
合も同じです。次の例は正しくありません。
'Not a valid string."
文字の位置または文字位置の範囲を指定すると、文字列から個々の文字または部分文字列を抽出できます。負の値を指定
することもできます。その場合は、文字列の末尾から数えた位置を指定したことになります。
"hello" [2] //Equal to "e"
"hello" [-5] //Equal to "h"
"604-555-1234" [1 to 3] //Equal to "604"
"abcdef" [-3 to -1] //Equal to "def"
Left、Right、および Mid 関数を使用して、文字列から部分文字列を抽出することもできます。
312
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.8.7.4 論理値(Crystal 構文)
有効な論理値は次のとおりです。
True
False
注記
True の代わりに Yes、False の代わりに No を使用することもできます。
14.8.7.5 日付、時刻、および日時(Crystal 構文)
日時型は、日時、日付のみ、または時刻のみを保持できます。日付型は日付のみを保持し、時刻型は時刻のみを保持しま
す。日付型と時刻型は日時型より効率的なので、日時型の機能と柔軟性を必要としない場合には有効です。
日時リテラルを使用すると日時型の値を直接作成できます。日時リテラルは、日時を 2 つの # 記号で囲んで入力すると作成
できます。さまざまな書式がサポートされています。
注記
日時リテラルを複数行に分けることはできません。
例
#8/6/1976 1:20 am#
#August 6, 1976#
#6 Aug 1976 13:20:19#
#6 Aug 1976 1:30:15 pm#
#8/6/1976#
#10:20 am#
#10:20 am# は時刻型のように見え、#1976/8/6# は日付型のように見えますが、そうではありません。これらはどちらも日
時型であり、すべての日時リテラルは日時型になります。たとえば、#10:20 am# は、日付部分が NULL の日時型の値と見
なすことができます。これを時刻型に変換するには、CTime(#10:20 am#)を使用します。
日時リテラルの代わりに、CDateTime を使用して、文字列を日時に変換することができます。次はその例です。
CDateTime ("8/6/1976 1:20 am")
CDateTime ("10:20 am")
ただし、日時リテラルと CDateTime の使い方には重要な相違点があります。日時リテラルは、常に英語 (U.S.) の日付書式
を使用し、Crystal Reports を実行している特定のコンピュータの地域の設定を使用しません。したがって、上の日時リテラル
の例は、どのコンピュータでも機能します。一方、日本のシステムでは、次のように日時型を作成できます。
CDateTime ("22 aout 1997") //Same as #Aug 22, 1997#
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
313
日付型の値は CDate で、時刻型の値は CTime で作成できます。次がその例です。
CDate ("Aug 6, 1969")
CDate (1969, 8, 6) //Specify the year, month, day
//Converts the DateTime argument to a Date
CDate (#Aug 6, 1969#)
CTime ("10:30 am")
CTime (10, 30, 0) //Specify the hour, minute, second
CTime (#10:30 am#)
14.8.8 範囲データ型(Crystal 構文)
範囲変数は、連続した値を処理するために用意されています。範囲変数は、論理値型を除くすべての単純型で使用できま
す。つまり、使用できる型は、数値型範囲、通貨型範囲、文字列型範囲、日付型範囲、時刻型範囲、および日時型範囲です。
範囲を生成するには、To、_To、To_、_To_、UpTo、UpTo_、UpFrom、および UpFrom_ の各キーワードを使用します。一
般的に、To は範囲の開始点と終了点を限定する場合に使用し、UpTo と UpFrom は開始点または終了点の一方しか限定し
ない場合に使用します。下線は、端点を範囲に入れるかどうかを指示するために使用します。
数値型範囲の値の例
2 以上 5 以下の数値の範囲
2 To 5
2 より大きく 5 以下の数値の範囲
2 _To 5
5 以下の数値
UpTo 5
5 未満の数値
UpTo_ 5
日時型範囲の値の例
#Jan 5, 1999# To #Dec 12, 2000#
UpFrom #Jan 1, 2000#
314
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.8.8.1
範囲変数の式での使用(Crystal 構文)
Crystal Reports には、日付範囲を返す関数が 27 あります。たとえば、LastFullMonth 関数は、前月の 1 日から末日までの
すべての日付を含む日付値の範囲を返します。つまり、今日が 1999 年 9 月 15 日である場合、LastFullMonth は、範囲値
"CDate(#1999/8/1#)To CDate(#1999/8/31#)"と同じです。
範囲変数は、多くの場合、If または Select 式と共に使用されます。次の例では、試験の点数に基づいて学生の成績を求め
ています。90 点以上には “A” が与えられ、80 点以上 90 点未満には “B” が与えられます。
//Compute student letter grades
Select {Student.Test Scores}
Case UpFrom 90 :
"A"
Case 80 To_ 90 :
"B"
Case 70 To_ 80 :
"C"
Case 60 To_ 70 :
"D"
Default :
"F";
上の例では、Select 式を使用しています。Select 式については、「制御構造」で詳しく説明しています。ある値が範囲内にあ
るかどうかは、演算子 In を使って検査できます。以下はその例です。
5 In 2 To 10; //True
5 In 2 To_ 5; //False
5 In 2 To 5; //True
Maximum および Minimum 関数は、範囲の端点を判定するために使用します。
Maximum (2 To 10) //Returns 10
14.8.9 配列データ型(Crystal 構文)
Crystal Reports の配列は、すべて同じ型を持つ値の順序付きリストです。これらの値は、配列の"要素"と呼ばれます。配列
の要素は、任意の単純型または範囲変数になります。配列を作成する場合は、角かっこ([])を使用します。
例
3 つの数値型の値の配列です。最初の要素は 10、2 番目は 5、3 番目は 20 です。
[10, 5, 20]
7 つの文字列型の値の配列です。
["Sun", "Mon", "Tue", "Wed", "Thur", "Fri", "Sat"]
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
315
日時型範囲の 2 つの値から成る配列です。
[#Jan 1, 1998# To #Jan 31, 1998#,
#Feb 1, 1999# To #Feb 28, 1999#]
配列から個々の要素を抽出するには、目的の要素のインデックスを角かっこで囲んで指定します。これを配列の"添え字"とい
います。
[10, 5, 20] [2] //Equal to 5
配列の添え字に数値型範囲を使用することもできます。その結果は別の配列になります。以下はその例です。
[10, 5, 20] [2 To 3] //Equal to [5, 20]
配列は変数と共に使用すると便利です。そのため、配列については変数(Crystal 構文) [316 ページ]で詳しく説明します。変
数を使用すると、配列の個々の要素を変更したり、配列のサイズを変更してさらに多くの要素を格納できます。たとえば、詳細
レベルの式の中で、グローバルな配列変数に結果オブジェクト値を格納していくことができます。次に、グループフッタの式を
使用して、それらの値に基づいた計算を実行します。これにより、さまざまな集計操作をカスタマイズして実行できます。
14.8.10 変数(Crystal 構文)
ここでは、重要な構成要素である変数について説明し、変数を作成したり、それに値を代入する方法を示します。
14.8.10.1 変数の概要
変数は、特定のデータアイテム、つまり値を表し、その値のプレースホルダとして機能します。式の中に変数が見つかると、式
はその変数の値を検索し、その値を式の中で使用します。一定不変の定数値とは違い、変数には異なる値を繰り返し代入で
きます。変数に値が代入されると、その値は、その後別の値が代入されるまで保持されます。この柔軟性のため、変数は、使
用する前に宣言する必要があります。Crystal Reports は、宣言によって変数の存在とその使用目的を認識します。
例
顧客に関するレポートを地域別に作成するために、顧客の Fax 番号から地域コードを抽出した変数を作成します。次の例で
は、areaCode が変数です。
Local StringVar areaCode;
areaCode := {Customer.Fax} [1 To 3];
この例の最初の行が変数の宣言です。宣言では、変数に名前と型を指定します。結果オブジェクト {Customer.Fax 番号} は
文字列型のオブジェクトで、[1 To 3] を使用して、現在の値から先頭の 3 文字を抽出しています。次に、areaCode 変数にこ
の値を代入しています。
316
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.8.10.2 変数の宣言(Crystal 構文)
式の中では、まず変数を宣言しないと、その変数を使用することができません。
変数は、指定された型の値を保持できます。利用できる型は、7 つの単純型(数値型、通貨型、文字列型、論理値型、日付
型、時刻型、日時型)、6 つの範囲変数(数値型範囲、通貨型範囲、文字列型範囲、日付型範囲、時刻型範囲、日時型範囲)、
およびこれらの型の配列を保持する変数です。したがって、変数が保持できる型は全部で 26 種類になります。
変数を宣言する場合は、変数名も指定します。変数に、関数名、演算子名、または Crystal 構文で有効な他のキーワードと
同じ名前を付けることはできません。たとえば、変数に Sin、Mod、If などの名前を付けることはできません。なぜなら、Sin は
組み込みの関数、Mod は組み込みの演算子、If は組み込みのキーワードだからです。式ページでの式の入力では、組み込
みの関数の名前、演算子、その他のキーワードが区別しやすい色で強調表示されるため、変数名の矛盾を簡単に確認でき
ます。
宣言された変数は、式の中で使用できます。たとえば、初期値を代入できます。
Local NumberVar x; //Declare x to be a Number variable
x := 10; //Assign the value of 10 to x
注記
数値型の変数を宣言するためのキーワードの末尾には Var が付きます。これは、Crystal 構文のすべての変数型につい
ても同じです。
変数は 1 つの型の値しか保持できません。たとえば、変数が数値型の値を保持している場合、後でその変数を使って文字列
値を保持することはできません。
例
Local StringVar y;
y := "hello";
//OK- the Length function expects a String argument
Length (y);
//Error- y can only hold String values
y := #Jan 5, 1993#;
//Error- y can only hold String values
y := ["a", "bb", "ccc"];
//Error- the Sin function expects a Number argument
Sin (y);
1 つの式の中で、変数の宣言とその変数への値の代入を組み合わせることができます。以下はその例です。
Local
Local
Local
Local
NumberVar
StringVar
DateVar z
NumberVar
x := 10 + 20;
y := "Hello" + " " + "World";
:= CDate (#Sept 20, 1999#);
Range gradeA := 90 To 100;
この方が効率的であり、よくある変数の誤った初期化を防ぐことにも役立つので、優れたテクニックとしてお勧めします。
範囲変数の宣言および初期化の例をさらにいくつか示します。
Local NumberVar Range gradeA;
Local DateVar Range quarter;
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
317
gradeA := 90 To 100;
quarter := CDate (1999, 10, 1) To CDate (1999, 12, 31);
14.8.10.3 変数のスコープ(Crystal 構文)
変数のスコープは、ある式の中の変数を他の式でも使用できる程度を定義するものです。Crystal Reports には、ローカル、
グローバル、および共有の 3 つのレベルのスコープがあります。どの変数もスコープを持ち、スコープは変数の宣言時に指定
されます。
14.8.10.3.1 ローカル変数(Crystal 構文)
ローカルスコープを持つ変数は"ローカル変数"とも呼ばれ、キーワード Local を使って宣言します。先の例のように、Local に
続けて、末尾に Var が付いたデータ型の名前を指定し、さらに変数名を指定します。
ローカル変数が使用されるのは、1 つの式の 1 回ずつの評価の間に限られます。つまり、ある式から別の式のローカル変数
の値にアクセスすることはできません。
例
//Formula A
Local NumberVar x;
x := 10;
//Formula B
EvaluateAfter ({@Formula A})
Local NumberVar x;
x := x + 1;
EvaluateAfter({@Formula A})関数を呼び出すと、必ず Formula A が評価されてから Formula B が評価されます。
Formula A は値 10 を返し、Formula B は値 1 を返します。Formula B は Formula A の x にアクセスできないため、値 10
を使用することも、1 を加算することもできません。その代わり、Formula B は、初期化されていないローカル変数 x のデフォ
ルト値 0 を使用し、それに 1 を加えて 1 を得ます。
別の式の中には、名前は同じで型が異なるローカル変数を作成することもできます。たとえば、Formula A と Formula B の
型の宣言は矛盾しません。
//Formula C
Local StringVar x := "hello";
3 つのスコープのうち、最も効率的なのはローカル変数です。ローカル変数は、別の式の別のローカル変数と衝突することも
ありません。したがって、変数はできる限りローカルとして宣言するのが適切です。
318
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.8.10.3.2 グローバル変数(Crystal 構文)
グローバル変数は、メインレポート全体にわたって 1 つの値を同じメモリブロックに格納します。したがって、サブレポートの中
の式を除き、グローバル変数を宣言したすべての式でこの値を使用できます。グローバル変数は、次の例のように宣言しま
す。
Global StringVar y;
デフォルトで Global 変数が作成されるため、キーワード Global は省略することもできます。
StringVar y; //Same as: Global StringVar y;
グローバル変数は宣言しやすいですが、ローカル変数では十分でない場合にだけグローバル変数を使用することをお勧めし
ます。
グローバル変数は、メインレポート全体にわたって値を共有するので、ある式である型のグローバル変数を宣言し、次に別の
式で、名前が同じで型が異なるグローバル変数を宣言することはできません。
例
//Formula A
Global DateVar z;
z := CDate (1999, 9, 18)
//Formula B
NumberVar z;
z := 20
この場合は、最初に Formula A を入力して保存すると、Formula B をチェックしたり保存しようとしたときに、Crystal
Reports からエラーメッセージが返されます。数値型として宣言したグローバル変数 z は先に Formula A で日付型として宣
言されており矛盾するからです。
グローバル変数の使用
グローバル変数は、実際に出力されるレポートのグループ化とページ構造が式の結果に影響するような複雑な計算を実行す
る場合によく使用されます。そこでは、数個の式を作成して、それらをレポートの異なるセクションに配置し、それら別々の式を
グローバル変数を介して対話させます。
例
//Formula C
Global NumberVar x;
x := 10;
//Formula D
//Call the function WhileReadingRecords
WhileReadingRecords;
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
319
Global NumberVar x;
x := x + 1
Formula C をレポートヘッダに配置し、Formula D を詳細セクションに配置すると、Formula D が評価される前に Formula C
が評価されます。Formula C は一度だけ評価され、次に詳細セクションに表示される各レコードについて Formula D が評価
されます。Formula C は 10 を返します。最初の詳細レコードでは、Formula D は 11 を返します。これは、Formula C で設定
されたときから、x の値 10 が保持されているためです。Formula D は、この値に 1 を加算し、x を 11 に設定してから 11 を返し
ます。2 番目の詳細レコードでは、Formula D は、前に保持された x の値 11 に 1 を加算し、12 を返します。この処理が残りの
詳細レコードについても継続されます。
WhileReadingRecords を呼び出すと、Crystal Reports に対して、レポートの各レコードを読み取りながら Formula D を再
評価するように指示できます。Formula D には結果オブジェクトが含まれていないので、この関数を呼び出さない場合は、プ
ログラムはデータベースからレコードを読み取る前に Formula D を一度だけ評価します。その後レコードが次々と処理される
と、この式は、11、12、13、... ではなく、常に値 11 を返します。
式 x := x + 1 を x := x + {Orders Detail.数量} に置き換えた場合は、{Orders Detail.数量} を基にした積算合計を生成できま
す。ただし、Formula C があるので、合計は 0 からではなく 10 から始まります。この場合は、WhileReadingRecords の呼び
出しを省略できます。なぜなら、式に結果オブジェクトが含まれているので、自動的に再評価されるからです。
14.8.10.3.3 共有変数(Crystal 構文)
共有変数は、メインレポートおよびすべてのサブレポート全体にわたり、同じメモリブロックを使って変数の値を格納します。し
たがって、共有変数は、グローバル変数よりさらに汎用的です。共有変数を使用するには、まずメインレポートの式の中で、次
のように宣言します。
Shared NumberVar x := 1000;
次に、サブレポートの式の中で、次のように宣言します。
Shared NumberVar x;
共有変数を使用するには、メインレポートとサブレポートの間で値を交換し合う前に、共有変数を宣言し、それに値を代入して
おく必要があります。
14.8.10.4 配列変数の宣言(Crystal 構文)
配列変数を宣言するには、データ型名の後にキーワード Array を指定します。
例
//Declare x to be a Global variable of
//Number Array type
Global NumberVar Array x := [10 , 20, 30];
//cost is a Global variable of Currency Array type
//It is automatically Global since the scope specifier
320
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
//(one of Local, Global or Shared) is omitted.
CurrencyVar Array cost := [$19.95, $79.50, $110.00,
$44.79, $223.99];
//payDays is a Global variable of Date Array type
Global DateVar Array payDays := [CDate(1999, 5, 15),
CDate(1999, 5, 31)];
//y is a Shared variable of String Range Array type
Shared StringVar Range Array y := ["A" To "C",
"H" To "J"];
//days is a Local variable of String Array type
Local StringVar Array days;
days := ["Sun", "Mon", "Tue", "Wed", "Thu",
"Fri", "Sat"];
14.8.10.4.1 配列変数の使用(Crystal 構文)
配列の要素に値を代入したり、要素の値を使って他の計算に使用することもできます。
例
StringVar Array x := ["hello", "bye", "again"];
x [2] := "once"; //Now x is ["hello", "once", "again"]
//The expression below would cause an error if not
//commented out since the array has size 3
//x [4] := "zap";
//The formula returns the String "HELLO"
UpperCase (x [1])
Redim および Redim Preserve キーワードを使用すると、配列のサイズを変更して、配列に情報を追加できます。Redim
は、以前の配列の内容を削除してから配列のサイズを変更します。一方 Redim Preserve は、以前の内容を保持します。
Local NumberVar Array x;
Redim x [2]; //Now x is [0, 0]
x [2] := 20; //Now x is [0, 20]
Redim x [3]; //Now x is [0, 0, 0]
x [3] := 30; //Now x is [0, 0, 30]
Redim Preserve x [4]; //Now x is [0, 0, 30, 0]
"finished"
Local StringVar Array a;
Redim a [2];
//Assign a value to the first element of the array a
a[1] := "good";
a[2] := "bye";
//The & operator can be used to concatenate strings
a[1] & a[2] //The formula returns the String "goodbye"
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
321
14.8.10.4.2 配列と For ループの使用
配列は、よく For ループと共に使用されます。次の例では、配列 Array[10, 20, 30, ..., 100]を作成し、For ループでその配列
を使用しています。詳細については、For ループ(Crystal 構文) [336 ページ]を参照してください。
Local NumberVar Array b;
Redim b[10];
Local NumberVar i;
For i := 1 To 10 Do
(
b[i] := 10 * i
);
b [2] //The formula returns the Number 20
14.8.10.5 単純型のデフォルト値(Crystal 構文)
初期化されなかった変数は、単純型のデフォルト値を持ちます。一般に、単純型のデフォルト値に依存するのは、よいプログ
ラミングの習慣とは言えません。たとえば、式の中のローカル変数、レポートヘッダに配置した式のグローバル変数、およびメ
インレポートのレポートヘッダに配置した式の共有変数は、すべて初期化しましょう。
Redim キーワードを使って配列のサイズを変更した場合、要素には単純型のデフォルト値が入ります。If 式と Select 式を使
用する場合は、デフォルト値について知っておくと役立ちます。
14.8.10.5.1 デフォルト値
数値
0
通貨
$0
文字列
"" //The empty string
322
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
日付
Date (0, 0, 0) //The null Date value
時刻
NULL の時刻型値。これは、初期化されていない時刻型変数が保持する値です。
日時
NULL の日時型値。これは、初期化されていない日時型変数が保持する値です。
注記
初期化されていない範囲または配列変数の値に式を依存させることは、お勧めしません。
14.8.10.6 型の自動変換(Crystal 構文)
通常、Crystal Reports では、型変換関数を明示的に指定しない限り、ある型の値が期待されるところで別の型の値を使用
することはできません。以下はその例です。
Local StringVar postalCode;
//Error- assigning a Number value to a String
postalCode := 10025;
//OK - use the type conversion function CStr
//to create "10025"
postalCode := CStr (10025, 0);
ただし、自動的に変換される場合もあります。
●
数値型から通貨型への変換
●
日付型から日時型への変換
●
単純型から同じ単純型の範囲値への変換
たとえば、次の代入は正しく実行されます。
Local CurrencyVar cost;
//Same as: cost := $10
cost := 10;
Local DateTimeVar orderDate;
//Same as: orderDate := CDateTime (1999, 9, 23, 0, 0, 0)
orderDate := CDate (1999, 9, 23);
Local NumberVar Range aRange;
//Same as: aRange := 20 To 20
aRange := 20;
Local NumberVar Range Array aRangeArray;
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
323
//Same as : aRangeArray := [10 To 10, 20 To 25, 2 To 2]
aRangeArray := [10, 20 To 25, 2];
注記
逆の変換はされません。以下はその例です。
Local NumberVar num;
num := 5 + $10; //Error
//OK- convert to Number type using the CDbl function
num := CDbl (5 + $10) //Could also use ToNumber
5 は $5 に変換され、$10 に加算されて $15 になります。ただし、この通貨型の値は、自動的には数値型の変数 num に代入
できません。通貨型から数値型へ自動的には変換されないからです。同様に、通貨型の引数を受け取る関数には、通貨型の
代わりに数値型の引数を指定でき、その数値型の引数は通貨型に自動変換されます。反対に、数値型の引数を受け取る関
数には、あらかじめ CDbl を使って明示的に数値型に変換しない限り、通貨型の引数を指定できません。
14.8.11 関数(Crystal 構文)
式の中で関数を使用する場合は、関数の名前を入力し、必要な引数を渡します。たとえば、Length 関数は、文字列型の引数
を必要とし、その文字列の長さを求めます。
Local StringVar x := "hello";
Length (x) //The formula returns the Number 5
関数が要求する引数として正しくない型の引数を指定するとエラーになります。たとえば、Length(3)を呼び出すと、Length
は数値型の引数を受け付けないのでエラーになります。一部の関数は、異なる数の引数や、異なる型の引数を受け取ること
ができます。たとえば、CDate 関数は、1 つの文字列型の引数を受け取ると、それから 1 つの日付型値を形成します。また、
それぞれ年、月、日を保持する 3 つの数値型値を受け取ると、それらから 1 つの日付型値を形成します。詳細については、
日付、時刻、および日時(Crystal 構文) [313 ページ]を参照してください。
Mid 関数の例
Local StringVar x := "hello";
Local StringVar y;
//Start at position 2, go to the end of the string
y := Mid (x, 2); //y is now "ello"
//Start at position 2, extract 1 character
y := Mid (x, 2, 1) //y is now "e"
これらの関数のクラスは、数学、集計、財務、文字列、日付/時刻、日付範囲、配列、型変換、プログラミングショートカット、評
価時期、出力状況、ドキュメントのプロパティ、およびその他の関数です。条件付き書式設定式には、いくつかの固有の関数
があります。
324
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.8.11.1 レポート固有でない関数(Crystal 構文)
数学、財務、文字列、日付/時刻、型変換、およびプログラミングショートカットのグループに属する関数は、レポートに固有の
関数ではなく、十分な機能が揃ったプログラミング環境で普通に見られるものです。
たとえば、Length 関数は、これまでの Crystal 構文の関数であり、文字列の長さを算出する関数です。Crystal 構文は Len
も同義語としてサポートします。
14.8.11.2 集計関数(Crystal 構文)
集計関数のグループには、次のような集計オブジェクトを作成する関数があります。
Sum({Orders.Order Amount}, {Orders.Ship Via})
通常、集計オブジェクトは、パレットからのオブジェクトの挿入と [プロパティ] ビューでの変更によって作成されます。これによ
り、集計フィールドがアウトライン ビューに表示され、式に追加できるようになります。ただし、ほかにも集計フィールドを作成す
る方法があります。集計関数セクションにある関数の 1 つに適切な引数を指定すると、自分の式に専用の集計オブジェクトを
作成できます。ただし、集計オブジェクトで参照するレポート内のグループは、いずれもレポート内にすでに存在している必要
があります。
14.8.11.3 日付範囲(Crystal 構文)
このカテゴリの関数については、範囲データ型(Crystal 構文) [314 ページ]で説明されています。注意点を 1 つ追加すると、
これらの関数が生成する日付範囲は、現在の日付に依存します。たとえば、今日の日付が 1999 年 9 月 18 日である場合、
LastFullMonth は次の日付型範囲値になります。
CDate(#Aug 1, 1999#) To CDate(#Aug 31, 1999#)
通常、この機能は便利ですが、場合によっては、{Orders.受注日} などの結果オブジェクトを基準にして日付範囲を決定する
必要も生まれます。その場合は、代わりに日付/時刻関数を使用します。
以下はその例です。
Local DateVar d := CDate ({Orders.Order Date});
Local DateVar Range dr;
dr := DateSerial (Year(d), Month(d) - 1, 1) To
DateSerial (Year(d), Month(d), 1 - 1);
//At this point dr is the Date Range value holding
//the last full month before {Orders.Order Date}
DateSerial 関数を使用すると、特殊なケースに悩む必要なく、簡単に処理できます。この関数では、不正な日付が作成され
ることはありません。たとえば、DateSerial(1999, 1 - 1, 1)は 1998 年 12 月 1 日になります。
注記
上の例の {Orders.受注日} は実際には日時型のオブジェクトなので、CDate 関数を使って時刻部を切り捨てて日付に変
換しています。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
325
14.8.11.4 配列関数(Crystal 構文)
配列関数は、配列の要素を集計します。たとえば、配列に Sum 関数が適用されると、配列の要素の合計が返されます。たと
えば、次の式は 100 を返します。
Sum ([10, 20, 30, 40])
14.8.11.5 評価時期関数(Crystal 構文)
BeforeReadingRecords、WhileReadingRecords、WhilePrintingRecords、および EvaluateAfter は、レポートに固有の
関数です。これらの関数を使用すると、Crystal Reports に式を評価するタイミングを指示できます。
式を評価する必要があるのは、データベースからレコードを取得する前か、データベースからレコードを読み取っている間で、
しかもレコードがグループ化、並べ替え、および集計される前か、またはレコードがグループ化、並べ替え、または集計され、
レポートが出力されている間です。通常、Crystal Reports は、式が必要としている情報量に基づいて適切な評価時期を設定
します。たとえば、式が結果オブジェクトを使用している場合は、データベースからレコードを読み取った後でなければその式
を評価することができません。しかし、目的の結果を得るため、さらに評価時期を遅らせる必要がある場合もあります。例につ
いては、グローバル変数(Crystal 構文) [319 ページ]を参照してください。
14.8.11.6 出力状況関数(Crystal 構文)
これらの関数もレポートに固有の関数です。たとえば、{Orders.受注日} と表記すると、現在のレコードのオブジェクトの値が
参照されます。一方、Previous ({Orders.受注日}) と表記すると、直前のレコードの値が参照され、Next ({Orders.受注日})
と表記すると、次のレコードの値が参照されます。IsNull {Orders.受注日} は、オブジェクトの値が NULL であるかどうかを判
定します。
他の例として、レポートのページ区切り情報にアクセスする PageNumber と TotalPageCount があります。
14.8.11.7 ドキュメントのプロパティ関数(Crystal 構文)
これらの関数は、レポートに固有の関数で、レポートドキュメント全体を参照します。PrintDate や ReportTitle などがありま
す。
14.8.11.8 条件付き書式設定関数(Crystal 構文)
条件付き書式設定式を記述するには、式ワークショップで、式が影響を及ぼすレポートの領域またはオブジェクトを右クリック
して、[条件付き書式設定] をクリックします。条件を選択して、[式] ページで条件式を入力します。たとえば、{Customer.前年
度取引高} オブジェクトを書式設定して、100,000 ドルを超える取引高を緑、15,000 ドル未満の取引高を赤、その他の場合
を黒で表示できます。
326
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
例
//Conditional formatting example 1
If {Customer.Last Year's Sales} > 100000 Then
crGreen
Else If {Customer.Last Year's Sales} < 15000 Then
crRed
Else
crBlack
これはフォントの色の書式設定関数であるため、[色定数] リストがコメントリストとして [式] ページに表示されます。この例で
は 3 つの定数(crGreen、crRed、crBlack)を使用しています。色定数の代わりに、その実際の数値を使用することもできま
す。たとえば、crRed は 255、crGreen は 32768 です。ただし、色定数を使用した方がより理解しやすい式になります。
Crystal 構文の定数関数には、どれも先頭に "“cr”" が付きます。
Crystal 構文は、先頭に "“cr”" の付かない以前のバージョンの定数関数をまだサポートしています。たとえば、"“crRed”" の
代わりに "“Red”" を使用できます。ただし、"“cr”" 付きの定数関数を使用した方がまとまりができるので、こちらの使用をお勧
めします。
注記
一部の書式設定属性には定数関数を使用しません。たとえば、販売額が 50,000 ドル未満の場合は{Customer.前年度
取引高}の値を出力しない場合には、非表示属性について次のような条件付き書式設定式を作成します。
//Conditional formatting example 2
If {Customer.Last Year's Sales} < 50000 Then
True //suppress the value
Else
False //do not suppress the value
さらに簡潔に記述することもできます。
//Conditional formatting example 3 //equivalent to example 2
{Customer.Last Year's Sales} < 50000
前年度の取引高が 50,000 ドル未満の場合、次の式
{Customer.Last Year's Sales} < 50000
は真なので、式は True を返します。一方、前年度の取引高が 50,000 ドル以上の場合、次の式
{Customer.Last Year's Sales} < 50000
は偽なので、式は False を返します。
14.8.11.9 汎用の条件付き書式設定関数(Crystal 構文)
汎用の条件付き書式設定関数には次の 3 つがあります。
●
CurrentObjectValue
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
327
●
DefaultAttribute
●
GridRowColumnValue
これらの関数は、使用可能な場合に関数ツリーの先頭に表示されます。DefaultAttribute は任意の書式設定式に使用でき
ます。オブジェクト値の書式設定では、任意の書式設定式に CurrentObjectValue を使用でき、クロスタブ内のオブジェクト
値の書式設定では、任意の書式設定式に GridRowColumnValue を使用できます。
特に、CurrentObjectValue を使用すると、クロスタブのセルに対して、セルの値を基に条件付きの書式を設定できます。ま
た、GridRowColumnValue を使用すると、クロスタブのセルに対して、行見出しや列見出しの値を基に条件付きの書式を設
定できます。このような状況では、これら 2 つの関数は不可欠です。式言語には、ほかにこれらのオブジェクトの値を参照す
る方法がないからです。たとえば、値が 50,000 未満の場合に、クロスタブのセルを非表示にするとします。
//Conditional formatting example 4
CurrentObjectValue < 50000
14.8.12 演算子(Crystal 構文)
この章では、Crystal 構文に使用する演算子の例を示します。
14.8.12.1 算術演算子
算術演算子には、加算 (+)、減算 (-)、乗算 (*)、除算 (/)、整数除算 (\)、割合 (%)、剰余 (Mod)、負号 (-)、および累乗 (^)
があります。算術演算子は、数値、数値変数、数値オブジェクト、および数値関数を組み合わせて別の数値を算出するために
使用されます。
例
//Outstanding preferred stock as a percent of
//common stock
{Financials.Preferred Stock} %
{Financials.Common Stock};
//The square root of 9, Sqr(9) is 3
//The formula returns 17
7 + 2 * 3 - 2 + Sqr(6 + 3) * Length("up");
14.8.12.1.1 優先順位(Crystal 構文)
複数の演算子を含む算術式を作成する場合は、式の中のさまざまな要素をプログラムが評価する順序が重要になります。一
般に、プログラムは、左から右に式を評価していきます。さらに、基本的な数学の優先順位にも従います。
328
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
例
最初に乗算と除算が左から右に実行され、その次に加算と減算が実行されます。
たとえば、5 + 10 * 3 = 5 + 30 = 35 です。かっこを使用すると、この優先順位を変更できます。たとえば、(5 + 10)* 3 = 15 *
3 = 45 です。優先順位が不明確な場合は、かっこを使用して意図を明確にすることをお勧めします。
14.8.12.1.2 算術演算子の一覧(優先順位の高い順)
●
累乗(^)
●
負号(-)
●
乗算(*)、除算(/)、比率(%)
●
整数除算(\)
●
剰余(Mod)
●
加算(+)と減算(-)
14.8.12.2 比較演算子(Crystal 構文)
比較演算子には、"等しい"(=)、"等しくない"(<>)、"より小さい"(<)、"以下"(<=)、"より大きい"(>)、および"以上"(>=)があり
ます。
比較演算子は、通常、If 式などの制御構造の中で条件部分の真偽を決定するため、オペランドを比較する場合に使用しま
す。比較演算子全体を 1 つのグループとして見ると、その優先順位は算術演算子より低くなります。したがって、2 + 3 < 2 * 9
という式は(2 + 3)<(2*9)と同じです。
14.8.12.3 論理演算子(Crystal 構文)
論理演算子を優先順位の高いものから挙げると、論理否定(Not)、論理積(And)、論理和(Or)、排他的論理和(Xor)、Eqv、
および Imp となります。
通常、論理演算子は比較演算子と共に使用され、制御構造の条件部分を生成します。論理演算子全体を 1 つのグループと
して見ると、その優先順位は比較演算子より低くなります。したがって、2 < 3 And 4 >= -1 という式は(2 < 3)And(4 >= -1)と
同じです。
14.8.12.4 NULL オブジェクトおよび IsNull の使い方 (Crystal 構文)
Crystal Reports が式の中に NULL 値のオブジェクトを見つけた場合は、通常、その式の評価を直ちに中止し、値を算出しま
せん。式の中で NULL オブジェクト値を処理する必要がある場合は、それを目的とした特殊関数である IsNull、
PreviousIsNull、または NextIsNull の 1 つを使って明示的に処理する必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
329
例
{Product.色} オブジェクトには、"赤" や "黒" などの基本色と、"メタリックグレー" や "エメラルドグリーン" など、特徴を説明し
た 2 つの単語から成る色が入っています。基本色の場合は"基本色"と出力し、それ以外の色の場合は"その他"と出力する
式を作成するとします。
If InStr({Product.Color}, " ") = 0 Then
formula = "basic"
Else
formula = "fancy"
InStr 関数を呼び出すと、{Product.色}文字列内でスペースが検索されます。スペースが見つかった場合、この関数はその
スペースの位置を返します。見つからなかった場合は、0 を返します。基本色の場合は、どれもスペースのない単語で表され
るため、InStr は 0 を返します。
Guardian Chain Lock などの一部の製品には色の値が記録されていないので、データベース内のそのレコードの {Product.
色} オブジェクトは NULL 値になっています。したがって、Guardian Chain Lock レコードの横には何も文字が出力されませ
ん。
ここでは、IsNull を使って上の例を修正します。
If IsNull({Product.Color}) Or
InStr({Product.Color}, " ") = 0 Then
"basic"
Else
"fancy"
演算子に関して、Crystal Reports で次の条件
IsNull({Product.Color}) Or
InStr({Product.Color}, " ") = 0
が評価される場合は、最初に IsNull ({Product.色}) が評価されます。これが真であると判定された場合は、条件全体が真に
なることがわかるので、次のもう 1 つの条件を検査する必要はありません。
InStr({Product.Color}, " ") = 0
つまり、Crystal Reports は、式全体の結果を判定できた場合、そこで論理式の評価を中止します。次の例では、denom が
0 の場合に 0 による除算が行われないようにしています。
Local NumberVar num;
Local NumberVar denom;
...
If denom <> 0 And num / denom > 5 Then
...
14.8.13 制御構造(Crystal 構文)
制御構造を持たない式は、その式が評価されるとき、式の中の各式が正確に 1 回だけ実行されます。式は、式の中の最初の
式から最後の式まで順番に実行されます。制御構造を使用すると、この固定された順序を変更できます。選択した制御構造
330
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
により、いくつかの式をスキップしたり、一定の条件が満たされる限り、いくつかの式を繰り返し評価したりできます。制御構造
はビジネスロジックを表現する主要な手段であり、多くのレポート式は制御構造を幅広く使用しています。
14.8.13.1 If 式(Crystal 構文)
If 式は、最も便利な制御構造の 1 つです。If 式を使用すると、条件が真の場合にある式を評価し、条件が偽の場合にまた別
の式を評価できます。
注記
If 文の正しい Crystal 構文は、if <condition> then <then> else <else> で、<condition>、<then>、お
よび <else> はすべて単一の式です。<then> または <else> の後に複数の式を使用する場合は、それらをかっこで囲
んで 1 つの式にしてください。以下はその例です。
Global stringVar lastValue;
if {Branch_View.Branch_ID} = lastValue
then
(lastValue := {Branch_View.Branch_ID};
crRed;)
else
(lastValue := {Branch_View.Branch_ID};
crBlack;)
注記
条件式を使用する場合は、必ず Else キーワードを含めてください。含まれていないと、If 条件に合致しない値が元の書式
に残る場合があります。これを回避するには、DefaultAttribute 関数を使用します(If...Else
DefaultAttribute)。
注記
If 式を含むレコード選択式を作成する場合は、必ず Else キーワードを含めます。Else キーワードを含めないと、レコードが
まったく返されないか、予期しないレコードが返されます。たとえば、If {parameter} = "less than 100" then
{object} < 100" のようなレコード選択式は False と評価され、レコードが返されません。この問題を解決するには、
Else True を入れて式を完成します。
例
ある会社で、営業部の社員には 6 パーセントのボーナスを支給し、それ以外の社員には 4 パーセントのボーナスを支給する
とします。次の式では、If 式を使ってこれを実現しています。
//If example 1
If {Employee.Dept} = "Sales" Then
{Employee.Salary} * 0.06
Else
{Employee.Salary} * 0.04
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
331
この例で、条件{Employee.役職}="営業"が真と評価された場合は、
{Employee.Salary} * 0.06
式が処理されます。真と評価されなかった場合は、Else に続く式、つまり
{Employee.Salary} * 0.04
が処理されます。
別の会社では、社員に 4 パーセントのボーナスを支給し、ボーナスの最低額を 1,000 ドルにするとします。次の例でその方
法を示します。Else 句がないことに注目してください。この句はオプションで、この場合は必要ありません。
//If example 2
Local CurrencyVar bonus := {Employee.Salary} * 0.04;
If bonus < 1000 Then
bonus := 1000;
//The final expression is just the variable 'bonus'.
//This returns the value of the variable and is the
//result of the formula
bonus
例 2 と同じ結果を得る別の方法では、Else 句を使用します。
//If example 3
Local CurrencyVar bonus := {Employee.Salary} * 0.04;
If bonus < 1000 Then
1000
Else
bonus
次に、この会社でボーナスの最高額を 5,000 ドルにするとします。今度は、Else If 句を使用する必要があります。次の例で
は、Else If 句が 1 つしかありませんが、必要なだけ追加することもできます。1 つの If 式に使用できる Else 句は 1 つだけな
ので注意してください。Else 句は、If および Else If のどの条件も真でない場合に実行されます。
//If example 4
Local CurrencyVar bonus := {Employee.Salary} * 0.04;
If bonus < 1000 Then
1000
Else If bonus > 5000 Then
5000
Else
bonus
14.8.13.1.1 If の例(Crystal 構文)
ある会社で、社員が支払う予定の納税額を概算し、適切なメッセージを出力するとします。所得が 8,000 ドル未満の場合は
非課税、8,000 ドル以上 20,000 ドル未満の場合は 20%、20,000 ドル以上 35,000 ドル未満の場合は 29%、35,000 ド
ル以上の場合は 40% が課税されます。
//If example 5
Local CurrencyVar tax := 0;
Local CurrencyVar income := {Employee.Salary};
Local StringVar message := "";
If income < 8000 Then
332
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
(
message := "no";
tax := 0
)
Else If income >= 8000 And income < 20000 Then
(
message := "lowest";
tax := (income - 8000)*0.20
)
Else If income >= 20000 And income < 35000 Then
(
message := "middle";
tax := (20000 - 8000)*0.20 + (income - 20000)*0.29
)
Else
(
message := "highest";
tax := (20000 - 8000)*0.20 + (35000 - 20000)*0.29 +
(income - 35000)*0.40
);
//Use 2 decimal places and the comma as a
//thousands separator
Local StringVar taxStr := CStr (tax, 2, ",");
"You are in the " & message & " tax bracket. " &
"Your estimated tax is " & taxStr & "."
注記
計算の手順を単純化するために変数を使用しています。また、条件の 1 つが満たされた場合には、2 つの式が実行されま
す。1 つは tax 変数への代入、もう 1 つは message 変数への代入です。条件の評価の結果として複数の式を実行する方
法はよく使用されます。
14.8.13.1.2 If 式の考察(Crystal 構文)
If 式は 1 つの式です。つまり、If 式が評価されると、If 式は指定された型の値を返します。Else 句がなく、条件が真でない場
合、返される値は、その型のデフォルト値になります。以下はその例です。
If Length ({Employee.First Name}) < 5 Then
"short"
この If 式は文字列型の値を返します。社員の名前が 5 文字未満の場合は、文字列値 "“5 文字未満”" が返され、それ以外の
場合は、空の文字列 "" が返されます。
別の例を考えます。
If Year({Orders.Order Date}) >= 1995 Then
{Orders.Order Date}
この If 式は、1994 年以前の受注日に対しては NULL の日時型値を返します。日付型の値ではなく日時型の値が返されるの
は、{Orders.受注日} が日時型の結果オブジェクトだからです。Crystal Reports は NULL の日時型値を出力しないため、上
の式をレポートに配置すると、1994 年以前の受注日に対する式は空欄になります。NULL の時刻型値と NULL の日付型値
も同じように動作します。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
333
次の例は、If 条件の結果として、複数の式を実行するためのかっこの使い方を説明するものです。ある会社では、3 日以内に
出荷する注文には 5 パーセントの送料を請求し、それ以外の注文には 2 パーセントの送料を請求するとします。それに合わ
せて、"“至急: 送料 $100.00”" や "“通常: 送料 $20.00”" などのメッセージを出力します。
Local StringVar message;
Local CurrencyVar ship;
If {Orders.Ship Date} - {Orders.Order Date} <= 3 Then
(
message := "Rush";
//A semicolon at the end of the next line
//is optional
ship := {Orders.Order Amount} * 0.05
) //A semicolon cannot be placed here
Else
(
message := "Regular";
ship := {Orders.Order Amount} * 0.02;
);
//The preceding semicolon is required to separate the
//If expression from the final expression below
message & " shipping is " & CStr (ship)
かっこを使って複数の式をグループ化した場合は、そのグループ全体で 1 つの式と見なされるので、そのグループの値と型
は、かっこ内の最後の式の値と型になります。
//The parentheses group expression as a whole has
//Currency type
(
//The first expression in the parentheses has
//String type
message := "Rush";
//The second and final expression in parentheses
//has Currency type
ship := {Orders.Order Amount} * 0.05;
)
したがって、たとえば、次の式はエラーになります。なぜなら、If 式の Then 部分は通貨型の値を返し、Else 部分は文字列型
の値を返しているからです。If 式は 1 つの式であり、必ず 1 つの型の値を返す必要があるので、この式は誤りです。
//An erroneous formula
Local StringVar message;
Local CurrencyVar ship;
If {Orders.Ship Date} - {Orders.Order Date} <= 3 Then
(
message := "Rush";
ship := {Orders.Order Amount} * 0.05
)
Else
(
//The following 2 lines were interchanged
ship := {Orders.Order Amount} * 0.02;
message := "Regular";
);
message & " shipping is " & CStr (ship)
式の順序を考慮しないでエラーのある式を修正するには、どの条件分岐でも、If 式が同じ型の定数値を返すようにする方法
があります。たとえば、次のように、If 式が数値型の値 0 を返すようにします。
//Repaired the erroneous formula
Local StringVar message;
Local CurrencyVar ship;
If {Orders.Ship Date} - {Orders.Order Date} <= 3 Then
334
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
(
message := "Rush";
ship := {Orders.Order Amount} * 0.05;
0
)
Else
(
ship := {Orders.Order Amount} * 0.02;
message := "Regular";
0
);
message & " shipping is " & CStr (ship)
14.8.13.2 Select 式(Crystal 構文)
Select 式の機能は If 式と似ています。しかし、Select 式を使用すると、より明確で繰り返しの少ない式を作成できる場合が
あります。たとえば、{Customer.Fax 番号} オブジェクトを評価して、地域コードがワシントン州 (WA) のもの (206、360、
509) か、それともカナダのブリティッシュコロンビア州 (BC) のもの (604、250) かを判定するとします。
//Select example 1
Select {Customer.Fax}[1 To 3]
Case "604", "250" :
"BC"
Case "206", "509", "360" :
"WA"
Default :
"";
Select キーワードの直後にある式を、Select 条件と言います。上の例では、{Customer.Fax 番号}[1 To 3]です。Select 式
は、Select 条件と一致する最初の Case を見つけ、それに続く式をこの Case に対応するコロンまで実行します。前にある
Case のどれも Select 条件に一致しない場合は、Default が適用されます。Default の後にもコロンがあることに注意してくだ
さい。
//Same effect as Select example 1
Local StringVar areaCode := {Customer.Fax}[1 To 3];
If areaCode In ["604", "250"] Then
"BC"
Else If areaCode In ["206", "509", "360"] Then
"WA"
Else
"";
例
次の式は、映画が受けたアカデミー賞のノミネート数を"低い"、"中間"、"高い"、および"最高"というカテゴリにグループ化し、
式の結果として考えられる値を Case ラベルの後にリストしています。
//Select example 2
Select {movie.NOM}
Case 1,2,3, Is < 1 :
(
//Can have expression lists by using
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
335
//parentheses
10 + 20;
"low"
)
Case 4 To 6, 7, 8, 9 :
"medium"
Case 10 :
"high"
Default :
"extreme"
この Select 式の Default 句は省略できます。Default 句を指定せず、さらにどの Case も一致しなかった場合、Select 式
は、その式の型のデフォルト値を返します。たとえば、上の例で Default 句を指定せず、さらに{movie.NOM} = 11 の場合、空
の文字列" "が返されます。Select 式は 1 つの式で、If 式の考察(Crystal 構文) [333 ページ] セクションで説明したのと類似
のコメントが同様に適用されます。
14.8.13.3 For ループ(Crystal 構文)
For ループを使用すると、いくつかの式を繰り返し評価できます。これは、式の評価中に、各式が多くても一度しか評価されな
い If や Select 式とは対照的です。式を評価する回数があらかじめわかっている場合は、For ループが最適です。
14.8.13.3.1 例で見る For ループの構文
例1
{Customer.顧客名}の文字列を反転するとします。たとえば、"“City Cyclists”" を "“stsilcyC ytiC”" にします。
//Reverse a string version 1
Local StringVar str := "";
Local NumberVar strLen :=
Length ({Customer.CUSTOMER_NAME});
Local NumberVar i;
For i := 1 To strLen Do
(
Local NumberVar charPos := strLen - i + 1;
str := str + {Customer.CUSTOMER_NAME}[charPos]
);
str
{Customer.顧客名} オブジェクトの現在の値が "“Clean Air”" である場合のこの式の機能を検証します。変数 strLen に
は、"“Clean Air”" の長さ 9 が代入されます。変数 i は、For ループが繰り返されるたびにその値が変化することから、"For
カウンタ変数" と呼ばれます。つまり、For カウンタ変数は、ループの繰り返し回数をカウントするために使用されます。For
ループは、最初に i が 1、次に i が 2、次に i が 3 という具合に、最後に i が 9 に等しくなるまで 9 回繰り返されます。最初の
繰り返しで、{Customer.顧客名}の 9 番目の文字が空の文字列変数 str に追加されます。したがって、str は、最初の繰り返
しの後で "“r”" になります。2 回目の繰り返しで、{Customer.顧客名}の 8 番目の文字が str に追加されることから、str は
"“ri”" になります。9 回目の繰り返しの後に str が反転文字列 "“riA naelC”" になるまで、この処理が続行されます。
336
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
例2
次の例では、Step 句に負のステップ値 -1 を使用して、上の式をより単純化しています。"“Clean Air”" の例では、最初の繰り
返しで i は 9、2 回目は 8、3 回目は 7 という具合に、最後に 1 になるまで続きます。
//Reverse a string version 2
Local StringVar str := "";
Local NumberVar strLen :=
Length ({Customer.CUSTOMER_NAME});
Local NumberVar i;
For i := strLen To 1 Step -1 Do
(
str := str + {Customer.CUSTOMER_NAME}[i]
);
str
例3
最も簡単な形式は、次に示すように、組み込み関数 StrReverse を使用するものです。
//Reverse a string version 3
StrReverse ({Customer.CUSTOMER_NAME})
Crystal Reports に組み込まれている文字列関数は、従来 For ループなどのループを使って処理されていた文字列操作の
多くを処理できます。ただし、For ループは最も柔軟に文字列を処理できる方法であり、配列を処理するための機能にも優れ
ています。組み込み関数では目的とする処理をこなせない場合には、For ループが不可欠となることがあります。
14.8.13.3.2 For ループの例
Crystal Reports の文字列処理機能をさらに多く使用した例を下に示します。シーザー暗号は、ジュリアスシーザーに由来す
ると伝えられる単純な暗号です。この暗号では、単語内の各文字がアルファベット順に 5 文字だけ後の文字に置換されます。
たとえば、"“Jaws”" は "“Ofbx”" になります。"“w”" が "“b”" に置き換えられていることに注意してください。これは、"“w”" の 5
つ後の文字はないため、最初に戻って続けられるからです。次の式では、シーザー暗号を Xtreme データベースの
{Customer.顧客名} オブジェクトに適用しています。
//The Caesar cipher
//The input string to encrypt
Local StringVar inString := {Customer.CUSTOMER_NAME};
Local NumberVar shift := 5;
Local StringVar outString := "";
Local NumberVar i;
For i := 1 To Length(inString) Do
(
Local StringVar inC := inString [i];
Local StringVar outC;
Local BooleanVar isChar :=
LowerCase(inC) In "a" To "z";
Local BooleanVar isUCaseChar :=
isChar And (UpperCase (inC) = inC);
inC := LCase(inC);
If isChar Then
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
337
(
Local NumberVar offset :=
(Asc(inC) + shift - Asc("a")) Mod
(Asc("z") - Asc("a") + 1);
outC := Chr(offset + Asc("a"));
If isUCaseChar Then outC := UpperCase(outC)
)
Else
outC := inC;
outString := outString + outC
);
outString
上の例では、For ループの式ブロック内に If 式がネストされています。この If 式は、1 文字ずつを正確に置換していく細かい
操作を担当しています。たとえば、アルファベットは区切り記号やスペースとは別の方法で処理され、区切り記号やスペース
は暗号化されません。全体としての要点は、制御構造を他の制御構造内にネストできること、および制御構造の式ブロックに
複数の式をかっこで囲んで挿入できることです。
14.8.13.3.3 Exit For の使用(Crystal 構文)
For ループから抜けるには、Exit For を使用します。次の例では、グローバル配列 names から "“Fred”" を検索しています。
その名前が見つかった場合は、配列内のインデックスが返されます。見つからなかった場合は、-1 が返されます。
たとえば、名前の配列が
["Frank", "Helen", "Fred", "Linda"]
である場合、次の式は 3 を返します。
Global StringVar Array names;
//The names array has been initialized and filled
//in other formulas
Local NumberVar i;
Local NumberVar result := -1;
//The UBound function returns the size of its array
//argument
For i := 1 to UBound (names) Do
(
If names [i] = "Fred" Then
(
result := i;
Exit For
)
);
result
For ループを 1 つの式として見た場合、これは常に論理値型の値 True を返します。したがって、For ループを式の中の最後
の式にすることはまずないはずです。そのような式にすると、目的の結果ではなく、値 True が表示されるだけだからです。
14.8.13.4 While ループ (Crystal 構文)
もう 1 つのループとして While ループがあります。While ループは、決まった文のブロックを不特定回数実行する場合に使用
できます。
338
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.8.13.4.1 While ループの 2 つの形式
While ループの形式
説明
While ... Do
While ... Do ループは、条件
例
(condition)を評価し、条件が真の場合
は、Do に続く式(expression)を評価し
While
condition
Do
expression
ます。
その評価が完了すると、条件が再び評
価され、条件が真の場合は、再び Do
に続く式が評価されます。条件が偽とな
るまで、この処理が繰り返されます。
Do ... While
Do ... While ループは、式
Do
(expression)を必ず 1 回評価します。
次に条件が評価され、条件が真の場合
は、式が再び評価されます。条件が偽
となるまで、この処理が繰り返されま
す。
expression
While
condition
注記
While ループは、ループから直ちに抜けるための Exit While 文をサポートしています。Exit While の使い方は、For ルー
プの中の Exit For と似ています。
注記
For ループと同様に、While ループを 1 つの式として見た場合、これは常に論理値型の値 True を返します。
14.8.13.4.2 While ... Do ループの例(crystal 構文)
次の例では、入力文字列内に現れる最初の数字を検索します。数字が見つかった場合はその位置を返し、見つからなかった
場合は -1 を返します。この例の場合、入力文字列には明示的に文字列定数が設定されていますが、文字列型の結果オブジ
ェクトを代入することもできます。この例では、入力文字列 "“The 7 Dwarves”" に対して、式は 5 を返します。これは数字 7 の
位置です。
Local StringVar inString := "The 7 Dwarves";
Local NumberVar strLen := Length (inString);
Local NumberVar result := -1;
Local NumberVar i := 1;
While i <= strLen And result = -1 Do
(
Local StringVar c := inString [i];
If NumericText (c) Then
result := i;
i := i + 1;
);
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
339
result
14.8.13.5 ループの安全装置(Crystal 構文)
無限ループが原因でレポート処理が停止してしまうことを防ぐための安全装置があります。式を 1 回評価する間に、最高で
100,000 回まではループ条件の評価が可能です。次の例でこれを説明します。
以下はその例です。
Local NumberVar i := 1;
While i <= 200000 Do
(
If i > {movie.STARS} Then
Exit While;
i := i + 1
);
20
{movie.STARS}が 100,000 より大きい場合、すなわち(i <= 200000)より大きくなる場合は、最大の評価回数を超えてル
ープ条件が評価されるので、エラーメッセージが表示されます。30,000 以下の場合は、ループは可能です。
注記
安全装置は、個々のループではなく、式単位で適用されます。以下はその例です。
Local NumberVar i := 1;
For i := 1 To 40000 Do
(
Sin (i);
);
i := 1;
While i <= 70000 Do
(
i := i + 1;
)
この式でも安全装置が作動します。100,000 という数字は、式の中でループ条件が評価される合計回数を意味します。この
式はそのような評価を 40001 + 70001 回実行するため安全装置が働きます。
14.8.13.6 Option ループ (Crystal 構文)
Option Loop 文を使用すると、1 つの式の 1 回の評価におけるループ条件の評価の最大回数を指定できます。この文は、特
定の式に対してデフォルトの最大ループ回数 100,000 が十分でない場合にだけ使用します。
注記
Option Loop 文は、他の文より前に使用する必要があります。
340
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
式
14.8.13.6.1 Option Loop の構文
Option Loop の構文は次のとおりです。
Option Loop <maxIterations>
<maxIterations> は、1 つの式の 1 回の評価におけるループ条件の評価の最大回数です。この値は正の整数にする必
要があります。
以下はその例です。
//option loop example
option loop 256;
//make name upper case
Local StringVar outString;
Local StringVar inString := {Customer.CUSTOMER_NAME};
Local NumberVar i;
For i:=1 to Length(inString) do
outString := outString + upperCase(inString[i]);
outString
{Customer.顧客名} が 255 より大きい場合、"“ループの評価回数が可能な最大回数を超えました。”" というエラーメッセージ
が表示されます。
14.8.14 制限(Crystal 構文)
参考として、式言語のサイズ制限について説明します。
●
文字列型の定数、文字列型の変数が保持する文字列型の値、関数が返す文字列型の値、または文字列型配列の文字
列型要素の最大長は 65,534 文字です。
●
配列要素の最大サイズは 1000 です。
●
関数に渡す引数の最大数は 1000 です。これは、引数の数が不定な Choose などの関数に適用されます。
●
1 つの式の 1 回の評価におけるループ条件の評価の最大回数は 100,000 です。この正確な意味については、ループの
安全装置(Crystal 構文) [340 ページ]を参照してください。この制限を変更するには、Option ループ (Crystal 構文)
[340 ページ] 文を使用できます。
●
関数のサイズに制限はありません。
SAP Crystal Reports for Enterprise ユーザガイド
式
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
341
15
サブレポート
サブレポートとは、別のレポートに含まれるレポートです。サブレポートを使用すると、関連のないレポートを組み合わせて 1
つのレポートにできます。また、他の方法ではリンクできないデータどうしを統合して、単一のレポートに同じデータをさまざま
なビューで表示できます。この節では、サブレポートを作成および使用する方法を説明します。
15.1
サブレポートの概要
サブレポートとは、別のレポートに含まれるレポートです。サブレポートを作成する過程は、通常のレポートを作成する過程と
同様です。サブレポートには、メインレポートのほとんどの特性が備わっています。サブレポートとメインレポートの違いは、次
のことだけです。
●
サブレポートをメインレポートに要素として挿入した場合、サブレポートは単独では機能しません。
●
サブレポートは、レポートの任意のセクションに配置できます。また、サブレポート全体がそのセクションに出力されます。
●
サブレポートが別のサブレポートを含むことはできません。
●
サブレポートには、ページヘッダセクションやページフッタセクションはありません。
サブレポートは、通常は以下の目的で使用します。
●
関連のないレポートを組み合わせて単一のレポートに組する場合。
●
単一のレポート内で、同じデータを異なる方法で表示する場合。
注記
サブレポートを含むレポートのパフォーマンスを向上させるには、通常のインプレイスのサブレポートではなく、オンデマンド
のサブレポートを使用します。
関連情報
サブレポートによる関連のないレポートの組み合わせ [350 ページ]
レポートのデータを異なるビューで表示 [353 ページ]
オンデマンドサブレポートの作成 [351 ページ]
15.2 リンクされていないサブレポートとリンクされたサブレポート
15.2.1
リンクされていない
リンクされていないサブレポートは、独立しており、そのデータをメインレポートのデータと結合させることはできません。
342
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
リンクされていないサブレポートでは、1 つのレポートのレコードが別のレポートのレコードと一致するかどうかを試されること
はありません。リンクされてないサブレポートでは、メインレポートと同じデータを使用する必要はありません。同じデータソー
スを使用することも、まったく異なるデータソースを使用することもできます。基になるデータソースにかかわらず、それらのレ
ポートは無関係のものとして扱われます。
15.2.2 リンクされたサブレポート
リンクされたサブレポートで使用するデータは、メインレポートのデータに対応しています。サブレポートのデータは、メインレポ
ートのデータと組み合わされます。顧客情報でメインレポートを作成し、注文情報でサブレポートを作成して、これらをリンクす
ると、顧客ごとのサブレポートを作成し、そのサブレポートに各顧客のすべての注文を入れることができます。
サブレポートは、データ受け渡しのリンクまたはサブレポートフィルタでリンクすることができます。
15.2.2.1
サブレポートフィルタ
サブレポートフィルタを使用してサブレポートクエリを変更することで、サブレポートのデータをメインレポートのデータに対応さ
せることができます。
サブレポートの最初の作成時に、サブレポートフィルタが自動的に推奨されます。推奨されるフィルタは、サブレポートの挿入
場所によって異なります。以下はその例です。
●
[グループヘッダ] または [グループフッタ] にサブレポートを配置すると、フィルタが適用できる場合、グループ内のすべて
のオブジェクト間でリンクが作成されます。
●
[ボディ] にサブレポートを配置した場合、サブレポート内のすべてのオブジェクト間でリンクが作成されます。
●
[レポートヘッダ]、[レポートフッタ]、[ページヘッダ]、または [ページフッタ] にサブレポートを配置した場合、自動推奨は
行われません。
サブレポートフィルタが推奨された場合でも、それらを変更、削除、および新たに追加することができます。
15.2.2.2 データ受け渡しのリンク
データ受け渡しのリンクは、メインレポートの結果オブジェクト、式、またはパラメータとサブレポートのパラメータを接続しま
す。サブレポートのパラメータは、実行時に、指定した要素の値に設定されます。
サブレポートフィルタと異なり、データ受け渡しのリンクはサブレポートクエリを変更しません。
注記
[クエリパネル] でパラメータを指定した場合、またはパラメータを付加した既存のレポートをサブレポートとして使用する場
合に限り、レポートの最初の設定時に [データ受け渡しのリンク] ページが表示されます。ただし、サブレポート作成後も、
[データ] タブからデータ受け渡しのリンクを追加できます。
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
343
15.3 サブレポートの挿入
新しいレポートをサブレポートとして挿入するか、既存のレポートをサブレポートとして挿入できます。
サブレポートを作成する過程は、通常のレポートを作成する過程と同様です。サブレポートには、レポートのほとんどの特性が
備わっています。
サブレポートで使用するデータソースは、メインレポートで使用するデータソースと同じ種類である必要があります。また、同じ
BI プラットフォームサーバ上にある必要があります。
サブレポートは、レポートの任意のセクションに配置できます。また、サブレポート全体がそのセクションに出力されます。ただ
し、サブレポートは単独では機能しません。サブレポートは、常にメインレポートに要素として挿入されます。
注記
サブレポートを別のサブレポートに挿入することはできません。
15.3.1
1.
新規レポートをサブレポートとして挿入する
[挿入] タブで[サブレポート] をクリックします。
要素フレームが表示されます。
2.
レポート内の表示位置にフレームを移動し、クリックしてフレームを配置します。
[サブレポートの挿入] ダイアログボックスが表示されます。
3.
[新しいレポートの作成] を選択します。
4.
[レポート名] テキストボックスにレポート名を入力します。
5.
[データコネクション] 領域からオプションを選択して、[次へ] をクリックします。
6.
オプション
説明
メインレポートデータソースを使用する
1.
[クエリの編集] ページが表示されます。
新しいデータソースに接続
1.
[データソース接続の選択] ダイアログボックスが表示されます。
2.
データソースを選択して、[次へ] をクリックします。
3.
[クエリの編集] ページが表示されます。
[クエリパネル] で、レポートに使用する結果オブジェクトを選択し、それらを [クエリ #1 の結果オブジェクト] パネルへドラ
ッグします。
注記
分析ビューに接続している場合、[クエリパネル] は表示されません。
7.
[次へ] をクリックします。
指定したクエリにパラメータがある場合、[データ受け渡しのリンク] ページが表示されます。
○
適切なリンクを設定して、[次へ] をクリックします。
[サブレポートフィルタの作成] ページが表示されます。
344
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
8.
[追加] をクリックして、メインレポートとサブレポート間のリンクを作成します。
9.
[次へ] をクリックします。
[サブレポートの挿入] ページが表示されます。
10. サブレポートのレイアウトを選択します。
オプション
説明
詳細のみ
[ボディ] セクション以外のセクションは表示されません。
チャート
[レポートヘッダ] セクション以外のセクションが非表示になり、デフォルトチャートが作成されます。
合計
[レポートヘッダ] セクション以外のセクションは表示されません。
カスタム
すべてのセクションが表示されます。
11. [完了] をクリックします。
サブレポートがメインレポートに挿入されます。
15.3.2 既存のレポートをサブレポートとして挿入する
1.
[挿入] タブで[サブレポート] をクリックします。
要素フレームが表示されます。
2.
レポート内の表示位置にフレームを移動し、クリックしてフレームを配置します。
[サブレポートの挿入] ウィザードが表示されます。
3.
[既存のレポートを使用] を選択して、[参照] をクリックします。
[開く] ダイアログボックスが表示されます。
4.
使用するレポートを選択し、[開く] をクリックします。
5.
[次へ] をクリックします。
選択したレポートにパラメータが含まれる場合、データの受け渡しリンクページが表示されます。
○
適切なリンクを設定して、[次へ] をクリックします。
[サブレポートフィルタの作成] ページが表示されます。
6.
[追加] をクリックして、メインレポートとサブレポート間のリンクを作成します。
7.
[完了] をクリックします。
選択したレポートがサブレポートとして追加されます。
15.4 サブレポートをメインレポートとして保存
サブレポートをメインレポートとして保存しておくと、情報をさまざまな人々に配布することができます。たとえば、サブレポート
を含むメインレポートを会計年度末の株主総会向けに作成したとします。このサブレポートに、管理職の日常業務向けのデー
タが含まれている場合、それをメインレポートとして保存することは簡単です。
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
345
15.4.1
1.
サブレポートをメインレポートとして保存する
サブレポートフレームを右クリックして、[サブレポートに名前をつけて保存] をクリックします。
[名前を付けて保存] ダイアログボックスが表示されます。
2.
サブレポートの新しい名前を入力します。
3.
[保存]をクリックします。
サブレポートがメインレポートとして保存され、必要なときに、それを個別に開くことができます。
15.5 サブレポートの書式設定
サブレポートをメインレポートに挿入した後で、サブレポートのプロパティを編集できます。
15.5.1
1.
サブレポートの書式を設定する
サブレポートフレームを右クリックして、[サブレポートの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2.
値を編集します。
たとえば、サブレポートの名前の変更や、フォントの編集などを実行できます。
3.
[閉じる] をクリックします。
注記
[サブレポートの書式設定] ダイアログボックスで変更した内容は、サブレポートを再インポートすると上書きされます。上書
きされないようにするには、サブレポートを再インポートする前に、次の手順を実行します。
ファイル
開く
をクリックし
て、サブレポートとして使用しているレポートを開きます。そのレポートの書式を変更し、[保存] をクリックします。
15.6 サブレポートの再インポート
再インポートしないでサブレポートのデータを更新することは可能ですが、最新バージョンのサブレポートを使用するために、
再インポートするようにしてください。再インポートにより、サブレポートの書式、グループ化、および構造が更新されます。
注記
再インポートは、レポートファイルから作成されたサブレポートでのみ利用できます。
警告
メインレポートから [サブレポートの書式設定] ダイアログボックスを使用してサブレポートの書式を変更している場合、サ
ブレポートの再インポートによりそれらの変更が上書きされます。上書きされないようにするには、サブレポートを再インポ
346
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
ートする前に、次の手順を実行します。
ファイル
開く
をクリックして、サブレポートとして使用しているレポートを開き
ます。そのレポートの書式を変更し、[保存] をクリックします。
15.6.1
サブレポートを再インポートする
サブレポートフレームを右クリックして、[サブレポートの再インポート] をクリックします。
15.6.2 ソースの場所が変更された場合にサブレポートを再インポートす
る
レポートを別の場所またはマシンに移動する場合、サブレポートを再インポートしようとすると、エラーメッセージが表示される
可能性があります。[サブレポートの書式設定] 機能を使用して、サブレポートの新しい場所を定義します。
1.
サブレポートフレームを右クリックして、[サブレポートの書式設定] をクリックします。
書式設定ダイアログボックスが表示されます。
2.
[サブレポート] をクリックし、[ソース] をクリックします。
3.
サブレポートの場所に移動し、サブレポートを選択して、[開く] をクリックします。
4.
プロンプトが表示されたら、保存済みのデータを使用するか、またはデータを最新表示するかを選択します。
5.
[閉じる] をクリックします。
サブレポートへのパスが更新されます。
15.7 サブレポートフィルタによるサブレポートのメインレポートへのリンク
サブレポートのデータは、メインレポートのデータの補完に頻繁に使用されます。たとえば、メインレポートに顧客データがある
場合は、サブレポートを使って顧客ごとの注文を表示します。
このような場合、メインレポートのデータとサブレポートのデータを統合して、サブレポートの注文を顧客と正しく対応させる必
要があります。
それには、サブレポートおよびメインレポートに共通するオブジェクト間のリンクを作成する必要があります。[サブレポートフィ
ルタ] ダイアログボックスを使って、"<顧客>" と "<注文>" などの 2 つの共通オブジェクト間のリンクを作成します。Crystal
Reports では、そのリンクを使用して、メインレポートのレコードをサブレポートのレコードへ対応させます。サブレポートの "<
注文>" データがメインレポートの対応する "<顧客>" データと同じ行に位置することが、このリンクによって保証されます。
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
347
15.7.1
クする
サブレポートフィルタを使ってサブレポートをメインレポートにリン
1.
サブレポートフレームをダブルクリックして、サブレポートの新しいビューを開きます。
2.
[データ] タブで、
サブレポート
サブレポートフィルタの編集
をクリックします。
[サブレポートフィルタ] ダイアログボックスが表示されます。
3.
[追加] をクリックします。
結果オブジェクトがリスト表示されます。
4.
メインレポートでリンクオブジェクトとして使用するオブジェクトを選択します。
Crystal Reports は、選択したオブジェクトとサブレポート内のオブジェクトを連結させるように機能します。
5.
プログラムが選択するサブレポートオブジェクトを変更する場合は、[サブレポート] リストでオブジェクトをクリックして、別
のオブジェクトを選択します。
2 つのオブジェクトが、リンクオブジェクトとして追加されます。
6.
必要に応じてリンクを追加するには、手順 3 ~ 5 を繰り返します。
7.
[OK] をクリックします。
レポートを実行すると、メインレポートのデータとサブレポートのデータが同期化されます。
15.8 データ受け渡しのリンクによるサブレポートのメインレポートへのリン
ク
メインレポートからサブレポートへのデータの受け渡しには、データ受け渡しのリンクを使用することもできます。
データ受け渡しのリンクは、サブレポートのクエリを変更しないため、サブレポートフィルタに比べ、より多くの種類のデータにリ
ンクすることができます。データ受け渡しのリンクにより、メインレポートの結果オブジェクト、式、またはパラメータにリンクする
パラメータがサブレポートに作成されます。
たとえば、データ受け渡しのリンクを使用して、メインレポートの式の値をサブレポートに表示することもできます。メインレポー
トにインターネット売上金額を合計する式がある場合、サブレポートのパラメータでその式にリンクすることができます。
15.8.1 データ受け渡しのリンクを使ってサブレポートをメインレポートにリ
ンクする
1.
サブレポートフレームをダブルクリックして、サブレポートの新しいビューに移動します。
2.
[データ] で、
サブレポート
サブレポートデータ受け渡しのリンクの編集
をクリックします。
[サブレポートデータ受け渡しのリンク] ダイアログボックスが表示されます。
3.
[追加] をクリックします。
結果オブジェクトがリスト表示されます。
4.
メインレポートでリンクオブジェクトとして使用するオブジェクトを一覧から選択します。
Crystal Reports は、サブレポートでパラメータを作成して選択したオブジェクトを連結します。
348
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
5.
プログラムが作成したサブレポートパラメータを変更する場合は、[サブレポートパラメータ] リストでそのパラメータをクリ
ックして、別のパラメータを選択します。
オブジェクトとパラメータが、リンクオブジェクトとして追加されます。
6.
必要に応じてリンクを追加するには、手順 3 ~ 5 を繰り返します。
7.
[OK] をクリックします。
[現在のデータセットの変更] ダイアログボックスが表示されます。
8.
パラメータのプロンプトに従って、[OK] をクリックします。
メインレポートでデータを実行すると、サブレポートのパラメータ値に指定したオブジェクトが設定されます。
15.9 データ受け渡しのリンクを使用したレコード選択式の変更
データ受け渡しのリンクのレコード選択式は、いつでも更新することができます。
たとえば、メインレポートの社員番号オブジェクトが 2 文字の部門コードと、9 文字の社会保障番号で構成され、
HR555347487 などのように、合わせて 11 文字でその値が表されているレポートがあるとします。サブレポートで社員番号オ
ブジェクトを社会保障番号オブジェクトにリンクすると、社員番号から社会保障番号を抽出する式を作成できます。
次に、式の例を示します。
{employee.EMPLOYEE ID} [-9 to -1]
または
{employee.EMPLOYEE ID} [3 to 12]
HR555347487 という値に対しては、どちらの式からも 555347487 の値が返されます。
15.9.1
データ受け渡しのリンクを使用したレコード選択式を変更する
1.
"<社員番号>" オブジェクトを含むメインレポートを作成します。
2.
"<社会保障番号>" オブジェクトを含むサブレポートを作成します。
注記
サブレポートの作成時にサブレポートフィルタのリンクは作成しないでください。
詳細については、新規レポートをサブレポートとして挿入する [344 ページ]を参照してください。
3.
4.
サブレポートフレームをダブルクリックして、サブレポートの新しいビューに移動します。
[データ] で、
サブレポート
サブレポートデータ受け渡しのリンクの編集
をクリックします。
[サブレポートデータ受け渡しのリンク] ダイアログボックスが表示されます。
5.
[追加] をクリックします。
結果オブジェクトがリスト表示されます。
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
349
6.
結果オブジェクトの一覧から社員番号を選択します。
注記
[サブレポートパラメータ] 列に自動的に "<パラメータの作成: Employee ID>" パラメータが作成されます。
7.
[OK] をクリックします。
[現在のデータセットの変更] ダイアログボックスが表示されます。
8.
パラメータのプロンプトに従って、[OK] をクリックします。
9.
[データ] タブで [式] を選択します。
式ワークショップが表示されます。
10. [レコードフィルタ] ノードを選択します。
11. 式を入力します。
例: {file.SSN} = {?MainReport.EMPLOYEE ID} [3 to 12]
12. [保存して終了] をクリックします。
[レコードフィルタは変更されています] ダイアログボックスが表示されます。
13. [データの最新表示] をクリックします。
15.10 サブレポートによる関連のないレポートの組み合わせ
関連のないレポートを組み合わせて、単一のレポートを作成することが必要な場合があります。たとえば、単一のレポートを作
成して次の内容を表示する場合です。
●
セールスマンごとにグループ化された売上高
●
項目でグループ化された売上高
どちらのレポートも売上高のデータを扱っていますが、これらのレポートに直接の関係はありません。
このように、サブレポートを使用すると、関連のないレポートを組み合わせて単一のレポートにすることができます。それらの
レポートは、同じデータセットを基にすることもできますが、必ずそうする必要もありません。各レポートは、まったく異なるデー
タセットを基にすることもできます。
各レポートは、独立しています。レポートのどのデータも、他のレポートのデータとリンクされることはありません。これは、最も
作業の簡単なサブレポートの作成方法です。
15.10.1 関連のない 2 つのレポートを組み合わせるには
1.
メインレポートとして最初に出力するレポートを作成します。
2.
新しいサブレポートを作成します。
3.
サブレポートを [レポートフッタ] に配置すると、メインレポートの直後に出力されます。
350
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
15.10.2 関連のない 3 つ以上のレポートを組み合わせるには
1.
メインレポートとして最初に出力するレポートを作成します。
2.
[挿入] タブで [セクション] をクリックし、使用するサブレポート数に応じた数のセクションを新規に [レポートフッタ] に挿入
します。
たとえば、3 つのサブレポートを使用する場合は、新しく 2 つのセクションを [レポートフッタ] に挿入すると、合計で 3 つ
の [レポートフッタ] セクションが作成されます。
3.
[挿入] タブで[サブレポート] をクリックします。
4.
[レポートフッタ] A セクションには、メインレポートの直後に出力するサブレポートを作成します。
5.
[レポートフッタ] B セクションにはその次に出力するサブレポートを作成し、その後も同様に続けます。
最初にメインレポートが出力され、次にレポートに配置した順序でサブレポートが出力されます。
注記
サブレポートは、同じ [レポートフッタ] セクションに横に並べて配置できます。それらは、レポートの最後に続けて出力
されます。
関連情報
セクションの操作 [180 ページ]
15.11 オンデマンドサブレポートの作成
複数のサブレポートを含むレポートを作成する場合、オンデマンドサブレポートは特に有効です。
通常のサブレポートとオンデマンドサブレポートとの違いは、ユーザがオンデマンドサブレポートの実際のデータを分離するま
では、オンデマンドサブレポートはデータソースによって読み取られないという点です。このように、オンデマンドサブレポートで
は、実際に表示されるデータだけがデータソースから取得されます。これで、サブレポートが管理しやすくなります。
15.11.1 オンデマンドのサブレポートを作成する
1.
通常どおり、メインレポートにサブレポートを配置します。
2.
サブレポートを右クリックして、[サブレポートの書式設定] をクリックします。
3.
[サブレポート] オプションをクリックして、[オンデマンド] を選択します。
詳細については、オンデマンドサブレポートへのキャプションの追加 [352 ページ]を参照してください。
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
351
15.11.2 オンデマンドサブレポートへのキャプションの追加
レポートをわかりやすくまとめるために、サブレポートの [ページ] モードやオンデマンドサブレポートのプレースホルダフレー
ムにキャプションを作成します。
注記
タブのテキストキャプションは、オンデマンドのサブレポートおよび通常のサブレポートの両方に適用できますが、サブレポ
ートのプレースホルダフレームのキャプションは、オンデマンドサブレポートだけに適用できます。通常のサブレポートのデ
ータは、[ページ] モードで表示されるので、通常のサブレポートにフレームキャプションは必要ありません。
15.11.2.1 キャプションを追加する
1.
サブレポートを右クリックして、[サブレポートの書式設定] をクリックします。
2.
[サブレポート] オプションをクリックします。
3.
[オンデマンドキャプション] テキストボックスで、キャプションとして使用するテキストを入力します。
キャプションを条件式として記述することもできます。プレースホルダフレームのキャプションおよび [ページ] モードのキャプシ
ョンのどちらにも、条件式用のメインレポートのオブジェクト名を入れることができます。
15.11.2.2 条件式を使用してキャプションを追加する
1.
サブレポートを右クリックして、[サブレポートの書式設定] をクリックします。
2.
[サブレポート] オプションをクリックします。
3.
オンデマンドキャプションまたはプレビュータブキャプションの横で、条件式アイコンをクリックします。
[式ワークショップ] ダイアログボックスが表示されます。
4.
コードウィンドウで、式を入力し、[オブジェクトの追加] リストからオブジェクトを選択します。
たとえば、次のテキストを入力します。
"More Information About " + {Customer.CUSTOMER_NAME}
接続するデータソースによって、たとえば "Pathfinders の詳細情報" や "Rockshocks for Jocks の詳細情報" といった
キャプションも表示できます。
5.
[ページ] モードをクリックし、式の出力結果を確認します。
関連情報
式の作成 [284 ページ]
352
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
15.12 レポートのデータを異なるビューで表示
サブレポートを使用すると、メインレポートにデータを異なる方法で表示できます。たとえば、レポートの上部に集計値を、下部
に詳細を表示するとします。
これには、さまざまな方法を使用できますが、次の 2 つが簡単です。
●
メインレポートとして集計レポートを作成し、サブレポートとして詳細レポートを作成します。この方法では、[レポートフッ
タ] 領域に詳細レポートを配置します。
●
メインレポートとして詳細レポートを作成し、サブレポートとして集計レポートを作成します。この方法では、[レポートヘッ
ダ] 領域に集計レポートを配置します。
適切なリンクオブジェクトを使ってレポートをリンクし、データを統合します。
SAP Crystal Reports for Enterprise ユーザガイド
サブレポート
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
353
16
多言語レポーティング
多言語レポーティングでは、レポートをさまざまな言語に翻訳し、ユーザの優先表示ロケール (PVL) に基づく正しい言語で表
示することができます。 PVL は、SAP Crystal Reports for Enterprise デザイナまたは SAP BusinessObjects Business
Intelligence プラットフォーム (BIP) のユーザ基本設定で設定できます。
BIP では Web ブラウザのロケール設定がデフォルトで使用されるため、ユーザ独自の PVL を設定する必要はほとんどあり
ません。 ユーザの PVL が使用可能な翻訳のいずれとも適合しない場合、BIP ではフォールバックロケールを使用して表示す
る言語を決定します。 たとえば、英語とドイツ語に翻訳されているレポートのフォールバックロケールとして英語を設定してい
る場合、フランス語の PVL を設定しているユーザには英語のレポートが表示されます。
フォールバックは、システムのレポートレベルおよびデータレベルで設定できます。
多言語レポーティングはすべての SAP Crystal Reports for Enterprise ユーザが使用できますが、SAP システムの SAP
Crystal Reports 2013 ユーザが使用できるのは限定バージョンです。
注記
詳細については、SAP Crystal Reports 2013 ユーザガイドを参照してください。
関連情報
表示の基本設定を設定する [357 ページ]
16.1 多言語レポーティングのレベル
Crystal Reports for Enterprise では、次の 3 つのレベルの多言語レポーティングがサポートされています。
●
多言語レポート: トランスレーションマネジメントツールを使用して翻訳されたレポートテンプレート (列見出し、テキスト、レ
ポートの日付周辺の情報などの要素を含む)。
注記
トランスレーションマネジメントツール は BOE クライアントと共にインストールされます。
●
多言語メタデータ: クエリオブジェクトの翻訳名。
注記
BOE XI 4.0 では、多言語メタデータは SAP システムに接続されている場合にのみ、Crystal Reports for Enterprise
デザイナでサポートされます。
●
多言語データ: PVL に応じてクエリから取得された翻訳データ。たとえば、翻訳された国の名前と共に表示される住所が
挙げられます。
354
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
多言語レポーティング
注記
多言語データは、多言語データソースからのものです。
16.2 多言語レポートテンプレートの作成
BOE トランスレーションマネジメントツールでは、レポートを特定のロケール向けに翻訳できます。トランスレーションマネジメン
トには次の機能が含まれます。
●
言語の追加
●
レポートテンプレートの翻訳
●
外部エディタで翻訳するデータのエクスポート
●
翻訳のステータスの設定および監視
●
各言語の表示の設定
●
フォールバックロケールの設定
16.2.1
1.
多言語レポートテンプレートを作成する
翻訳するレポートを選択し、[追加] をクリックします。
追加したレポートがドキュメント領域に表示されます。
2.
[完了] をクリックします。
トランスレーションマネジメントツールで、各レポートが新しいタブとして表示されます。
3.
[言語管理] ビューから、レポートに必要な言語を追加します。
注記
[コンテンツの元の言語] で使用される言語は、ロケールでタグ付けできません。元の言語は [使用可能な言語] リスト
から個別に追加する必要があります。
追加した言語が、[言語管理] ビューの [選択した言語] 領域に表示されます。
4.
選択した言語ごとに [表示] をクリックして、言語をドキュメント領域に表示します。
5.
[表示] をクリックしてレポート内の翻訳を表示します。
ヒント
不完全な翻訳を表示させないようにするには、翻訳が完了した言語だけを表示するようにします。
6.
フォールバック言語を表示するには、[フォールバック] をクリックします。
7.
言語の列を選択し、対応言語の列で、関連コンテンツを翻訳します。
レポートは、[構造] モードに表示されるレポート要素として構成されます。
8.
[テキストエディタ] タブで、[ステータス] リストから翻訳ステータスを選択して [適用] をクリックします。
SAP Crystal Reports for Enterprise ユーザガイド
多言語レポーティング
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
355
注記
翻訳文字列を変更すると、ステータスは [翻訳済み] にリセットされます。
9.
[保存] をクリックします。
10. (任意) [翻訳した文字列のエクスポート] をクリックします。
翻訳は、外部エディタで変更可能なオープンスタンダードである XLIFF ファイルとしてもエクスポートできます。変更を加
えた XLIFF ファイルは、翻訳後にインポートします。
16.3 多言語レポートのスケジュール
レポートの多言語表示に影響を与えることなく、多言語レポートをスケジュールできます。スケジュールされたレポートは、ユー
ザの PVL で実行されます。
管理者はセントラル管理コンソールを使用して、レポートで使用する代替多言語スケジュールのロケールを選択します。スケ
ジュールは、レポートの翻訳先言語の一部またはすべてに対して行うことができます。代替スケジュールにより、正しい PVL
を使用したレポート実行が個別に作成されます。これは、多言語データにとって特に重要です。
16.3.1
多言語レポートをスケジュールする
レポートのスケジュールは、セントラル管理コンソールで実行できます。
1.
レポートフォルダを右クリックして、[スケジュール] をクリックします。
[スケジュール] ダイアログボックスが表示されます。
2.
[ナビゲーション] 領域で [スケジュール] を展開し、[言語] をクリックします。
3.
[言語] ビューで、レポートをスケジュールする言語を選択します。
4.
○
ユーザの PVL を使用するには、[優先表示ロケールでレポートをスケジュール] をクリックします。
○
複数のロケールを使用するには、[複数ロケールでのレポートのスケジュール] をクリックします。
(任意) [複数ロケールでのレポートのスケジュール] 選択時に使用可能な言語を限定するには、[ドキュメントのロケール
のみ表示] を選択します。
5.
[すべてのロケール] リストで、[選択インスタンスのロケール] リストに言語を追加します。
6.
(任意) [ナビゲーション] 領域で [デフォルト設定] を展開して [言語] をクリックすると、デフォルトの言語オプションを設定
できます。
7.
[スケジュール] をクリックして選択内容を確定します。
選択したすべてのロケールに対してレポートが実行されます。
[履歴] ビューが表示されます。
8.
[ステータス] オブジェクトに [成功] と表示されたら、[表示] リストからプレビューする言語を選択します。
[ステータス] が [エラー] の場合のエラーメッセージを表示するには、[ステータス] オブジェクトをクリックして [インスタン
スの詳細] ダイアログボックスを開きます。
356
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
多言語レポーティング
16.4 多言語レポートの表示
多言語レポートは、従来のレポートと同じ方法で表示します。レポートの翻訳はユーザの PVL 設定に基づいて表示されます。
注記
管理者は多言語レポートの履歴を表示して、レポートが正しく表示されているかどうかを確認できます。
16.4.1 表示の基本設定を設定する
[製品ロケール] および [優先表示ロケール] は、デフォルトで [ブラウザのロケールを使用] に設定されています。別のロケー
ルを選択する場合は、PVL をセントラル管理コンソールで設定します。
1.
[基本設定]をクリックします。
[設定]ダイアログボックスが表示されます。
2.
[CMC 基本設定] ビューで、優先する [製品ロケール] をリストから選択します。
注記
[製品ロケール] リストにはインストールされた言語パックのみが表示されます。
3.
優先する [優先表示ロケール] をリストから選択します。
[優先表示ロケール] リストには、選択可能なすべてのロケールが表示されます。
4.
[保存] をクリックします。
ユーザのブラウザセッションには、レポート表示インスタンスがキャッシュされているため、レポート表示の基本設定に対する
更新を適用するには、ログアウトして再度ログインする必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
多言語レポーティング
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
357
17
アクセシブルレポートの作成
レポート作成者はしばしば、特定の言語、国、ジョブタスクまたはワークグループのためにレポートを作成しますが、ユーザの
アクセシビリティ要件を考慮することもまた重要です。
17.1
アクセシビリティについて
Crystal レポートを組織全体、あるいは世界中の多くのユーザーのために作成する場合には、ユーザーの多様なニーズにつ
いて考える必要があります。レポート作成者はしばしば、特定の言語、国、ジョブ タスクまたはワーク グループのためにレポ
ートを作成しますが、ユーザーのアクセシビリティ要件を考慮することもまた重要です。
Web へのアクセスに困難を生じる身体的、感覚的または認知的な制限があるレポート ユーザーがいる可能性があります。そ
れらのユーザーは、見たり、動いたり、聞いたりすることができないかもしれません。視力が弱かったり、自由に動けなかった
りするかもしれません。失読症、色覚異常、発作性疾患の人もいれば、テキストを読んだり理解したりすることに困難を感じる
人もいます。障害が複数ある人もいて、症状の度合いもさまざまです。
障害をお持ちの方は、障害のある部分を補佐する機能を備えた製品や技術など、補助テクノロジをよく利用されます。補助テ
クノロジーには、スクリーンリーダー(テキストを音声出力に変換)、スクリーン拡大鏡、音声認識ソフトウェアなどの適応ソフト
ウェアプログラムがあります。障害のある人々は、テキストまたは音声のみでナビゲートする特別なブラウザを使用することも
あります。複数のピンが突出する点字ディスプレイ、または、"“呼気”" スイッチや "“アイゲイズ”" テクノロジーを使用した代替
キーボードなどの補助デバイスを使用することもあります。
障害のある人々のレポート ニーズを満たすために、できるだけ多くの補助テクノロジをレポートで使用できるようにデザインす
る必要があります。
アクセシビリティの問題は広範囲に及びますが、この節で説明する技術を使用すると、あらゆる人々に使いやすいレポートを
作成できます。
17.1.1
アクセシブルなレポートの利点
ビジネス界や政府のリーダーが障害を持った人々への Web コンテンツの配信に新しい標準を採用すればするほど、アクセシ
ブルなデザインは情報管理および配信において重要な存在になっていきます。
アクセシブルなデザインには多くの利点があります。
●
アクセシブルなレポートはだれもが簡単に使用できます。
多くのアクセシビリティガイドラインは、使いやすさの向上につながります。アクセシブルレポートでは、論理的で一貫した
ナビゲーションを提供する必要があります。コンテンツは明確に記述し、わかりやすくする必要があります。
●
アクセシブルレポートは、新旧問わずさまざまなテクノロジーに対応します。
アクセシブルコンテンツは容易に単純な形式でエクスポートでき、携帯電話ブラウザ、携帯情報端末(PDA)、その他の帯
域幅の狭いデバイスで使用できます。
キーボードやマウスを使用しない人々がいることが考えられます。画面はテキスト専用で小さく、インターネット接続が遅
いかもしれません。アクセシブルデザインを採用することにより、制限のあるテクノロジーを使用する人々も情報に簡単に
アクセスできるようになります。
●
358
アクセシブルコンテンツは、他の形式で簡単に再利用できます。
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
ビューアでは、アクセシブルレポートはさらに正確に他の形式にコピーまたはエクスポートされます。
●
アクセシブルレポートは、サーバの効率性を向上させます。
わかりやすいナビゲーションを提供することにより、ユーザは必要なものを迅速に見つけ出すことができるようになり、サ
ーバの HTTP リクエストの数の減少につながる場合があります。テキストのみのナビゲーションにすると、貴重な帯域を
ふさぐ画像の数を減らすことができます。
●
最近の指導により、アクセシブルな Web コンテンツを提供することが世界的な動向になっています。
アクセシビリティを自社の Web コンテンツの要件とする企業が増えています。アクセシビリティは急速に Web コンテンツ
配信の重要部分になりつつあります。
●
アクセシブルコンテンツを提供するよう法律で定められている場合があります。
障害を持つ人々に公平な機会を保障するため、差別禁止法を導入する国が年々増えています。アクセシビリティガイドラ
インを満たすよう法的に要求されていないとしても、ガイドラインに従う必要のある組織とビジネスしようとすることもありえ
ます。
●
既存のレポートを修正してアクセシブルにするよりも、新しいアクセシブルレポートを作成するほうが簡単です。
現時点でアクセシブルな機能をレポートに組み込んでおけば、後で既存のレポートを再デザインするよりもコストを大幅に
節約できます。
17.2 レポートのアクセシビリティの向上
Crystal レポートのアクセシビリティを向上させる手始めとして、すぐ簡単に実装できるアクセシビリティ ガイドラインから始め
ます。デザイン規則や企業テンプレートの小さな変更が、アクセシビリティに重大な影響を与える場合があります。
単純なナビゲーションと明確に記述されたコンテンツはアクセシビリティに重要ですが、これらは簡単に実装することができ、
すべてのレポート ユーザーにとって有用です。
次の節では、アクセシビリティを念頭においてレポートをデザインする方法に関するヒントとガイドラインを示します。次のリンク
をクリックして、目的の節にジャンプしてください。
●
レポートへの要素の配置 [359 ページ]
●
テキスト [360 ページ]
●
色 [364 ページ]
●
ナビゲーション [365 ページ]
●
パラメータ [365 ページ]
17.2.1
レポートへの要素の配置
要素をレポートに配置する際に、留意が必要な一般的なガイドラインがいくつかあります。
要素をレポートに配置するときは、明確で論理的な配置であることを確認します。レポート内の 2 つの要素の関係を示す必要
があるときは特に注意します。たとえば、チャートのテキスト説明を含める場合は、チャートに十分近づけてつながりがわかる
ようにします。
多くの補助テクノロジは、左から右へ、上から下へと読みます。したがって、チャートにテキスト説明とタイトルを付ける場合
は、ユーザーにどれを最初に読んでもらうかを決める必要があります。レポート内の要素が正しい順序で読まれることを確認
します。
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
359
17.2.1.1
要素の順序立った配置
レポートを SAP BusinessObjects Business Intelligence プラットフォームに公開すると、HTML バージョンでは、レポート内
での要素の位置によってではなく、Crystal Reports に要素を追加した順序に従って、レポート内の要素が構成されます。レ
ポートは画面上では同じに表示されますが、ベースとしている HTML コードでは、レポート要素は挿入された順序で一覧され
ています。スクリーンリーダーなどの補助デバイスは、レポート左から右、上から下に読む代わりに、HTML で指定された順序
に従います。レポートをアクセシブルにするには、スクリーンリーダーに読ませる順序で要素をレポートに追加する必要があり
ます。
たとえば、[ボディ] セクションに [四半期] オブジェクト、[年] オブジェクト、[請求書] オブジェクトを配置し、次に [レポートヘッ
ダ] にレポートタイトル "“四半期別の請求書”" を追加します。レポートを SAP BusinessObjects Business Intelligence プラ
ットフォーム に公開すると、Crystal Reports で表示したときと同じに見えますが、基になる HTML はまず結果オブジェクトヘ
ッダを表示し、その次にタイトルを表示します。スクリーンリーダーは、レポートのタイトルを最初に読むのではなく、“[四半
期]、[年]、[請求書、[四半期別の請求書]” といったヘッダを最初に読みます。
これを回避するには、[“四半期別の請求書”] というタイトルを最初に挿入します。データテーブルを追加する前に、テーブル内
容を示す紹介のテキスト要素を追加することができます。最後に、結果オブジェクトを [ボディ] セクションに追加します。これ
でレポートは、スクリーンリーダーでも理解可能になりました。スクリーンリーダーでは、まずデータの前に次の情報が読まれ
ます。
"“四半期別の請求書。次のテーブルには、各四半期の請求書が一覧表示されます。四半期、年、請求書。”"
アクセシブルなレポートを作成するには、Crystal Reports で作業を開始する前に、レポートでのオブジェクトの配置順序を計
画しておく必要があります。まず紙の上で計画します。追加する要素とその配置場所を把握している必要があります。すべて
の計算、画像、チャートを計画に含めます。計画に基づいて新しいレポートを作成するときは、要素をレポートの左上の角から
右下の角に向けて順番に追加します。要素は、配置後に変更することができます。この変更によって順序が影響を受けること
はありません。
注記
テキストのみのバージョンのレポートを作成する場合は、それをサブレポートとしてレポートに追加します。最も重要なの
は、サブレポートの追加は、レポートに別の要素を追加する前に行うことです。
レポートにすべての要素を追加したら、要素間をタブで移動することにより、その配置順序をテストすることができます。
関連情報
テキスト [360 ページ]
17.2.2 テキスト
レポート設計者が直面する一般的なアクセシビリティに関する問題として、非テキスト要素のテキストのみのバージョンでの提
供がありますが、これも簡単に解決できます。非テキスト要素とは、画像や音声を介して意味を伝える要素を指します。非テキ
スト要素には、画像、チャート、グラフィカルボタン、テキストのグラフィカル表示、音声、アニメーション、およびオーディオまた
はビデオクリップがあります。
360
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
補助テクノロジを使用している人々は、テキストのみの置換に慣れているため、提供したテキストのみのバージョンへの反応
は良いでしょう。
テキストを使用してレポートのアクセシビリティを向上するには、いくつもの方法があります。
●
レポート内に要素の代替テキストを提供します。
●
レポートのテキスト バージョンを提供します。
●
テキストが明確に記述され、書式設定されていることを確認します。
テキストは、アクセシブル レポートを作成するための有用なツールです。スクリーン リーダー、音声合成装置、点字ディスプレ
イを含むほとんどの補助テクノロジでは、テキスト入力が必要です。テキストはサイズ変更と書式設定が簡単で、インポートや
エクスポートに最も柔軟に対応できます。
17.2.2.1
代替テキストの提供
レポート作成時に、非テキスト要素を明確に表す代替テキストを使用する機会がよくあります。
●
説明テキスト要素を非テキスト要素の隣に配置し、それらを必ず連続した順序でレポートに追加するようにしてください。
詳細については、要素の順序立った配置 [360 ページ]を参照してください。
代替テキストでは可能なかぎり常に、レポート内の対応する要素と同じ情報を伝えます。たとえば、レポートでデータを円
チャートで表示している場合は、内容をまとめたテキストボックスをチャートの隣に配置します。
非テキスト要素の目的を説明します。たとえば、画像をクリックすると動作が実行される場合は、その動作を説明します。
Web サイトを開くボタンについては、"“クリックして Web サイトを表示”" というラベルのテキストボックスを提供します。
●
レポートにオーディオリンクが含まれる場合は、重要なオーディオクリップに対して文章化したものを用意します。
●
レポートがマルチメディアまたはビデオ映像にリンクしている場合は、文章化したものを用意します。映像のオーディオ部
分とオーディオ説明に字幕を提供する場合もあります。字幕はオーディオに合わせる必要があります。
17.2.2.2
テキストのみのバージョンの提供
レポートに非テキスト要素が多すぎる場合、またはアクセシブルデザインをレポートすべてに統合するリソースがない場合は、
完全なテキストのみのバージョンを提供することができます。たとえば、データをチャートとグラフィックのみで表したレポートに
対して、同じデータをデータテーブルとテキスト要素を使って示したテキストのみのレポートへのリンクを提供します。
テキストのみのバージョンでは、可能なかぎり常に、元のレポートと同じ情報を提供します。メインレポートで画像を介して伝え
る情報も、代わりのレポートではテキスト要素を使用して説明する必要があります。
注記
完全なテキストのみのバージョンのレポートを作成できない場合でも、レポートに掲載した重要な情報や結論を説明する要
約を提供することで、アクセシビリティを向上させることができます。
サブレポートでテキストのみのバージョンを提供し、メインレポートの左上の隅からリンクさせるのは良い方法です。そうするこ
とにより、ユーザは即座にテキストのみのバージョンに切り替えることができます。他の要素よりも先にサブレポートをレポート
に追加し、スクリーンリーダーが最初にそれを読むようにします。サブレポートをスクリーンリーダーや類似ソフトウェアを使用
するユーザのみに表示する場合は、サブレポートリンクを背景色と同じ色で作成することもできます。リンクは小さな空欄とし
て表示されますが、スクリーンリーダーによりリンクのテキストが読まれます。
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
361
17.2.2.2.1
サブレポートにテキストのみのバージョンを追加する
1.
テキストのみのバージョンのレポートを作成し、保存します。
2.
新しいレポートを開きます。
3.
[挿入] メニューの [サブレポート] をクリックします。
4.
[サブレポートの挿入] ダイアログボックスで [既存のレポートを使用] を選択し、[参照] をクリックしてステップ 1 で作成し
たレポートを見つけます。
5.
[次へ] をクリックします。
6.
必要に応じてメインレポートとサブレポートの間のリンクを定義し、[完了] をクリックします。
7.
サブレポートを右クリックして、[サブレポートの書式設定] を選択します。
8.
[書式設定] ダイアログボックスの [サブレポート] ノードで、[オンデマンド] を選択します。
9.
サブレポートリンクを隠すには、[フォント] タブでレポートの背景色と同じ色を選択します。
注記
サブレポートリンクを隠す代わりに、サブレポートが含まれているセクションを条件付きで非表示にすることができま
す。
10. [閉じる] をクリックします。
17.2.2.3
句読点の使用
音声テキストの論理的な流れを向上させるため、余分な句読点を追加して一時停止を入れる必要があります。余分な句読点
を追加しないと、スクリーンリーダーは、複数のテキスト要素を 1 つの連続した文として読んでしまうため、内容を理解しにくく
なります。たとえば、データソースの情報が、止まることなく一気に読まれてしまう可能性があります。これを避けるには、結果
オブジェクト間にピリオドなどを挿入して、データソース内の情報を区切ります。
一部の句読点は、そのまま音読されるため、頻繁に用いると耳障りになることがあります。たとえば、コロン (“:”) の場合、スク
リーンリーダーは、一時停止を入れる代わりに、"“コロン”" と読む可能性があります。スクリーン リーダーの設定で、音読する
句読点の数を変更することができます。
レポートの句読点の問題を解消するには、スクリーン リーダーを使用してレポートを読んでみるのがいいでしょう。要素がひと
まとめにされ、あまりに速く読まれていませんか。または一時停止が多すぎませんか。句読点が音読されていませんか。句読
点によって、レポートが使いやすくなっていますか、それとも使いにくくなっていますか。
17.2.2.4 テキストの書式設定
非テキスト要素の代替テキスト、またはテキストのみのバージョンを作成したら、テキストが明確に記述されていて読みやすい
ことを確認します。次のデザイン ガイドラインに従います。
●
大きいフォントを使用します。
視覚機能障害のある人々はズーム機能を使用してレポート サイズを大きくすることができますが、フォント サイズが大き
ければレポートをそれほど大きく拡大する必要はありません。たとえば、チャート ラベルと凡例は、デフォルトの小さいフォ
362
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
ントで表示できます。読みやすさを一般的に考えると、8 ポイント以上のフォントの使用が推奨されます。アクセシビリティ
については、11 ポイント以上のテキストを使用するようにしてください。
●
サンセリフ体のフォントを使用します。
Times や Palatino などのセリフ体フォントよりも、Arial、Helvetica などの単純なフォントのほうが読みやすくなります。
●
左揃えまたは両端揃えを選択します。
中央揃えまたは右揃えのテキストよりも、左揃えまたは両端揃えのテキストのほうが読みやすくなります。
●
テキストが色の使用に関するガイドラインに従っていることを確認します。詳細については、色 [364 ページ]を参照してく
ださい。
注記
パラメータと条件付き書式設定を使用し、ユーザーが別のフォント設定を選択できるようにすることができます。詳細につい
ては、アクセシビリティと条件付き書式設定 [366 ページ]を参照してください。
17.2.2.5
テキストと非テキスト要素の適切なバランスを見つける
代替テキストは非常に柔軟で、しばしばアクセシビリティのための最良のソリューションとなりますが、常に必要で最適だとは
限りません。
すべての非テキスト要素に対して代替テキストが必要なわけではありません。テキストによる説明なしではユーザがわからな
い情報やナビゲーション要素を提供する非テキスト要素に対してだけ、テキストの代替を含める必要があります。装飾目的で
使用される画像にテキスト説明は必要ありません。レポートにデータの背景として機能する透かし画像がある場合、代替テキ
ストを提供する必要はありません。装飾要素のテキスト説明の追加により、レポートが必要以上に繁雑になることがあります。
レポート内の視覚または聴覚要素のテキストバージョンは、差し替えとしてではなく、要素の補足として使用する必要がありま
す。非テキスト要素を削除する必要はありません。レポート内の視覚要素は、注意力欠如障害などの学習障害のある人々
や、聴覚障害のある人々には特に有用です。聴覚機能障害のある人々は、手話などのビジュアルコミュニケーションに慣れて
おり、テキストよりも画像のほうが役に立つと感じることがあります。
1 つの表現方法だけであらゆるユーザのニーズを満たすことはできません。オーディオクリップは視覚機能障害のある人々に
は非常に有用ですが、聴覚機能障害のある人々は使用できません。両グループの手助けになるように、オーディオとテキスト
を組み合わせて提供します。マルチメディア映像は、視覚機能障害のある人々にはオーディオ情報を、耳の聞こえない人々ま
たはよく聞こえない人々にはビデオ情報を提供できます。マルチメディア映像は、特に注意力欠如障害のある人々に効果的
です。ただし、特定の精神上の障害を持つ人々については、視覚要素やオーディオ要素が注意をそらす原因になることがあり
ます。
最も理想的な方法は、テキストと非テキスト要素の両方で同じ情報を伝えることです。画像を補足する説明テキストを追加し、
テキストを補足するイメージを追加します。
テキスト要素がレポート内に多くなりすぎたら、別のレポートまたはサブレポートで完全にテキストのみのバージョンを提供す
ることもできます。詳細については、テキストのみのバージョンの提供 [361 ページ]を参照してください。
さまざまなユーザのニーズを満たす表現方法の選び方については、柔軟なデザイン [366 ページ]を参照してください。
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
363
17.2.3 色
レポート内の要素に対して選択する色は、視覚機能障害、低視力、色覚異常のある人々のアクセシビリティに大きな影響を与
えることがあります。レポートが白黒で表示されても理解できるものであることを確認します。
17.2.3.1
対比色
視覚に制限のあるユーザの場合、色を区別できないことがあります。レポートの色の対比をテストするには、白黒で印刷また
は表示します。たとえば、円チャートのさまざまな色で表示される値やオブジェクトを区別できる必要があります。
レポートで色の区別ができない場合は、別の色に変えるかグレースケールを使用します。これを実行しても問題を解決できな
い場合は、他の特徴を変更できます。
テキストについては、[書式設定] ダイアログボックスを使用してフォント、サイズまたはスタイルを変更します。境界線、下線、
背景色を追加して、テキスト要素を区別することができます。
17.2.3.1.1
チャートを白黒に変換する
1.
チャートを選択し、[書式]メニューから[チャートエキスパート]を選択します。
2.
チャートエキスパートで、[オプション]タブをクリックします。
3.
[チャートの色]エリアで[白黒]を選択し、[OK]をクリックします。
チャートの色が、さまざまなハイコントラストのパターンと色の塗りつぶしに変わります。
17.2.3.1.2
チャート値の塗りつぶしを変更する
1.
チャートを選択し、変更する塗りつぶし部分をクリックします。
2.
[チャート]メニューで[チャートオプション]をポイントし、次に[背景の書式]をクリックします。
3.
[背景の書式]ダイアログボックスの[塗りつぶし]タブで色を選択し、[パターン]をクリックします。
4.
[パターンの選択]ダイアログボックスで、パターンをクリックしてから[OK]をクリックします。
注記
チャート値の塗りつぶしとして、テクスチャ、グラデーション、画像を選択することもできます。詳細は、チャート ヘルプを参
照してください。
17.2.3.2
色を使用した情報の提供
レポート中の重要な情報の特徴の識別は、色だけで行わないようにしてください。
364
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
たとえば、テキストオブジェクトを使用して、ユーザに "“緑色のボタンをクリック”" してサブレポートを開くように指示するとしま
す。しかし、視覚に障害のあるユーザーは、どのボタンが緑色かわかりません。色の他に別の決定的な特徴を使用して、ボタ
ンがわかるようにする必要があります。たとえば、ボタングラフィックをレポートの他の箇所では使用されていない形に変更し、
ユーザに "“緑色の矢印ボタンをクリック”" するように指示することができます。この解決策は、色を区別できる人には色情報
を提供し、色を区別できない人には追加情報を提供します。
重要な情報を提供する目的で色が使用される一般的なケースとして、次のものがあります。
●
強調表示
テーブル内の特定の値を強調表示する場合、値の色だけを変更しないでください。たとえば、未払いの請求書を赤で強
調表示しても、視覚に障害のある人には支払済みの請求書と同じに見えるかもしれません。[強調表示エキスパート]ダイ
アログボックスで、フォントスタイルなどの色以外のフォント特性を変更します。
●
ハイパーリンク
ハイパーリンクを識別する方法として色のみを使用することも、色覚異常のユーザーに問題を生じさせます。レポートを白
黒で印刷し、白黒でもハイパーリンクが見えることを確認します。
●
レポートの重要なエリアの識別
レポートを構成するとき、背景、またはセクションやエリア間の区切りとして色を使用しないでください。セクションの識別に
色を使用せず、レポート全体のナビゲーションを明確かつ一貫したものにしてください。
17.2.4 ナビゲーション
複数のナビゲーション方法を利用できるようにすることは、アクセシブルなデザインのその他の側面と同様に、より多くの人の
レポートニーズを満たすことにつながります。明確性と一貫性が保たれてわかりやすいことは、直感的なナビゲーションに不
可欠です。
レポートのある部分を、レポートをナビゲートしたり、いくつかのレポートに接続したりするために使用する場合があります。ペ
ージ ヘッダーに一連のリンクを配置するときは、ユーザーがページを最新表示または新しいページを表示するたびに、スクリ
ーン リーダー ソフトウェアがナビゲーション情報を読み直すことに留意してください。このような場合には、シンプルなナビゲー
ションが適しています。
大きなレポートについては、目次としてナビゲーション リンクの一覧をレポート ヘッダーに配置できます。データ量が多いとき
は、さらに広範囲のナビゲーションが役に立ちます。ユーザがリストをスキップできるようにするため、最初のページヘッダにジ
ャンプする "“目次をスキップする”" リンクで開始することができます。
一般的に、レポートのナビゲーションは次のガイドラインに従う必要があります。
●
各リンクのターゲットを識別します。
●
レポートの最初で、レイアウトとナビゲーションを説明する情報を提供します。
●
一貫したナビゲーションを使用します。
●
繰り返しのナビゲーション リンクをスキップできるようにします。
17.2.5 パラメータ
レポートで使用するパラメータは、明確でシンプルにします。パラメータは、アクセシブルなコンテンツを提供するための有効な
手段ですが、アクセシビリティに関するいくつかの懸念もあります。すべてのパラメータのアクセシビリティをテストすることが重
要です。
パラメータは、以下のガイドラインに従う必要があります。
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
365
●
ユーザーが選択できるデフォルト値のリストを用意する。
ユーザーにパラメータ値の入力を求めないようにします。ユーザーが独自の値を指定する場合は、パラメータ フィールド
がその値の書式を確実に認識できることを確認する必要があります。デフォルト値のリストは使いやすく、ユーザーによる
有効な書式の値の選択を保証します。
●
複雑なパラメータを避ける。
複雑なパラメータフィールドは、複数のパラメータに分割すると使用しやすくなります。パラメータのアクセシビリティをテス
トする際には、範囲を必要とするパラメータに特に注意を払ってください。範囲の上限と下限を表す離散値を入力する 2
つのパラメータを設けるほうが、同じパラメータフィールドで両方の値を選択するよりもわかりやすいでしょう。
●
日付フィールドに対して、ユーザーが独自の値を選択できるようにしない。
日付値の選択に使用できるカレンダーは、現在、アクセシブルではありません。デフォルトの日付値の選択リストを用意し
てください。デフォルト値のリストを使用すれば、無効な日付書式を避けることができます。
17.3 柔軟なデザイン
柔軟性は、アクセシブルなレポートを提供するためのキーとなります。ユーザによって必要とするアクセシビリティのレベルは
異なるため、できるだけ多くの人々のニーズを満たすためにさまざまな表現スタイルと方法を提供することをお勧めします。た
だし、詳細なレポートについては、余分なオブジェクトによってレポートを繁雑にすることなく複数の表現スタイルを提供できな
い場合があります。
この問題を解決するには、アクセシブルな書式をどの程度レポートに統合するのかを計画します。各オブジェクトや各セクショ
ン、またはサブレポートとして、アクセシブルな書式を提供することができます。ユーザにアクセシブルな書式を表示するかど
うかの選択を要求するパラメータを使って、独自のアクセシビリティオプションを選択させることができます。
パラメータを使用すると、異なるアクセスニーズに合わせて条件付きでオブジェクトを書式設定したり、セクションを非表示にし
たりすることができます。または、サブレポートを使って異なる表示オプションを用意することもできます。
17.3.1
アクセシビリティパラメータを作成する
1.
Crystal Reports で
2.
[データエクスプローラ] で
3.
[パラメータの作成] ダイアログボックスで、[名前] フィールドにパラメータ名 (たとえば「アクセス」) を入力します。
4.
[種類] に [文字列] が設定されていることを確認します。
5.
[値の一覧] フィールドをクリックして、"はい" および "いいえ" の値を追加します。
6.
[プロンプト] 領域で、[プロンプトテキスト] フィールドにプロンプトテキスト (たとえば「このレポートのアクセシブルな形
表示
サイドパネル
新規作成
データエクスプローラ
新しいパラメータ
の順にクリックします。
の順にクリックします。
式を有効にしますか。」) を入力します。
7.
[OK] をクリックしてパラメータの作成を終了し、ダイアログボックスを閉じます。
17.3.2 アクセシビリティと条件付き書式設定
アクセシビリティパラメータを簡単な式で使用し、レポートの任意のオブジェクトに複数の書式を設定できます。パラメータによ
ってプロンプト表示されたときにユーザが [“はい”] を選択すると、条件式により、アクセシブルな書式設定規則にオブジェクト
366
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
が変更されます。ユーザが [“いいえ”] を選択すると、レポートはアクセシブルな書式設定なしで、おそらく標準の企業テンプレ
ートで表示されます。
アクセシブルなテキストの書式設定では、この節と W3C で提示するガイドラインに従うか、レポート ユーザーの意見を聞いて
最適な書式を決定することができます。使用する書式設定オプションを決定したら、オプションを定義する条件式を作成できま
す。たとえば、全データベースフィールドを大きな Arial フォントで、黒背景に白文字で、[複数行に出力]オプションを有効にし
た状態で表示できます。
次の手順では、[?アクセス] パラメータに基づいて条件付き書式設定式を作成します。[?アクセス] パラメータが "“はい”" に設
定されると、式はフォントサイズを大きくします。同じような式を使用して、色の変更、境界線の追加、または [複数行に出力]
設定の有効化を行うことができます。条件付き書式設定フィールドと書式設定式エディタの使用方法の詳細については、
Crystal Reports オンライン ヘルプを参照してください。
注記
テキストオブジェクトが小さすぎて大きいフォントが入りきらない場合は、[複数行に出力] 設定を有効にする同じような条件
付き書式設定式を使用できます。この設定は、書式エディタの [共通] タブに表示されます。
17.3.2.1
アクセシブルな設定を条件付きでフォントサイズに適用する
1.
Crystal Reports の [構造] モードでレポートを開きます。
2.
[ボディ] セクションで、条件付きで書式設定するオブジェクトを右クリックし、[書式] を選択します。
3.
[書式設定] ダイアログボックスの [フォント] タブをクリックします。
4.
[サイズ] リストに対応する [式] ボタンをクリックします。
書式設定式エディタに、新しい式 [フォントサイズ] が表示されます。
5.
式のテキストウィンドウに次の式を入力します。
if {?Access} = "Yes"
then 20
else 10
この式では、ユーザがアクセシブルな書式設定の表示を選択すると、現在選択されているフィールドのフォントサイズが
10 ポイントから 20 ポイントに変更されます。
6.
[保存して閉じる]をクリックします。
7.
[書式設定] ダイアログボックスで [閉じる] をクリックします。
17.3.3 アクセシビリティと非表示セクション
個々のオブジェクトを条件付きで書式設定する代わりに、レポート コンテンツのアクセシブル バージョン用のセクションを別に
設け、アクセシビリティ パラメータ フィールドを使用して、そのセクションを条件付きで非表示にすることができます。アクセシブ
ル セクションおよび非アクセシブル セクションは、ユーザーが選択したパラメータ値に基づいて非表示または表示が切り替え
られます。
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
367
レポート コンテンツのアクセシブル バージョンに別のセクションを作成すると時間が余計にかかりますが、オブジェクト レベル
で書式設定するよりも、セクションを条件付きで非表示にするほうが実用的であるケースがいくつかあります。
●
レポートに多くのオブジェクトが含まれているときは、セクションを非表示にすることで、必要になる条件式の数を減らすこ
とができる場合があります。
●
すべての設定、機能を条件付きで書式設定できるとはかぎりません。しかし、セクションを非表示にすることで、自由に書
式設定を変更できます。
●
アクセシブル バージョンのレポートを表示するユーザーに、全く異なるタイプの情報を提供したい場合もあります。たとえ
ば、視覚オブジェクトとオーディオ オブジェクトを 2 つの別セクションに分割し、ユーザーが選択するパラメータ値に応じて
条件付きでそれらを非表示にする場合です。
17.3.3.1
アクセシブルセクションを非表示にする
1.
条件付きで非表示にするセクションの左境界を右クリックし、[セクションの書式設定] をクリックします。
2.
[書式設定] ダイアログボックスで [全般] ノードをクリックし、次に [非表示] に対応する式ボタンをクリックします。
書式設定式エディタに、新しい式が表示されます。
3.
式のテキストウィンドウに次の式を入力します。
if {?Access} = "No" then True
ユーザがアクセシブルなレポートコンテンツを表示しないことを選択すると、この式により [非表示] オプションが選択され
ます。
4.
[保存して閉じる]をクリックします。
5.
[書式設定] ダイアログボックスで [OK] をクリックします。
17.3.4 アクセシビリティとサブレポート
アクセシブルなレポートのデザインは、条件付きで書式設定されるオブジェクトと非表示にされるセクションの使用により、非
常に扱いにくくなる可能性があります。特に、次の 2 つの状況が問題です。
●
レポートをアクセシブルにするために、レポートセクション全体の構成を変更したり、または別のオブジェクトが必要になっ
たりすることがあります。
●
レポートに多数のオブジェクトやセクションが含まれている場合、それらすべてに条件式を作成するためには、多大な時
間を要します。
たとえば、レポートに含まれている多数の非テキストオブジェクトが、一連の複雑なグループやセクションで表示される場合、
テキストのみのバージョンを提供することができます。このバージョンでは、アクセシビリティガイドラインを満たすために、さま
ざまなオブジェクトと単純化したグループ構造を使用します。この問題に対処する最も簡単な方法は、レポートのアクセシブル
バージョンを表示するサブレポートを作成し、そのサブレポートをメインレポートの先頭に置くことです。テキストのみのバージ
ョンのアクセシブルなサブレポートを作成する詳細については、テキストのみのバージョンの提供 [361 ページ]を参照してくだ
さい。
スクリーンリーダーだけがサブレポートを認識するようにしたい場合は、サブレポートへのリンクを背景色と同じ色に変更する
ことによって、サブレポートのリンクを隠すことができます。あるいは、[?アクセス]パラメータフィールドを使用して、レポート内
のサブレポートの表示/非表示をユーザが選択できるようにすることも可能です。サブレポートを固有のセクションに配置し、
368
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
[?アクセス]パラメータフィールドに基づいて、そのセクションを条件によって非表示にします。詳細については、アクセシビリテ
ィと非表示セクション [367 ページ]を参照してください。
17.4 データテーブルのアクセシビリティの向上
大きなデータ テーブルは、ユーザーがスクリーン リーダーなどの視覚以外の方法で Web にアクセスしている場合、解釈が難
しくなることがあります。スクリーン拡大鏡またはズーム機能を使用している人は、データ テーブルをナビゲートしにくいと感じ
るかもしれません。なぜなら彼らには、テーブル ヘッダーは常時見えないからです。スクリーン リーダーが読んでいる値と対
応する列および行ヘッダーとの関連付けが難しくなることがよくあります。ユーザーは、データ値のテーブル内の位置と、他の
値との関係を理解できる必要があります。
データ テーブルをナビゲートしやすくするには、テキスト オブジェクトを使用して、それぞれの値に対してコンテキスト情報を提
供することができます。条件付きの書式設定や非表示の使用により、ユーザーが表示を選択した場合にだけオブジェクトを表
示するレポートを作成できます。別のデザイン ガイドラインは、概要パラグラフや列ヘッダーの拡大など、よりわかりやすい大
きなデータ テーブルの作成に役立ちます。
注記
これらのガイドラインでは、"データテーブル"という用語は、列および行に配置される値を指します。Crystal Reports のデ
ータテーブルは、グループまたはページヘッダが [詳細] セクション内のデータベースフィールドと結びついた形式を取りま
す。データテーブルをデータベーステーブルと混同しないでください。データベーステーブルとは、Crystal Reports が使用
するデータソースを指します。
17.4.1
テキスト要素とデータテーブルの値
大きなテーブルをわかりやすく、そしてナビゲートしやすくするには、テーブル内の各値に関する情報を提供するテキスト要素
を追加します。
表示される値の意味とコンテキストの識別に必要な情報をすべて追加してください。また、必要に応じて、列ヘッダーまたは付
近のフィールドを説明する情報も追加してください。たとえば、レポートに従業員名と給与を表示する場合、"給与" データベー
スフィールドの前に、"“{名前} の給与は”" というテキスト要素を追加することができます。ユーザは、追加されたテキスト要素
を読むことで、値のコンテキストと意味を判断することができます。
テキスト要素では句読点を使用して、スクリーンリーダーが音読したときに、内容がわかりやすいことを確認します。アクセシ
ビリティ目的の句読点がないと、データ テーブルは、1 つの長い文として読まれる可能性があり、ナビゲーションや解釈が非常
に困難になります。たとえば、スクリーン リーダが列と行との間に一時停止を入れるように、値の後にピリオドを追加すること
ができます。詳細については、句読点の使用 [362 ページ]を参照してください。
レポート内のすべての要素と同様に、レポート上にテキスト要素を配置する順序は、アクセシビリティに影響することがありま
す。スクリーンリーダーは、要素が追加されたオリジナルの順序で要素を読みます。詳細は、要素の順序立った配置 [360 ペ
ージ]を参照してください。データテーブル内の特定の列の内容を表すテキスト要素を追加する際には、正しい順序で配置す
ることが非常に重要です。デザインプロセスの最後にテキスト要素を追加すると、これらのテキスト要素は、参照している列の
後に読まれる可能性があります。レポート内の値を説明するテキスト要素を追加する際には、必ず、読ませる順序に従って、
要素をレポート上に配置してください。
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
369
アクセシブルなデータテーブルを作成する場合は、前もってレポートを計画し、レポートで使用する要素と結果オブジェクトを決
定しておく必要があります。要素は、読ませる順序で配置する必要があるため、アクセシビリティを考慮して内容を計画するこ
とが不可欠です。この計画の一環として、テキスト要素を使用してデータテーブルの値を示す方法を選択するのはいい考えで
す。テキスト要素は、単純に各結果オブジェクトの前に追加することができます。また、テキスト要素を条件付きで非表示にし
たり、テキスト要素と値を結合する式を使用したりすることもできます。
17.4.1.1
テキストによるデータテーブルの説明
各オブジェクトの前に、テーブル内のオブジェクト位置を示すテキスト要素を追加します。たとえば、テキストボックスで社員番
号についての情報を提供することができます。このレポートがスクリーンリーダーによって読まれる際には、各番号の前に、テ
キストボックス内の簡単な説明が読まれます。
各値に対して付加的な情報を提供すると、データテーブルは視覚障害のない人々にとって煩雑に感じられます。そこで、フォ
ントの色を背景色と同じ色に変更することにより、余分なテキスト要素を隠すことができます。余分なテキストは目には見えま
せんが、スクリーンリーダーはこれを検知して読むことができます。
17.4.1.2
データテーブルの説明に条件を付けて使用
テキスト要素の追加は比較的簡単ですが、アクセシビリティに関するあらゆる懸念に対応しているわけではありません。目に
見えないテキストは、スクリーンリーダーが読むことができますが、視覚障害のある人々の役には立ちません。テキスト要素を
条件付きで書式設定したり非表示にしたりすることによって、データテーブル内にテキストの説明を表示するかどうかを、ユー
ザが選択可能にすることができます。
レポートに、アクセシビリティパラメータが含まれていることを確認してください。[?アクセス] というアクセシビリティパラメータの
作成方法については、柔軟なデザイン [366 ページ]を参照してください。
パラメータを使用して、条件付きでテキスト要素を非表示にすることができます。これは、フォントの色を背景色と同じにするの
と同じ効果がありますが、テキストを条件付きで非表示にすると、パラメータを使用して、フォントサイズやスタイルといった別
の書式設定オプションを指定することもできます。
[?アクセス] パラメータに対し [はい] が選択されたときだけテキスト要素が表示されるように、次のレポートでは、単純な条件
式を使用して、書式エディタの [共通] タブの [非表示] オプションを有効にしています。
{?Access}="No"
非表示にする各テキスト要素にこの式を追加する必要があります。
ユーザが [?アクセス] パラメータに対し [はい] を選択すると、テキスト要素は非表示にされず、データテーブルにはテキスト
説明が表示されます。
ユーザが [?アクセス] パラメータに対し [いいえ] を選択すると、条件式は、テキスト要素を非表示にし、レポートのテキスト要
素の部分をスペースのままにします。
370
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
17.4.1.3
式を使用したデータテーブルの説明
データテーブルに説明テキストを追加する別の方法として、テキスト、結果オブジェクト、条件付き書式設定を組み合わせた式
を作成することができます。[アクセス] パラメータに基づく条件付き式にテキストと結果オブジェクトを一緒に追加することによ
り、レポートにスペースを残すことなく、テーブル内の値に関するオプションのテキストを提供できます。式を使用すると、レポ
ート内の要素の数を減らすこともできるため、適切な配置順序の維持が容易になります。
注記
レポートに集計オブジェクトまたは計算オブジェクトが存在する場合は、この方法を使用しないでください。式によってデー
タが最良の方法で表示されても、データがテキストに変換されることにより、計算に支障をきたす可能性があります。
[詳細] セクション内の式を使って、結果オブジェクトと追加のテキストを結合するレポートを作成できます。ユーザが [?アクセ
ス] パラメータに対し [はい] を選択すると、各式によって、説明と値を含む文字列が作成されます。
作成可能な式のタイプの例を次に示します。
@社員番号
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})
文の最後に句点が追加されていることに注意してください。各式の終わりの句点により一呼吸おかれるため、スクリーンリー
ダーの音読内容がわかりやすくなります。
注記
また、レポートでは、[複数行に出力] 設定を有効にしてフォントサイズを大きくするためにも、[?アクセス] パラメータが使用
されています。
注記
@社員番号 では、[?アクセス] パラメータを "0" に設定して、[複数行に出力] オプションを有効にし、フォントサイズを大きく
します。
ユーザが [?アクセス] パラメータに対し [いいえ] を選択すると、式はデータのみを返します。 レポートでは、条件付きのテキ
スト要素の部分にスペースは表示されません。どちらのバージョンのレポートも読みやすくなっています。
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
371
17.4.2 データテーブルデザインのその他の考慮事項
テキスト要素をデータ値に付けるのに加えて、その他のデザイン手法を使って、わかりやすくナビゲートしやすいデータテーブ
ルを作成します。
●
テーブルの内容を要約した導入的なパラグラフを含めます。要約は、できれば、1 文か 2 文の短いものがよいでしょう。
●
ヘッダーでは、それらが付けられている値を明確に識別できる十分な情報が提供されていることを確認してください。
●
テーブルのアクセシビリティをテストするには、そのヘッダーを読み、値を左から右、上から下へと直線的に読みます。た
とえば、レポートで各顧客の名オブジェクトと姓オブジェクトを表示する場合、姓に続いて名が読まれるようにするといいで
しょう。できる限り、スクリーンリーダーソフトウェアなどの補助テクノロジーを使って、レポートをテストしてください。
最終的なアクセシブル レポートには、データテーブルが含まれます。
テーブルを条件付きで表示するため、レポート作成者は、[ページヘッダ]を 2 つのセクションに分けました。[?アクセス] パラメ
ータが [いいえ] の場合は、1 ページ目のヘッダが非表示になります。[はい] を選択すると、2 ページ目のヘッダが非表示に
なります。詳細については、アクセシビリティと非表示セクション [367 ページ]を参照してください。
372
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
アクセシブルレポートの作成
18 SAP Crystal Reports のバージョン間のレポート
の共存
Crystal Reports for Enterprise の新しいエンジンは、SAP BusinessObjects XI 4.0 の Crystal Reports 2013 エンジンと
共存します。 共存によって下位互換性が提供されるため、既存のレポートをそのまま新しいテクノロジーで使用したり、レポー
トを移行して新しい機能を利用することができます。 目的とする Crystal Reports の機能にアクセスするための作業は、必要
なサーバをインストールして実行するだけです。これを行うことで、SAP BusinessObjects の実行に必要なリソースが削減さ
れます。
18.1 SAP Crystal Reports のバージョン
SAP BusinessObjects XI 4.0 には 2 つのバージョンの Crystal Reports があります。
Crystal Reports 2013
Crystal Reports 2013 は、標準の Crystal Reports の最新バージョンです。 Crystal Reports 2013 は既存のすべてのレポ
ートと下位互換性があり、Crystal Reports 2008 と同じデータソースをサポートします。 新機能または共通セマンティックレイ
ヤにアクセスしない場合は、レポートを Crystal Reports for Enterprise に転送する必要はありません。
Crystal Reports for Enterprise
Crystal Reports for Enterprise を使用すると、共通セマンティックレイヤのデータソース (SAP、ユニバース (unx)、および
分析ビュー) に関するレポートを作成できます。 Crystal Reports for Enterprise には新しいエンジンとデザイナが搭載され
ています。
18.2 別々に処理されるレポート
SAP BusinessObjects Intelligence プラットフォーム (BIP) では、Crystal Reports 2013 と Crystal Reports for
Enterprise は別々のエンジンで実行されます。
●
SAP Crystal Reports 2013 で保存されたレポートは、Crystal Reports 2013 サーバで実行されます。
●
SAP Crystal Reports for Enterprise で保存されたレポートは、SAP Crystal Reports for Enterprise サーバで実行さ
れます。
どちらのサーバも、ユーザの制御を高めるために別々に設定および実行できます。
SAP Crystal Reports for Enterprise ユーザガイド
SAP Crystal Reports のバージョン間のレポートの共存
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
373
注記
サーバの設定の詳細については、SAP BusinessObjects Intelligence プラットフォーム管理者ガイドを参照してください。
ユニバース
BI プラットフォームには次の 2 種類のユニバースがあります。
●
unv: Universe Designer で作成され、Crystal Reports 2013 で使用されます。
●
unx: インフォメーションデザインツールで作成され、SAP Crystal Reports for Enterprise で使用されます。.
注記
unx ユニバースの作成の詳細については、「インフォメーションデザインツール」に関する項目を参照してください。
サーバ一覧
Crystal Reports では次のサーバが使用されます。
2013 および次世代の両方のスタックによって共有される Crystal Reports サーバ
●
Crystal Reports Cache Server
Crystal Reports 2013 スタックを使用する Crystal Reports サーバ
●
Crystal Reports 2013 Processing Server
●
Crystal Reports 2013 Job Server
●
Report Application 2013 Server
次世代の Crystal Reports スタックを使用する Crystal Reports サーバ
●
Crystal Reports Processing Server
●
Crystal Reports Job Server
18.3 既存のレポートの更新
Crystal Reports for Enterprise デザイナでは、標準の Crystal レポートを Crystal Reports for Enterprise で作成できま
す。 Crystal Reports for Enterprise デザイナで以前のレポートを開くと、共通セマンティックレイヤにレポートを接続するた
めのウィザードが表示されます。 このウィザードには、この転送によってレポートで発生する可能性のある問題が表示されま
す。
一般的な問題としては、次の機能が見つからないという問題が生じます。
●
374
マップ
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
SAP Crystal Reports for Enterprise ユーザガイド
SAP Crystal Reports のバージョン間のレポートの共存
●
OLAP グリッド
●
カスタム関数
●
UFL
レポートを共通セマンティックレイヤに接続したら、続行する前に、そのまま機能するかどうかを確認する必要があります。
Basic 構文
Crystal Reports 2013 で作成されたレポートには、Basic 構文で記述された式が含まれていることがあります。 Crystal
Reports for Enterprise は既存の式の Basic 構文をサポートするため、レポートの処理を通常通り行うことができます。 ただ
し、新しい式を作成する場合は、Crystal 構文で記述する必要があります。
18.4 [日時フィールドを変換] オプションの無効化
[日時フィールドを変換] オプションを使用する古いレポートを開くと、Crystal Reports for Enterprise では警告メッセージが
表示されます。
[日時フィールドを変換] オプションは、バージョン 9 以前の Crystal Reports (2002 年より前にリリースされたバージョンの
Crystal Reports) により作成されたレポートでのみ使用されます。 このオプションにより、日時フィールドのデータ型が文字列
型から日時型に変換されます。 Crystal Reports for Enterprise でレポートを開く際、指定済みの設定は適用されたままとな
りますが、この設定の表示および変更はできません。
この問題を解決するには、次の手順でこのオプションを無効にします。
1.
2.
Crystal Reports 2013 でレポートを開きます。
ファイル
レポートオプション の順にクリックします。
3.
開かれた [レポートオプション] ダイアログボックスで、[日時フィールドを変換] オプションを無効にします。
4.
レポートを保存します。
このレポートを Crystal Reports for Enterprise で普通に開けるようになります。
18.5 監査レポート
監査レポートでは標準の管理情報に加え、レポートの実行サーバが Crystal Reports 2013 サーバと Crystal Reports for
Enterprise サーバのどちらであるかも表示されます。 この情報により、管理者は Crystal Reports for Enterprise に移行す
るときにどのサーバを引き続き実行するかを決定できます。
注記
レポートの監査情報へのアクセスの詳細については、SAP BusinessObjects XI 4.0 管理者ガイドを参照してください。
SAP Crystal Reports for Enterprise ユーザガイド
SAP Crystal Reports のバージョン間のレポートの共存
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
375
www.sap.com/contactsap
© 2014 SAP AG or an SAP affiliate company. All rights reserved.
本書のいかなる部分も SAP AG の明示的許可なしに、いかなる形式、目
的を問わず、複写、または送信することを禁じます。 本書に記載された情
報は、予告なしに変更されることがあります。
SAP AG がライセンスする、またはその頒布業者が頒布するソフトウェア製
品には、他のソフトウェア会社の専有ソフトウェアコンポーネントが含まれて
います。 製品仕様は、国ごとに変わる場合があります。
これらの文書は SAP AG およびその関連会社 (「SAP グループ」) が情報
提供のためにのみ提供するもので、いかなる種類の表明および保証を伴う
ものではなく、SAP グループは文書に関する錯誤又は脱漏等に対する責
任を負うものではありません。 SAP グループの製品およびサービスに対す
る唯一の保証は、当該製品およびサービスに伴う明示的保証がある場合
に、これに規定されたものに限られます。 本書のいかなる記述も、追加の
保証となるものではありません。
SAP、および本書で言及されるその他 SAP の製品およびサービス、ならび
にそれらのロゴは、ドイツおよびその他諸国における SAP AG の商標また
は登録商標です。
商標に関する情報および表示の詳細については、http://
www.sap.com/corporate-en/legal/copyright/index.epx をご覧くださ
い。
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement