次の方法で共有


レッスン 2: 使用可能な値の一覧を作成するパラメータの追加 (レポート ビルダ 2.0)

選択可能な値 (有効な値) を使用すると、ユーザーは、レポート パラメータの値を一覧から選択できるようになります。データ ソースから特定の値セットを取得するためのクエリを作成して、そのクエリから有効な値を提示することも、値セットを事前定義しておくこともできます。レポート処理時に実行されるデータセット クエリに使用可能な値のセットをバインドすることで、基になるデータ ソースに存在する値のみをユーザーが選択できるようにすることができます。

このレッスンでは、販売注文レポートを修正して、AdventureWorks2008 データベースから取得した販売担当者の名前がドロップダウン リストに表示されるようにします。また、選択したパラメータ値の結果セットに行がない場合はメッセージが表示されるようにテーブルのプロパティを設定します。名前を選択してレポートを表示すると、レポートにはその販売担当者のみの販売情報が表示されます。

既存のデータセット クエリを置き換えるには

  1. レポート データ ペインで DataSet1 を右クリックし、[クエリ] をクリックします。クエリ デザイナが表示されます。

    クエリ ペインで、既存のクエリ テキストを次のクエリに置き換えます。

    SELECT
      SH.OrderDate
      ,DATENAME(weekday, SH.OrderDate) as Weekday
      ,SH.SalesOrderNumber
      ,SD.OrderQty
      ,SD.LineTotal
      ,P.Name AS [Product]
      ,PS.Name AS [Subcategory]
    FROM Sales.SalesPerson SP 
      INNER JOIN Sales.SalesOrderHeader AS SH 
          ON SP.BusinessEntityID = SH.SalesPersonID
      INNER JOIN Sales.SalesOrderDetail AS SD 
         ON SH.SalesOrderID = SD.SalesOrderID
      INNER JOIN Production.Product AS P
       ON SD.ProductID = P.ProductID
      INNER JOIN Production.ProductSubcategory AS PS
       ON PS.ProductSubcategoryID = P.ProductSubcategoryID
      INNER JOIN Production.ProductCategory AS PC
       ON PC.ProductCategoryID = PS.ProductCategoryID
    WHERE PC.Name = 'Clothing' 
       AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate))
       AND SH.SalesPersonID = (@BusinessPersonID)
    

    このクエリには、この販売注文の販売担当者を表すクエリ パラメータが含まれています。

    AND SH.SalesPersonID = (@BusinessPersonID)

  2. [実行] (!) ボタンをクリックします。クエリ パラメータの入力画面が表示されたら、次の表にある値を入力します。

    @StartDate

    20010101

    @EndDate

    20030101

    @BusinessPersonID

    290

  3. [OK] をクリックします。SalesPersonID = 290 の販売担当者 Ranjit Varkey Chudukatil の結果セットが表示されます。 

    次に、販売担当者名を一覧表示する新しいデータセットを作成します。

レポート パラメータの有効な値の一覧を表示するには

  1. レポート データ ペイン ツール バーで、[新規作成] をクリックし、[データセット] をクリックします。[データセットのプロパティ] ダイアログ ボックスが表示されます。

  2. [名前] フィールドに、「SalesPersons」と入力します。SalesPersonID レポート パラメータの有効な値の一覧にはこのデータセットが使用されます。

  3. データ ソースが AdventureWorks2008 であることを確認します。

  4. [クエリ デザイナ] をクリックし、[テキストとして編集] をクリックします。

  5. 次の Transact-SQL クエリをクエリ ペインに貼り付けます。

    SELECT SP.BusinessEntityID, C.FirstName, C.LastName
    FROM   Sales.SalesPerson AS SP INNER JOIN
         HumanResources.Employee AS E ON E.BusinessEntityID = 
         SP.BusinessEntityID INNER JOIN
         Person.Person AS C ON C.BusinessEntityID = E.BusinessEntityID
    ORDER BY SP.BusinessEntityID
    
  6. [OK] を 2 回クリックします。レポート データ ペインで、新しいデータセットに BusinessEntityID、FirstName、および LastName の 3 つのフィールドが表示されます。BusinessPersonID レポート パラメータの有効な値の一覧にはこのデータセットが使用されます。

    次に、FirstName と LastName を Name という 1 つのフィールドに連結する追加のデータセット フィールドを作成します。定義するフィールドは、計算フィールドと呼ばれます。

レポート データ ペインで計算フィールドを定義するには

  1. レポート データ ペイン ツール バーで SalesPersons データセットを右クリックし、[計算フィールドの追加] をクリックします。[データセットのプロパティ] ダイアログ ボックスの [フィールド] ページで、新しい行が追加されたグリッドが表示されます。

  2. 最後の [フィールド名] ボックスで、「名前」と入力します。

  3. [フィールド ソース] ボックスに、次の式を貼り付けます。

    =Fields!LastName.Value & ", " & Fields!FirstName.Value

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

  5. レポート データ ペインで、SalesPersons データセットのフィールド コレクションに新しい Name フィールドが表示されます。

    次に、BusinessPersonID レポート パラメータでこのデータセットを有効な値として使用するように指定します。

レポート パラメータに使用可能な値の一覧を挿入するには

  1. レポート データ ペインで [パラメータ] ノードを展開して BusinessPersonID を右クリックし、[パラメータのプロパティ] をクリックします。

  2. [プロンプト] で「販売担当者を選択してください : 」と入力します。

  3. [データ型] として [Integer] を選択します。

  4. [使用できる値] をクリックします。

  5. [クエリから値を取得] オプションを選択します。

  6. [データセット] ボックスの一覧から、[BusinessPersons] を選択します。

  7. [値フィールド] ボックスの一覧から [BusinessEntityID] を選択します。

  8. [ラベル フィールド] ボックスの一覧から [名前] を選択します。

    ラベルの名前を選択することによって、今度は BusinessEntityID パラメータの有効な値の一覧に、営業担当者の ID ではなく各販売担当者の名前が表示されます。

  9. [既定値] をクリックします。

  10. [クエリから値を取得] オプションを選択します。

  11. [データセット] ボックスの一覧から、[BusinessPersons] を選択します。

  12. [値フィールド] ボックスの一覧から [BusinessEntityID] を選択します。

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

  14. [実行] をクリックします。レポートに、営業担当者名のドロップダウン リストが表示されます。

  15. [レポートの表示] をクリックします。

    選択した販売担当者の販売注文がレポートに表示されます。表示されるデータは、レポート パラメータで指定した条件に一致します。日付、曜日、および販売担当者の組み合わせによっては、結果が含まれない場合があります。

次の手順

これで、既存のレポートのパラメータに使用可能な値の一覧を追加できました。次は、DayoftheWeek パラメータと BusinessPersonID パラメータが複数の値をとるように修正します。「レッスン 3: 複数の値を一覧で選択するためのパラメータの追加 (レポート ビルダ 2.0)」を参照してください。