レポートに表示するフィールドを選択すると、デフォルトでは、使用中のテーブルのすべてのレコードのフィールド値が出力されます。しかし、ほとんどの場合、必要なのは、すべての値ではなく、一部の値だけです。例として、次のような場合があります。
データベースのすべてのレコードのうち、特定の範囲にある顧客番号のレコードだけを入れる場合
レコード選択のオプション
Crystal Reports は、たいへん洗練された式言語を備えています。式言語を使用すると、実質上あらゆる種類のレコード選択を指定できます。ただし、レコードの選択で、常に式言語の柔軟性が必要になるわけではありません。通常、レコードの選択には、[レコード フィルタ]ダイアログを使用します。
レコードを選択するには、次の 2 とおりの方法があります。
[レコード フィルタ]ダイアログと式について理解したら、レコード選択を使用して、レポートのパフォーマンスを向上させることができます。
使用するフィールドの決定
レコードを選択するということは、設定した何らかの条件を満たすレコードだけを基にしてレポートを作成するということです。その条件によって、どのような情報が最終的にレポートに含まれるかが決まります。
たとえば、カリフォルニア州のデータだけを表示するレポートが必要とします。そこで、カリフォルニア州のレコードを識別するための最善の方法を考えます。
レポートで使用するテーブルに州のフィールドや地域のフィールドがある場合は、そのフィールドの値がカリフォルニアであるレコード(“地域”フィールドの値が“CA”であるレコード)だけが使用されるように指定します。
テーブルに州のフィールドがなく、それでもカリフォルニア州のデータだけのレポートが必要な場合は、別の方法でデータを識別することを考えます。
テーブルに郵便番号のフィールドがある場合は、カリフォルニア州の郵便番号 (n から N まで)に基づいてレコードを選択するように指定します。
テーブルに市外局番のフィールドがある場合は、カリフォルニア州の市外局番(x、y、z のいずれかの市外局番)に基づいてレコードを選択するように指定します。
注
市外局番が電話番号のフィールドに含まれている場合、[レコード フィルタ]ダイアログでは市外局番に基づくレコード選択を行うことはできません。その場合は、式言語を使ってレコード選択式を作成し、電話番号の市外局番だけを抽出して、それに基づくレコード選択を行う必要があります。
この例のように、いくつかのフィールドに基づいてレコード選択を指定できる場合、通常は、インデックスのないフィールドではなく、インデックス付きフィールドを使用すると、パフォーマンスが向上します。