次の方法で共有


レッスン 1: 共有データセットの作成とレポート パラメーターの構成 (SSRS)

このレッスンでは、共有データセットを作成し、Employee_Sales_Summary_2008R2 レポートのデータセット クエリ パラメーターに基づくレポート パラメーターを構成します。

学習する内容

このチュートリアルでは、次の方法を学習します。

  • 基になる基本レポートのコピーを作成します。

  • プロジェクトおよびレポートに複数の共有データセットを追加します。

  • データセット クエリ パラメーターごとに自動的に作成されるレポート パラメーターを構成します。

  • レポートの目的をレポート ユーザーに示すシナリオの説明を追加します。

  • データ ソースとデータセット クエリの情報を表示する、条件によって非表示になるテキストを追加します。

  • レポート ユーザーが選択したパラメーターの値を表示する、条件によって非表示になるテキストを追加します。

  • レポートの説明を表示する、条件によって非表示になるテキストを追加します。

  • レポート タイトルを追加します。

  • レポートをプレビューして確認します。

  • レポートを配置します。

このチュートリアルの推定所要時間: 15 分

必要条件

必要条件については、「AdventureWorks 2008R2 サンプル レポートの前提条件 (SSRS)」を参照してください。

このレッスンでは、「レポート サーバー プロジェクトと AdventureWorks2008R2_Base レポートの作成 (SSRS)」を完了していることを前提としています。

ヒント

全般的なヒントの一覧については、「レポート デザインに関するヒント (レポート ビルダー 3.0 および SSRS)」を参照してください。

プロジェクトを開いてレポートをコピーするには

  1. Business Intelligence Development Studio で、レポート サーバー プロジェクト AdventureWorks 2008R2 サンプル レポートを開きます。

  2. ソリューション エクスプローラーで、次の手順を実行します。

    1. レポート AdventureWorks2008R2_Base.rdl を右クリックし、[コピー] をクリックします。

    2. このプロジェクトのノードを右クリックし、[貼り付け] をクリックします。

    3. コピーしたレポートの名前を Employee_Sales_Summary_2008R2.rdl に変更します。

共有データセットの作成

このレポート プロジェクトでは、共有データ ソース AdventureWorks2008R2 に基づく 4 つの共有データセットを使用します。

EmployeeSalesYearOverYear2008R2 の作成

前年比売上の共有データセットを追加するには

  1. ソリューション エクスプローラーで、EmployeeSalesYearOverYear2008R2 という名前の共有データセットを追加します。

    このデータは、"自分の季節売上の前年比はどのくらいか" という質問への回答に役立ちます。

    レポートでは、折れ線グラフとスパークライン グラフにこのデータが表示されます。

  2. AdventureWorks2008R2 共有データ ソースを参照し、次のクエリを追加します。

    SELECT   P.FirstName + ' ' + P.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS MonthNumber, 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       SUM(DET.LineTotal) AS Sales
    FROM [Sales].[SalesPerson] SP 
       INNER JOIN [Sales].[SalesOrderHeader] SOH ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [Sales].[SalesTerritory] ST ON SP.[TerritoryID] = ST.[TerritoryID] 
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] P ON P.[BusinessEntityID] = SP.[BusinessEntityID]
    WHERE (DATEPART(Year, SOH.OrderDate) <= @ReportYear - 1 OR
       DATEPART(Year, SOH.OrderDate) = @ReportYear AND DATEPART(Month, SOH.OrderDate) <= @ReportMonth) AND 
       (SOH.SalesPersonID = (@EmployeeID))
    GROUP BY P.FirstName + ' ' + P.LastName, SOH.SalesPersonID, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate)
    

    共有データセットがソリューション エクスプローラーに表示されます。

  3. レポート データ ペインで、EmployeeSalesYearOverYear2008R2 という名前のデータセットを作成します。

  4. [データセットのプロパティ] ダイアログ ボックスで、[共有データセットを使用する] を選択し、ソリューション エクスプローラーで作成したデータセットをクリックします。

    このデータセット クエリには、クエリ変数 @ReportMonth、@ReportYear、および @EmployeeID が含まれます。

  5. [データセットのプロパティ] で、各クエリ変数に対してデータセット パラメーターが作成されていることを確認します。

  6. レポート データ ペインで、各データセット パラメーターに対してレポート パラメーターが作成されていることを確認します。

レポート データ ペインのデータセットは、ソリューション エクスプローラーの共有データセットへの参照です。レポートがパブリッシュされると、参照先はレポート サーバーまたは SharePoint サイト上の共有データセットになります。

EmployeeSalesDetail2008R2 の作成

各販売注文のデータを含む共有データセットを追加するには

  1. ソリューション エクスプローラーで、EmployeeSalesDetail2008R2 という名前の共有データセットを追加します。

    このデータは、"月全体と各カテゴリの販売ノルマを達成しているかどうか" という質問への回答に役立ちます。

    レポートでは、マトリックスと埋め込みインジケーターにこのデータが表示されます。

  2. AdventureWorks2008R2 共有データ ソースと次のクエリを使用します。

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee,
       PS.Name AS Subcategory, SUM(DET.LineTotal) AS Sales, 
       SOH.SalesOrderID,  SOH.SalesOrderNumber, 
       P.Name AS Product, 
       SUM(DET.OrderQty) AS OrderQty, DET.UnitPrice, 
       PC.Name AS Category
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE (DATEPART(Year, SOH.OrderDate) = @ReportYear) AND 
       (DATEPART(Month, SOH.OrderDate) = @ReportMonth) AND 
        (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Month, SOH.OrderDate), SOH.SalesOrderID, SOH.SalesOrderNumber, 
       P.Name, PS.Name, DET.UnitPrice, PC.Name
    

    共有データセットがソリューション エクスプローラーに表示されます。

  3. レポート データ ペインで、EmployeeSalesDetail2008R2 という名前のデータセットを作成します。

  4. [データセットのプロパティ] ダイアログ ボックスで、[共有データセットを使用する] を選択し、ソリューション エクスプローラーで作成したデータセットをクリックします。

EmpSalesMonth2008R2 の作成

前月比売上の共有データセットを追加するには

  1. ソリューション エクスプローラーで、EmpSalesMonth2008R2 という名前の共有データセットを追加します。

    このデータは、"今月のカテゴリの売上の前年同月比はどのくらいか" という質問への回答に役立ちます。

    レポートでは、縦棒グラフとデータ バー グラフにこのデータが表示されます。

  2. AdventureWorks2008R2 共有データ ソースと次のクエリを使用します。

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS [MonthNumber], 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       PC.Name AS Category, SUM(DET.LineTotal) AS Sales
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE
       (DATEPART(Year, SOH.OrderDate) <= @ReportYear) 
       AND (DATEPART(Month, SOH.OrderDate) = @ReportMonth)  
       AND (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate), PC.Name
    

    共有データセットがソリューション エクスプローラーに表示されます。

  3. レポート データ ペインで、EmpSalesMonth2008R2 という名前のデータセットを作成します。

  4. [データセットのプロパティ] ダイアログ ボックスで、[共有データセットを使用する] を選択し、ソリューション エクスプローラーで作成したデータセットをクリックします。

SalesEmployees2008R2 の作成

従業員に使用できる値の一覧のデータセットを作成するには

  1. ソリューション エクスプローラーで、SalesEmployees2008R2 という名前の共有データセットを追加します。

    このデータは、@EmployeeID パラメーターに有効な値を提供します。

  2. AdventureWorks2008R2 共有データ ソースと次のクエリを使用します。

    SELECT s.[BusinessEntityID], p.[FirstName] + N' ' + p.LastName AS Employee, e.[JobTitle]
    FROM [Sales].[SalesPerson] s
       INNER JOIN [HumanResources].[Employee] e ON e.[BusinessEntityID] = s.[BusinessEntityID]
       INNER JOIN [Person].[Person] p ON p.[BusinessEntityID] = s.[BusinessEntityID]
    

    共有データセットがソリューション エクスプローラーに表示されます。

  3. レポート データ ペインで、SalesEmployees2008R2 という名前のデータセットを作成します。

  4. [データセットのプロパティ] ダイアログ ボックスで、[共有データセットを使用する] を選択し、ソリューション エクスプローラーで作成したデータセットをクリックします。

レポート パラメーターの構成

共有データセットには、ReportYear、ReportMonth、および EmployeeID のクエリ変数を使用するデータセット クエリが含まれます。各クエリ変数に対して、対応するレポート パラメーターが自動的に生成されます。既定では、各レポート パラメーターのプロパティが文字列型の単一値に対して設定され、既定値や有効な値の一覧は設定されません。必要に応じて、各パラメーターを手動で構成する必要があります。

パラメーターの順序の変更

レポート ビューアー ツール バーのパラメーターの順序を変更するには

  1. レポート データ ペインで、[ShowAll] をクリックします。

  2. レポート データ ペインのツール バーで、[下へ移動] をクリックして、このパラメーターを一覧の末尾に移動します。

  3. [ReportMonth] をクリックします。

  4. [上へ移動] をクリックして、このパラメーターを一覧の先頭に移動します。

ReportMonth の構成

個別に指定した一連の値からのみ値を受け入れるように @ReportMonth パラメーターを構成します。既定値にそれらのいずれかの値が設定されていなければ、レポートは自動的に実行されません。

レポート パラメーター @ReportMonth を構成するには

  1. レポート データ ペインで [パラメーター] を展開します。

  2. @ReportMonth[パラメーターのプロパティ] を開きます。

  3. [全般] ページで、[データ型][整数] に変更します。

  4. [使用できる値] ページで、[値の指定] を選択します。

  5. 12 か月それぞれのエントリを追加します。[ラベル] を月の名前、[値] を月の序数値に設定します。たとえば、最初のエントリは「January」と「1」になります。最後のエントリは「December」と「12」になります。12 の値をすべて入力します。

  6. [既定値] ページで、[値の指定] を選択します。[値] に「7」と入力します。

これにより、既定値が 7 月に設定されます。各レポート パラメーターに既定値が指定されていれば、レポートは最初に表示したときに自動的に実行されます。

ReportYear の構成

レポート パラメーター @ReportYear を構成するには

  1. @ReportYear[パラメーターのプロパティ] を開きます。

  2. [全般] ページで、[データ型][整数] に変更します。

  3. [既定値] ページで、[値の指定] を選択します。

  4. 値を追加します。[値] に「2007」と入力します。

EmployeeID の構成

レポート パラメーター @EmployeeID を構成するには

  1. @EmployeeID[パラメーターのプロパティ] を開きます。

  2. [全般] ページで、[プロンプト] を「Employee」に変更します。

  3. [データ型][整数] に変更します。

  4. [使用できる値] ページで [クエリから値を取得] を選択します。

  5. [データセット] で [SalesEmployees2008R2] を選択します。

  6. [値] で [BusinessEntityID] を選択します。

  7. [ラベル] で [Employee] をクリックします。

  8. [既定値] ページで、[値の指定] を選択します。[値] に「283」と入力します。この値は、David Campbell の従業員 ID です。

シナリオの説明の追加

シナリオの説明を追加するには

  • シナリオの説明のテキスト ボックスで、既存のテキストを次のテキストに置き換えます。

    AdventureWorks の販売員として、自身の季節売上の前年比を知りたいと考えています。

    折れ線グラフとスパークライン グラフには、すべてのカテゴリの前年比売上が表示されます。

    インジケーター付きのマトリックスには、ノルマと比較した現在の売上が表示されます。レポート ビューアー ツール バーで、ノルマの値を変更します。

    縦棒グラフとデータ バー グラフには、各カテゴリの売上が表示されます。

この後のレッスンで、テキストの文字列から関連するデータ領域にリンクします。

データ ソース、データセット、およびパラメーターの値の表示

データセット クエリ コマンドのテキスト、および各レポート パラメーターに対してユーザーが選択した値を表示することができます。レポートを見やすくするために、この情報はテキスト ボックスに入力し、最後のページの条件によって非表示になる四角形のコンテナーに配置します。

四角形を追加するには

  1. レポートの下部にあるページ フッターの上に四角形を追加します。

  2. [四角形] のプロパティで、次の手順を実行します。

    1. [全般] ページで、[前に改ページを追加する] をオンにします。

    2. [表示] ページで、[式を基に表示/非表示を切り替える] を選択し、「=NOT Parameters!ShowAll.Value」と入力します。

以降の手順でテキスト ボックスを作成したら、それぞれこの四角形に追加します。必要に応じて四角形を拡大してください。四角形をコンテナーとして使用すると、すべてのテキスト ボックスを 1 つの単位として簡単に移動できます。

パラメーターの値を表示するテキスト ボックスを追加するには

  1. レポート本文にテキスト ボックスを追加し、各行に次のテキストを入力します。

    1. Report Month: [@ReportMonth] [@ReportMonth.Label]

    2. Report Year: [@ReportYear]

    3. EmployeeID: [@EmployeeID] [@EmployeeID.Label]

  2. テキスト ボックスを四角形にドラッグし、必要に応じてサイズを調整します。

データ ソースとデータセットの情報を表示するテキスト ボックスを追加するには

  1. レポート本文に DataSourceandDatasets という名前のテキスト ボックスを追加し、次のテキストを入力します。

    1. データ ソース AdventureWorks2008R2:

    2. AdventureWorks2008R2 という名前のプレースホルダーを作成し、値を「=DataSources!AdventureWorks2008R2.DataSourceReference」に設定します。

    3. データセット EmployeeSalesYearOverYear2008R2:

    4. EmployeeSalesYearOverYear2008R2 という名前のプレースホルダーを作成し、値を「=DataSets!EmployeeSalesYearOverYear2008R2.CommandText」に設定します。

    5. データセット EmployeeSalesDetail2008R2:

    6. EmployeeSalesDetail2008R2 という名前のプレースホルダーを作成し、値を「=DataSets! EmployeeSalesDetail2008R2.CommandText」に設定します。

    7. データセット EmpSalesMonth2008R2:

    8. EmpSalesMonth2008R2 という名前のプレースホルダーを作成し、値を「=DataSets! EmpSalesMonth2008R2.CommandText」に設定します。

  2. 必要に応じて、テキストの書式を設定します。たとえば、データセット名に下線を付けます。

  3. テキスト ボックスを四角形にドラッグし、必要に応じてサイズを調整します。

説明の追加

説明を追加するには

  1. ページ フッターで、説明のテキスト ボックスのテキストを次のテキストに置き換えます。

    目的: 概要レポート。すべてのカテゴリ、個々のカテゴリ、およびノルマの前年比売上を表示します。グラフ (折れ線、スパークライン、スケール区切り付き縦棒、データ バー)、Tablix (トグル行、行グループ、テーブル レベルおよびグループ レベルのインジケーター)、グループ変数とレポート変数、四角形のコンテナー、共有データセット、共有データ ソース、グラフの線の色に関するカスタム コード、ブックマーク、ドリルスルー アクション、複数値パラメーター、およびテキスト ボックスとトグル行の条件付き表示を制御するパラメーターが含まれています。

  2. レポートの背景をクリックし、プロパティ ペインに [レポートのプロパティ] を表示します。

  3. [説明] に、説明のテキストを貼り付けます。

レポート タイトルの追加

レポート タイトルを追加するには

  1. ページ ヘッダーで、テキスト ボックスを追加して、次のテキストを 2 行で入力します。

    Sales Report for [@EmployeeID.Label]

    [@ReportMonth.Label], [@ReportYear]

  2. 必要に応じて書式を設定します。

レポートのプレビュー

レポートをプレビューして確認するには

  1. レポートをプレビューします。

  2. レポートが自動的に実行されることを確認します。

  3. レポート ビューアー ツール バーで、次の点を確認します。

    1. Report Month のドロップダウン リストにすべての月が表示されていること。既定値は July です。

    2. Report Year の既定値が 2007 であること。

    3. Employee のドロップダウン リストに、すべての従業員の名前が表示されていること。既定値は David Campbell です。

  4. ページ ヘッダーに、ロゴ、レポート名、およびレポート タイトルが表示されます。

  5. 切り替えアイテムをクリックすると、シナリオのテキストが表示されます。

  6. ShowAll を True に設定している場合、レポートを実行すると、パラメーターの値、データ ソースとデータセットの情報、および説明がレポートの最後のページに表示されます。

レポートの配置

レポートを配置するには

  1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[配置] をクリックします。BI Development Studio のステータス行または出力ペインで、エラーを確認します。

    注意

    レポートは共有データセットに依存するため、初めてレポートを配置するときに、プロジェクト全体を配置する必要があります。

  2. ブラウザーで、レポート サーバーまたは SharePoint サイトに移動し、共有データ ソース、共有データセット、およびレポートが正しいフォルダーに表示され、レポートを表示できることを確認します。

次の手順

これで、レポート プロジェクトと基本レポートの作成が完了しました。次はサンプル レポートを作成します。詳細については、「チュートリアル: AdventureWorks 2008R2 サンプル レポートの作成 (SSRS)」を参照してください。