別の(外部)レポートによるドリルダウンレポートとは、メインデータと詳細データが異なるレポートに配置された対話型レポートを意味します。このようなレポートは、Interaction.Drill-Down Report プロパティを使用して作成することができます。外部レポートを使用したドリルダウンレポートの例を考えてみましょう。まず、詳細なデータのレポートを作成します。このレポートには、商品とその価格のリストが含まれます。レポートテンプレートのページには、式を含むテキストコンポーネントを持つデータバンドを配置します。 Products.ProductID、Products.ProductName、Products.UnitPriceの式を含むテキストコンポーネントを使用して、レポートテンプレートのページにデータバンドを配置します。このバンドでは、データソースProductsを選択する必要があります。また、ヘッダーバンドを追加します。下図は、詳細情報を含むページテンプレートです。
データバンドに (int)this[“CategoryID”] == Products.CategoryID という式を持つフィルタを追加します。その後、レポート・テンプレートを保存する必要があります。例えば、レポートを保存してください。 D:\Products.mrt に保存します。次に、この例のメインデータであるカテゴリ名を含むレポートを作成します。ページテンプレートにテキストコンポーネントを持つデータバンドを配置します。テキストコンポーネントには、Categories.CategoryNameという式が入ります。このバンドでは、データソースCategoriesを選択する必要があります。下の図は、メインデータを含むレポートテンプレートのページを示しています。
次に、テキストコンポーネントを選択し、いくつかのプロパティの値を変更します。Interaction.Drill-Down Enabled プロパティは、true に設定する必要があります。次に、Interaction.Drill-Down Report プロパティの値を、詳細データのあるレポートへのフル・パスに設定します。
また、Drill-Down Parametersを指定します。各パラメーターでは、以下のプロパティを変更する必要があります。 NameとExpressionです。この場合、CategoryIDという名前とCategories.CategoryIDという式を持つ詳細パラメータを定義します。次に、レポートをレンダリングします。下の図は、レンダリングされたレポートのページを示しています。
上の図からわかるように、テンプレートページには主要なデータがレンダリングされます。詳細データを表示するには、レンダリングされたテキストコンポーネントをクリックします。レポートジェネレータは、詳細設定とフィルタリングのパラメータを考慮してレポートを実行し、レンダリングします。下の図は、レポートを模式的に示しています。