レッスン 5 : ドリルスルー レポートに渡すパラメーターの追加
ドリルスルー レポートとは、現在のレポート内のリンクをクリックするとアクセスできるレポートです。ドリススルー アクションが設定されたテキスト ボックスをクリックすると、ドリルスルー レポートが表示されます。ドリルスルー レポートにパラメーターが存在する場合は、各レポート パラメーターにパラメーター値を渡す必要があります。
このレッスンでは、新しいレポートをデザインして、パラメーターを使用して指定した販売注文の詳細データを表示します。既存のレポートを開いて、販売注文番号のドリルスルー アクションを作成します。このレポートを実行して、販売注文番号をクリックすると、新しいレポートが開き、その販売注文の詳細が表示されます。
開いているレポート サーバー プロジェクトに新しいレポートを追加するには
ソリューション エクスプローラーで [レポート] を右クリックし、[追加] をポイントして、[新しい項目] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[テンプレート] の [レポート] をクリックします。
[ファイル名] に「Sales Order Detail.rdl」と入力して、[追加] をクリックします。
レポート デザイナーが起動し、[デザイン] ビューに新しいレポート定義が表示されます。
共有データ ソースの参照を作成するには
レポート データ ペインで、[新規作成] をクリックし、[データ ソース] をクリックします。
注意 レポート データ ペインが表示されない場合は、[表示] メニューの [レポート データ] をクリックします。
[名前] に、「AdventureWorks_Ref」と入力します。
[共有データ ソース参照を使用する] を選択します。
ドロップダウン リストから [AdventureWorks] を選択します。
[OK] をクリックします。
新しいデータセットを作成するには
レポート データ ペインでデータ ソース AdventureWorks_Ref を右クリックし、[データセットの追加] をクリックします。
[名前] に「SalesDetails」と入力します。
[クエリ] ボックスに、次のクエリを貼り付けます。
SELECT P.Name AS Product, SD.OrderQty AS Quantity, SD.LineTotal FROM Sales.SalesOrderDetail AS SD INNER JOIN Production.Product AS P ON SD.ProductID = P.ProductID INNER JOIN Sales.SalesOrderHeader AS SOH ON SD.SalesOrderID = SOH.SalesOrderID WHERE (SOH.SalesOrderNumber = (@SalesOrder) ) ORDER BY SD.SalesOrderDetailID
データセットのフィールド コレクションを作成する際は、クエリ デザイナーでクエリ パラメーター値を使用してクエリを実行する必要はありません。
(省略可) クエリ デザイナーを開き、ツール バーの [実行] ([!]) をクリックします。@SalesOrder に値「SO43659」を提供します。結果ペインには、12 個の製品が表示されます。[OK] をクリックします。
[OK] をクリックします。
レポート データ ペインで、[パラメーター] を展開し、パラメーター SalesOrder が表示されていることを確認します。
データセット フィールドが含まれているテーブルを追加するには
ツールボックスからデザイン画面に、[テーブル] をドラッグします。
[レポート データ] ペインから [データ] 行のテーブル セルに、Product、Quantity、および LineTotal の各フィールドをドラッグします。
レポートをプレビューします。
レポートを実行する前に、有効な販売注文番号を入力する必要があります。
レポート ビューアー ツール バーの [販売注文] に「SO43659」と入力します。
このレポートには、指定された販売注文の行の合計が表示されます。
テーブルの書式を設定するには
[デザイン] ビューに切り替えます。
[LineTotal] が含まれるセルを右クリックし、[テキスト ボックスのプロパティ] をクリックします。
[数値] をクリックします。
[カテゴリ] の [通貨] をクリックします。
[OK] をクリックします。
テーブルで、列ヘッダーが含まれる最初の行の行ハンドルをクリックします。行内のすべてのセルが選択されます。
[書式] メニューの [フォント] をポイントし、[太字] をクリックします。
レポートを表示すると、LineTotal の値は通貨として表示され、列ヘッダーは太字のフォントで表示されます。
次に、ドリルスルー アクションを追加してこのレポートを指定します。
レポートにレポート ドリルスルー アクションを追加するには
ソリューション エクスプローラーで、Sales Orders.rdl をダブルクリックします。レポートが [デザイン] ビューに表示されます。
[順序] 列で [Order] が含まれるテキスト ボックスを右クリックし、[テキスト ボックスのプロパティ] をクリックします。
[アクション] をクリックします。
[ハイパーリンクとして有効にする] の [レポートに移動する] を選択します。
ダイアログ ボックスに別のセクションが表示されます。
ドロップダウン リストの [ここをクリックして一覧からレポートを選択] で、[販売注文詳細] を選択します。
[レポートの実行に以下のパラメーターを使用] で、[追加] をクリックします。
新しい行がグリッドに追加されます。
ドロップダウン リストの [名前] には、このレポート用に定義されているパラメーターの一覧が表示されます。ここで [SalesOrder] を選択します。
ドロップダウン リストの [値] で、[Order] を選択します。
これにより、対象レポートが必要なパラメーターにメイン レポートの値がバインドされます。
次は、ドリルスルー リンクのテキスト スタイルと色を変更します。
[フォント] をクリックします。
ドロップダウン リストの [文字飾り] で、[下線] を選択します。
[色] の横にある ([fx]) をクリックして、[式] ダイアログ ボックスを開きます。
既定のテキスト [黒] を別の色 (たとえば、[青]) に置き換えます。
注意 フォント色として有効な値を確認するには、[値] ペインの [その他の色] をクリックします。[色の選択] ダイアログ ボックスが開きます。このダイアログ ボックスで有効な色を参照して、使用する色を選択できます。[OK] をクリックします。
[OK] を 2 回クリックします。
これで、追加したテキスト ボックスのテキストに選択した色の下線が付きます。こうした装飾によって、別のレポートへのアクティブなリンクがわかりやすくなります。
レポートのプレビューを表示するには
[プレビュー] をクリックします。Sales Orders レポートには、日付でグループ化された販売注文が表示されます。Order 列には、ドリルスルー リンクとして販売注文番号が表示されます。
ドリルスルー リンクの販売注文番号をクリックします。
ドリルスルー リンクによって指定されたレポートが実行され、クリックした販売注文番号の注文の詳細が表示されます。
注意 メイン レポートに戻るには、レポート ビューアー ツール バーの戻る矢印をクリックします。