レッスン 2: レポート データ ソースのプロパティの変更
この Reporting Services レッスンでは、受信者に配信されるレポートを、Web ポータルを使って選択します。 ここで定義するデータ ドリブン サブスクリプションによって、チュートリアル「基本的なテーブル レポートの作成 (SSRS チュートリアル)」で作成された Sales Order レポートが配布されます。 この後の手順では、レポートがデータの取得に使用するデータ ソースの接続情報を変更します。 データ ドリブン サブスクリプションを介して配信できるのは、 保存されている資格情報 を使用してレポート データ ソースにアクセスするレポートのみです。 保存されている資格情報は、レポートの自動処理に必要となります。
また、データセットとレポートを変更し、パラメーターを使用して [Order]
のレポートをフィルター処理します。これによってサブスクリプションが特定の注文と表示形式で、レポートのさまざまなインスタンスを出力できるようになります。
保存された資格情報を使用するようにデータソースを変更する
管理者特権を使用して Reporting Services Web ポータルを参照します。たとえば、Internet Explorer アイコンを右クリックして [管理者として実行]を選択します。
Web ポータルの URL を参照します。 次に例を示します。
https://<server name>/reports
。
https://localhost/reports
注: Web ポータル URL は "Reports" です。Report Server の URL "Reportserver" ではありません。Sales Orders レポートを含むフォルダーを参照して、ショートカット メニューの [管理] を選択します。
左側のウィンドウ内で、[データ ソース] を選択します。
[接続の種類] が [Microsoft SQL Server] であることを確認します。
接続文字列が次のようになっていることを確認します。この文字列は、サンプル データベースがローカルのデータベース サーバーに存在することを想定しています。
Data source=localhost; initial catalog=AdventureWorks2022
「次の資格情報を使用する」を選択します。
[資格情報の種類] で [Windows ユーザー名とパスワード] を選択します。
ユーザー名とパスワードを入力します。ユーザー名は、 domain\userの形式で入力してください。
AdventureWorks2022
データベースにアクセスする権限がない場合は、このデータベースへの権限があるログイン情報を指定します。[接続テスト] を選択して、データ ソースに接続できることを確認します。
[保存] を選択します。
[キャンセル] を選択します。
レポートを表示し、指定した資格情報を使用してレポートが実行されていることを確認します。
AdventureWorksDataset を変更する
次の手順では、パラメーターを使用して注文番号でデータ セットをフィルター処理できるよう、データセットを変更します。
Sales Orders レポートを SQL Server Data Tools で開く
データセット
AdventureWorksDataset
を右クリックし、 [データセットのプロパティ] を選択します。WHERE (UPPER(SalesOrderNumber) =UPPER(@OrderNumber) or @OrderNumber IS NULL)
ステートメントをGroup By
ステートメントの前に追加します。 次の例は、完全なクエリ構文です。SELECT soh.OrderDate AS Date, soh.SalesOrderNumber AS [Order], pps.Name AS Subcat, pp.Name AS Product, SUM(sd.OrderQty) AS Qty, SUM(sd.LineTotal) AS LineTotal FROM Sales.SalesPerson AS sp INNER JOIN Sales.SalesOrderHeader AS soh ON sp.BusinessEntityID = soh.SalesPersonID INNER JOIN Sales.SalesOrderDetail AS sd ON sd.SalesOrderID = soh.SalesOrderID INNER JOIN Production.Product AS pp ON sd.ProductID = pp.ProductID INNER JOIN Production.ProductSubcategory AS pps ON pp.ProductSubcategoryID = pps.ProductSubcategoryID INNER JOIN Production.ProductCategory AS ppc ON ppc.ProductCategoryID = pps.ProductCategoryID WHERE (UPPER(SalesOrderNumber) =UPPER(@OrderNumber) or @OrderNumber IS NULL) GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, pps.Name, pp.Name, soh.SalesPersonID HAVING (ppc.Name = 'Clothing')
[OK] を選択します。
次の手順では、レポートにパラメーターを追加します。 データセット パラメーターは、レポート パラメーターにフィードされます。
レポート パラメーターを追加し、レポートをリパブリッシュする
[レポート データ] ウィンドウで、[パラメーター] フォルダーを展開し、[Ordernumber] パラメーターをダブルクリックします。 これは、データセットにパラメーターを追加した前の手順で自動的に作成されています。 [新規] を選択し、[パラメーター] を選択します。
[名前] が
OrderNumber
であることを確認します。[プロンプト] が
OrderNumber
であることを確認します。[空白の値 (" " ) を許可] を選択します。
[NULL 値を許可] を選択します。
[OK] を選択します。
[プレビュー] タブを選択してレポートを実行します。 レポートの先頭にパラメーター入力領域が表示されます。 次のいずれかを実行できます。
[レポートの表示] を選択して、パラメーターを使用しない完全なレポートを表示する。
Null オプションを選択解除し、たとえば注文番号を「 so71949」と入力し、レポートにこの 1 つの注文のみが表示されるよう [レポートの表示] を選択します。
レポートを再配置する
レポートを再配置して、このレッスンで適用した変更を、次のレッスンのサブスクリプション構成で利用できるようにします。 テーブルのチュートリアルで使用されるプロジェクト プロパティの詳細については、「レッスン 6: グループと合計の追加 (Reporting Services)」の「レポートをレポート サーバーにパブリッシュするには (オプション)」セクションを参照してください。
ツール バーの [ビルド] を選択し、 [Tutorial の配置] を選択します。
次のステップ
- 保存されている資格情報を使用してデータを取得するレポートを構成したので、パラメーターを使用してデータをフィルター処理できます。
- 次のレッスンでは、Web ポータルのデータ ドリブン サブスクリプション ページを使用してサブスクリプションを構成します。 「レッスン 3:データ ドリブン サブスクリプションの定義」を参照してください。