次の方法で共有


レッスン 2: 計算フィールドの作成 (レポート ビルダ 1.0)

このレッスンでは、既存の式を展開し、その式にフィルタを適用して、フィルタを保存した後、変更した式を新しい計算フィールドとして保存します。

データのソースは多数のエンティティで構成され、各エンティティには少なくとも 1 つのフィールドが含まれている可能性があります。しかし、使用可能なフィールドの中でも、取得するデータによっては実際に必要なデータを返さないフィールドもあります。このような場合、フィールドの既存の式を変更して、新たなフィールドとして保存できます。または、実際に必要なデータを取得するための独自の計算フィールドを作成することもできます。

各フィールドが 1 つのエンティティに関連付けられているのと同様に、新たに作成するフィールドも 1 つのエンティティに関連付ける必要があります。こうすることで、レポート ビルダが基になるデータベースからのデータの取得や操作に使用する情報が提供されます。

すべてのフィールドには式が含まれます。式を構成する基になる要素を表示する場合、その式を展開できます。式を展開することで、フィールドで参照する各エンティティ間の関係を参照できます。式を展開すると、その式の変更、関係パスの任意の箇所へのフィルタの適用、集計レベルの変更、重複の削除が可能になります。

新しく計算フィールドを作成した後は、それをレポートに格納します。レポート内の他の式やフィルタのフィールドを再利用できます。ただし、別のレポート内の計算フィールドの使用を希望する場合は、新しいレポートでそのフィールドを再作成する必要があります。同じ計算フィールドを繰り返し作成していることがわかった場合は、データ ソースの作成者に問い合わせ、データ ソースにその計算フィールドを組み込むように依頼してください。

式を展開するには

  1. デザイン領域で、[#Sales] 列のセル 0 を右クリックし、[式の編集] をクリックします。

    [式の定義] ダイアログ ボックスが表示されます。

  2. [各 Product の式] ボックスで、[#Sales] をダブルクリックします。

    式を展開し、データ ソース内での式のコンテキストを参照します。

式にフィルタを適用するには

  1. ['#Sales' の展開された式] ボックスで、Sales エンティティの [フィルタが適用されていません] をクリックし、[新しいフィルタの作成] をクリックします。

    [データのフィルタ選択] ダイアログ ボックスが表示されます。

  2. [エンティティ] ボックスで、[Sales Order] をクリックします。

  3. [フィールド] ボックスで、[Order Date] をクリックします。

    [Order Date] フィールドが [フィルタ] 領域に追加されます。

  4. フィルタ句で [が次の値に等しい] をクリックし、[相対日付][過去 (n)] の順にポイントし、[年間] をクリックします。

    [が次の値に等しい][が過去...年間に含まれる] に変化します。

  5. スピン ボックスの上矢印をクリックして [2] を選択します。

    このフィルタを適用することによって、レポート ビルダは販売数量を計算する際に過去 2 年間の販売数量に相当するデータのみを返します。

フィルタに名前を付けるには

  1. [フィルタ名] ボックスに「Order date in last 2 years」と入力します。

  2. [OK] をクリックします。

    多くのフィルタを作成し、個別に名前を付け、式の任意の箇所にそのフィルタを適用できます。作成したフィルタに名前を付けないと、フィルタ名にはそのフィルタを適用する実際のフィールド名が反映されます。

計算フィールドの名前を変更して保存するには

  1. [この式を新しい Product フィールドとして保存します] チェック ボックスをオンにします。

  2. [OK] をクリックします。

    [新しいフィールド名] ダイアログ ボックスが表示されます。

  3. 「# Sales in Last 2 Years」と入力します。

  4. [OK] をクリックします。

    デザイン領域が再表示されます。

レポート ビルダ ウィンドウのデザイン領域の # Sales フィールドの名前が変更されていることに注意してください。また、エンティティの一覧で Product エンティティを選択すると、このレッスンで作成した計算フィールドがフィールドの一覧の先頭に表示されます。

これで、新しい計算フィールドを正しく作成できました。次のレッスンでは、別の計算フィールドを作成し、過去 2 年間で販売された各製品の合計数量を決定するフィールドに既存のフィルタを適用します。詳細については、「レッスン 3: 新しい計算フィールドへの既存のフィルタの適用 (レポート ビルダ 1.0)」を参照してください。