チュートリアル: レポートへのパラメータの追加 (レポート ビルダー)

SQL Server Reporting Services (SSRS) のレポート ビルダーを使用して Reporting Services のページ分割されたレポートにパラメーターを追加することで、レポート 閲覧者が特定の値でデータをフィルタリングできるようにします。 レポート パラメーターは、データセット クエリに追加したそれぞれのクエリ パラメーターについてに自動で作成されます。 パラメーターのデータ型により、パラメーターがレポート ビューアー ツール バーに表示される方法が決まります。

次の図は、選択したパラメーターでフィルタリングされたデータを含むページ分割されたレポートを示します。

選択したパラメーターでフィルタリングされたデータを含む、ページ分割されたレポートのスクリーンショット。

このチュートリアルでは、次の作業を行いました。

  • 埋め込みデータ ソースとクエリを使用した、ページ分割されたレポートの作成
  • クエリ パラメーターを使用したレポート パラメーターの作成とプロパティの構成
  • データセット操作による、レポート パラメーター別のデータ表示範囲の管理
  • パラメーターの既定値およびカスタム値の定義

本チュートリアルの視聴に要する推定所要時間は 25 分です。

Note

次の手順では、レポート ビルダーの操作方法を簡単に説明します。 場合によっては、いくつかのウィザード アクションを 1 つの手順でまとめて説明しています。 スクリーンショット付きの詳細な手順を確認するには、「チュートリアル: 基本的なテーブル レポートの作成 (レポート ビルダー)」を参照ください。 この記事では、レポート サーバーの参照、データ ソースの選択、データセットの作成などの方法について説明します。

前提条件

要件の詳細については、「チュートリアルの前提条件 (Report Builder)」 を参照してください。

テーブルまたはマトリックス ウィザードを使用してレポートを作成する

Table または Matrix ウィザードを使用してページ分割された (マトリックス) レポートを作成するには、次の手順に従います。

  1. コンピュータ、Reporting Services Web ポータル、SharePoint 統合モードのいずれかからレポート ビルダーを起動します

    [新しいレポートまたはデータセット] ダイアログが開きます。 ダイアログボックスが開かない場合は、[ファイル]>[新規] を選択します。

  2. [新しいレポート] タブを選択し、右側のウィンドウの [テーブルまたはマトリックス ウィザード] を選択します。

  3. [データセットの選択] ページで [データセットの作成] オプションを選択してから、[次へ] を選択します。

  4. [データ ソースへの接続の選択] ページで、データ ソースを選択します。 ドロップダウン リストからデータ ソースを選択するか、レポート サーバーを参照してデータ ソースを選択します。 データ ソースは、SQL Server タイプである必要があります。

  5. [全般] タブで、[テスト接続] を選択して、データ ソースに接続できることを確認します。

    "接続が正常に作成されました" というポップアップ メッセージが表示されます。[OK] を選択してポップアップ メッセージをオフにします。

  6. [OK] を選択してデータ ソースのセットアップを完了し、[次へ] を選択します。

  7. [クエリのデザイン] ページで、[テキストとして編集] を選択します。

  8. [クエリ デザイナー] ダイアログで、次の Transact-SQL クエリを上部のボックスに貼り付けます。

    ;WITH CTE (StoreID, Subcategory, Quantity)
    AS (  
    SELECT 200 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 2002 AS Quantity  
    UNION SELECT  200 AS StoreID, 'Camcorders' AS Subcategory, 1954 AS Quantity  
    UNION SELECT  200 AS StoreID, 'Accessories' AS Subcategory, 1895 AS Quantity  
    UNION SELECT  199 AS StoreID, 'Digital Cameras' AS Subcategory, 1849 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1579 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Camcorders' AS Subcategory, 1561 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Digital Cameras' AS Subcategory, 1553 AS Quantity  
    UNION SELECT  306 AS StoreID, 'Accessories' AS Subcategory, 1534 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Accessories' AS Subcategory, 1755 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Camcorders' AS Subcategory, 1631 AS Quantity  
    UNION SELECT 307 AS StoreID, 'Digital SLR Cameras' AS Subcategory, 1772 AS Quantity)  
    SELECT StoreID, Subcategory, Quantity  
    FROM CTE  
    

    このクエリは、一般的なテーブル式内の複数の Transact-SQL SELECT ステートメント結果を結合します。 この式は、Contoso サンプル データベース上の簡素化されたカメラの売上データに基づいた値を指定します。 サブカテゴリは、デジタル カメラ、デジタル一眼レフ (SLR) カメラ、ビデオ カメラ、およびアクセサリです。

  9. [クエリ デザイナー] ツール バーで、[実行] (!) を選択します。

    StoreID、Subcategory、Quantity の各フィールドを取得するクエリが実行され、結果セットが表示されます。

    結果セットは、4 店舗のサブカテゴリごとの販売商品数量を示す 11 行のデータで構成されます: ストア名は結果セットの一部ではありません。 このチュートリアルで後ほど、店舗 ID に対応する店舗の名前を別のデータセットから参照します。

    このクエリには、クエリ パラメーターは存在しません。 以降、このチュートリアルの中でクエリパラメーターを追加していきます。

  10. ウィザードで続行するには、[次へ] を選択します。

レポート レイアウトの書式設定と合計の追加

ウィザードは、レポートにデータを表示する初期レイアウトを提供します。 以下の手順で、各StoreIDごとに1つの列を割り当て、販売数量値をサブカテゴリ別に各行にグループ化します。 レポートのデザインを閉じる前に、プレビュー ペインでデータのグループ化結果を確認できます。

[フィールドの配置] ページでテーブル データをグループに整理します。

  1. [使用可能なフィールド] ボックスから、[サブカテゴリ] フィールドを [行のグループ] ボックスにドラッグします。

  2. [StoreID] フィールドを [列のグループ] ボックスにドラッグします。

  3. 数量フィールドを [値] ボックスにドラッグします。

    数量データは、Sum 関数 (数値フィールドの既定の集計関数) によって自動的に集計されます。 値は [Sum(Quantity)] です。

  4. ウィザードで続行するには、[次へ] を選択します。

  5. [レイアウトの選択] ページの [オプション] で、[小計と総計を表示] オプションが選択されているのを確認します。

    レポートを実行すると、最後の列にすべてのストア (StoreID) のサブカテゴリ別の合計数量が表示されます。 最後の行には、各ストア (StoreID) のすべてのサブカテゴリの合計数量が表示されます。

  6. [次へ] を選択して、プレビュー ウィンドウでテーブルを確認します。 レポートを実行すると、テーブル レイアウトを示す 3 つの行が表示されます。

    • 1 行目はテーブルで 1 回繰り返され、列見出しを示します。

    • 2 番目の行は各 StoreID ごとに 1 回繰り返され、販売されたアイテムの数量と各サブカテゴリの数量を表示します。

    • 3 番目の行は 1 回繰り返され、すべての店舗について全アイテムの合計販売数量とサブカテゴリ別の販売数量を表示します。

  7. 完了 を選択します。

    レポート ビルダーを使って、デザイン サーフェスにマトリックスを追加します。 テーブルには 3 つの行と、[Subcategory]、[StoreID]、および [Total] の 3 つの列があります。

    3 つの列と 3 つの行を含むマトリックスのスクリーンショット。

  8. サブカテゴリ データをレポートの 1 行にまとめて表示できるように、テーブルの幅を大きくします。

    1. デザイン サーフェスでマトリックスを選択し、行および列ハンドルを表示します。 ハンドルは、テーブルの端に沿って灰色のバーで表示されます。

    2. サブカテゴリ列と StoreID 列の間の線にカーソルを合わせると、二重矢印カーソルが表示されます。

    3. この線を選択してドラッグすることで、サブカテゴリ列の幅を広げることができます。

      列の幅を広げながらマトリックスを示すスクリーンショット。

  9. [ホーム] タブで [実行] を選択して、レポートをプレビューします。

    レポート サーバーでレポートが実行され、レポート処理時刻が表示されます。

    レポート サーバーで実行されるレポート プレビューのスクリーンショット。

最新のマトリックス デザインでは、列見出しにはストア識別子が表示され、ストア名そのものは表示されません。 後ほど、店舗 ID と店舗名のペアが格納されているデータセットで店舗名を参照する式を追加します。

クエリ パラメーターの作成、パラメーターのレポート、およびプロパティの構成

クエリ デザイナーでは、クエリの編集やパラメーターの追加ができます。 クエリ パラメーターを追加すると、レポート ビルダーは単一値パラメーターを自動的に作成します。 各パラメーターには、名前、プロンプト、データ型など、既定値を持つ複数のプロパティがあります。 ユーザーは、これらのプロパティをレポート要件に従って構成できます。

クエリ パラメーターの追加とレポート パラメーターの作成

クエリ パラメーターをクエリに追加すると、レポート ビルダーは、名前、プロンプト、およびデータ型の規定プロパティを持つ単一値レポート パラメーターを自動的に作成します。

クエリ パラメーターを追加するには、次の手順に従います。

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. [レポート データ] ペインで [データセット] フォルダーを展開します。 [データセット1] を右クリックし、[クエリ] を選択します。

    [クエリ デザイナー] ダイアログが開きます。 既存のクエリは、ダイアログの上部のボックスに表示されます。

    1. ダイアログの 2 つのボックスの間の区切りバーを操作して、上部のボックスのサイズを大きくすることができます。

    2. 上部のボックスの一番下までスクロールすると、クエリの最後の行が表示されます。

    3. [Enter] を選択すると、クエリの末尾に新しい行が追加されます。

  3. クエリの最後の行に、次の Transact-SQL WHERE 句を貼り付けます。

    WHERE StoreID = (@StoreID)
    

    この WHERE 句によって、取得するデータの対象がクエリ パラメーター \@StoreID で指定するストア 識別子に制限されます。

  4. [クエリ デザイナー] ツール バーで、[実行] (!) を選択します。

    [クエリ パラメーターの定義] ダイアログが開き、クエリ パラメーター \@StoreID の値を入力するよう求められます。

    ヒント

    テーブル セルと列見出し全体を表示できない場合は、ダイアログのサイズを大きくします。

  5. [パラメーター値] ボックスに 200 と入力し、[OK]を選択します。

    「クエリ デザイナー」ダイアログでパラメーター値を追加する操作のスクリーンショット。

    結果セットには、店舗 ID 200について、Accessories、Camcorders、および Digital SLR Cameras の販売数量が表示されます。

  6. [OK] を選択してクエリ デザイナーを終了します。

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

    ノードに、[StoreID] という名前のレポート パラメーターが含まれています。 パラメーターを選択すると、デザインサーフェスの [パラメーター] ペインにそのパラメーターのプロパティが表示されます。 このペインを使用して、レポート パラメーターのレイアウトを設定できます。

    [レポート データ] ペインの [パラメーター] ノードと、デザイン サーフェスの [パラメーター] ペインのスクリーンショット。

    ヒント

    [パラメーター] ペインが表示されない場合は、[表示] を選択し、[パラメーター] チェック ボックスにチェックを入れます。

レポート パラメーターのプロパティの更新

パラメーターのプロパティ値は、レポート パラメーターの作成後に調整できます。 このチュートリアルの例では、[StoreID] レポート パラメーターの既定のデータ型は [テキスト] になっています。 ストア識別子は整数なので、データ型を [整数] に変更します。

次の手順に従って、レポート パラメーターのデータ型を変更します:

  1. [レポート データ] ペインの [パラメーター] ノードの下の [StoreID] パラメーターを右クリックし、[パラメーターのプロパティ] を選択します。

  2. [レポート パラメーターのプロパティ]ダイアログの [全般] タブで、次のプロパティを構成します。

    • プロンプト: 「StoreStore identifier?」 (ストア識別子を入力してください) と入力します。 レポートを実行すると、[レポート ビューアー] のツール バーにこのプロンプトが表示されます。

    • [データ型]: ドロップダウン リストから [整数] を選択してください。 この設定により、プロンプトに対して入力可能なデータ型を設定できます。

    その他のプロパティとオプションは変更されずに残ります。

  3. OK を選択して変更を適用します。

  4. [実行] を選択してレポートをプレビューします。 これにより、レポート ビューアーの [StoreID] パラメーター値フィールドに [Store Identifier?] (ストア識別子を入力してください) のプロンプトが表示されます。

  5. [レポート ビューアー] ツール バーの [Store identifier?] プロンプトに対して、200 と入力し、[レポートの表示] を選択します。

    ストア識別子入力プロンプトに対して StoreID 値 200 を入力したときのレポート プレビューのスクリーンショット。

データセットを使用した値の指定

レポート閲覧者がパラメーターに対して有効な値のみを入力するようにするには、そのパラメーターに使用可能な値のドロップダウン リストを提示します。 値のセットは、データセットまたは指定した一覧から取得できます。 使用可能な値は、パラメーターへの参照を含まないクエリが格納されているデータセットから取得する必要があります。

有効なパラメーター値のデータセットの作成

有効なパラメーター値を一覧表示するデータセットを作成するには、次の手順に従います。

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. [レポート データ] ペインで、[データセット] ノードを右クリックし、[データセットの追加] を選択します。

  3. [データセット プロパティ] ダイアログで、次のプロパティとオプションを構成します。

    1. [名前] プロパティに [Stores] と入力します。

    2. [個人用レポートに埋め込まれたデータセットを使用する] オプションを選択します。

    3. [データ ソース]ドロップダウン リストを展開し、このチュートリアルで先ほど指定したデータ ソースを選択します。

    4. [クエリ タイプ] プロパティで、[テキスト] オプションが選択されているのを確認します。

    5. [クエリ] ボックスに次のクエリを入力します。

      SELECT 200 AS StoreID, 'Contoso Catalog Store' as StoreName
      UNION SELECT 199 AS StoreID, 'Contoso North America Online Store' as StoreName
      UNION SELECT 307 AS StoreID, 'Contoso Asia Online Store' as StoreName
      UNION SELECT 306 AS StoreID, 'Contoso Europe Online Store' as StoreName
      
  4. OK を選択して変更を適用します。

    [レポート データ] ペインで、[データセット] ノードの下に [Stores] データセットが追加され、[StoreID] (ストア識別子) および [StoreName] (ストア名) プロパティが追加されます。

使用可能な値のリストの指定

使用可能な値を持つデータセットを作成できたら、レポート プロパティを更新してデータセットとプロパティを特定し、使用可能な値のリストを [レポート ビューアー] ツール バーに設定します。

パラメーターに使用できる値をデータセットから取得するには:

  1. [レポート データ] ペインの [パラメーター] ノードの下の [StoreID] パラメーターを右クリックし、[パラメーターのプロパティ] を選択します。

  2. [レポート パラメーターのプロパティ]ダイアログの [使用可能な値] タブで次のプロパティを構成します。

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

    2. [データセット] プロパティについて、ドロップダウン リストから [Stores] を選択します。

    3. [値フィールド] プロパティについて、ドロップダウン リストから [StoreID] を選択します。

    4. [ラベル フィールド] プロパティについて、ドロップダウン リストから [StoreName] (ストア名) を選択します。 ラベル フィールドによって値の表示名が指定されます。

  3. [全般] タブに切り替え、プロンプト[Store name] (ストア名) に変更します。

  4. OK を選択して変更を適用します。

    これで、レポート閲覧者は、店舗 ID ではなく、店舗名の一覧から選択できるようになりました。 パラメーターは店舗名ではなく店舗 ID に基づいているので、パラメーターのデータ型は [整数] のままです。

  5. [実行] を選択してレポートをプレビューします。 レポート ビューアーには、[StoreID] パラメーターの値として [Store name:] のプロンプトが表示されるようになりました。

    レポート ビューアーツール バーには、初期値として [Select a Value] (値を選択してください) を表示するドロップダウン リストが表示されます。

    更新されたストア名プロンプトが表示されたレポート プレビューのスクリーンショット。使用可能な値のドロップダウン リストが閲覧者に対して表示されます。

  6. ドロップダウン リストから [Contoso Catalog Store] を選択し、続いて [レポートの表示] を選択します。

    レポートには、ストア識別子 200 に対応するストア表示名 Contoso Catalog Store の付属品、ビデオカメラ、デジタル SLR カメラ の販売数量が表示されます。

データセット内の名前と値のペアの検索

データセットには、識別子パラメーターと対応する名前パラメーターの両方が含まれる場合があります。 識別子の値しかない場合は、データセット内で対応する名前を検索できます。 この方法では、名前と値のペアを含むデータセットを作成する必要があります。

データセットから名前の値を検索するには、次の手順に従います。

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. デザイン サーフェスのマトリックスの先頭行の列ヘッダーで、[StoreID] のパラメーターを右クリックして、[式] を選択します。

  3. [式] ダイアログで、次のプロパティを構成します。

    1. 上部の [この値に対する式を設定する] ボックス内のすべてのテキストを削除します。

    2. [カテゴリ] ボックス内で [共通の関数] ノードを展開し、[その他] を選択します。 [アイテム] ボックスが更新され、一連の関数が表示されます。

    3. [アイテム] ボックスの、[Lookup] をダブルクリックします。 上部のボックスが更新され、式 =Lookup( が表示されます。 [例] ボックスには、Lookup 関数の構文の例が表示されます。

    4. 上部のボックスに、次の式を貼り付けます:

      =Lookup(Fields!StoreID.Value,Fields!StoreID.Value,Fields!StoreName.Value,"Stores")
      

      Lookup 関数は、[StoreID] のレポートパラメーター値を受け取って [Stores] データセット内を検索し、[StoreName] のパラメーター値を返します。

  4. OK を選択して変更を適用します。

    列ヘッダーが複雑な式 (<<Expr>>) に変換されます。

  5. [実行] を選択してレポートをプレビューします。

    レポートプレビューの各列の上部にある列ヘッダーには、ストア ID ではなくストア名が表示されるようになります。

既定値とカスタム値の構成

レポート パラメーターの既定値を構成して、閲覧者による入力なしにレポートを自動的に実行できるようにします。 パラメーターの既定値は、既存の値の一覧から選択してもよいし、あるいはカスタム値を指定することもできます。

データセットからの規定値の指定

データセットを使用して既定値を構成するには、次の手順に従います。

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. [レポート データ] ペインの [パラメーター] ノードの下の [StoreID] パラメーターを右クリックし、[パラメーターのプロパティ] を選択します。

  3. [レポート パラメーターのプロパティ] ダイアログの [規定値] タブで次のプロパティを構成します。

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

    2. [データセット] プロパティについて、ドロップダウン リストから [Stores] を選択します。

    3. [値フィールド] プロパティについて、ドロップダウン リストから [StoreID] を選択します。

  4. OK を選択して変更を適用します。

  5. [実行] を選択してレポートをプレビューします。

    レポート ビューアーには、Contoso North America Online Store がデフォルトで表示されます。この値が、[Stores] データセットの結果セット内の最初の値であるためです。 レポートには、ストア識別子 199 のデジタル カメラ販売数量が表示されます。これは、ストア表示名 Contoso North America Online Store に対応します。

カスタムの既定値を指定する

パラメーターの既定値としてカスタム値を指定することもできます。

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. [レポート データ] ペインの [パラメーター] ノードの下の [StoreID] パラメーターを右クリックし、[パラメーターのプロパティ] を選択します。

  3. [レポート パラメーターのプロパティ] ダイアログの [規定値] タブで次のプロパティを構成します。

    1. [値を指定する] オプションを選択し、[追加] を選択します。 [値] ボックスに新しい値の入力行が追加されます。 ドロップダウン リストの既定値は (空白) です。

    2. ドロップダウン ボックスに [200] と入力します。

  4. OK を選択して変更を適用します。

  5. [実行] を選択してレポートをプレビューします。

    レポートに、ストア識別子 200 に対応するストア表示値「Contoso Catalog Store」が表示されるようになります。 レポートには、店舗 ID 200について、Accessories、Camcorders、および Digital SLR Cameras の販売数量が表示されます。

パラメーターを使用してレポートを強化する

レポート パラメーターを使用してレポートを強化するさまざまな方法があります。 次のセクションでは、いくつかのカスタマイズ手順について説明します。

  • レポート閲覧者による現在選択されているパラメーター値の確認
  • レポート閲覧者によるレポート データのフィルタリング
  • レポート内での複数値パラメーターのサポート
  • レポートデータの条件付き表示範囲設定のためのブール値パラメーターの追加

閲覧者の選択したパラメーターの表示

レポート閲覧者がレポートの詳細について知りたい場合に、現在どんなパラメーターが選択されているか確認したい時があります。 レポートのパラメーターごとにユーザーが選択した値を保持できます。 そのための方法の 1 つとして、ページ フッターのテキスト ボックスにパラメーターを表示させる方法があります。

選択したパラメーター値をページ フッターにラベル付きで表示させるには、次の手順に従います。

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. ページ フッターを右クリックして [挿入] を選択し、[テキストボックス] を選択します。

    レポートのページ フッターにテキスト ボックスを挿入するオプションを選択する方法を示すスクリーンショット。

  3. タイムスタンプを示すテキスト ボックスの横にテキスト ボックスをドラッグします。 テキスト ボックスの側面にあるハンドルをクリックしてドラッグすることにより、テキストボックスの幅を拡張できます。

  4. [レポート データ] ペインの [パラメーター] ノードで、[StoreID] パラメーターをページ フッターのテキスト ボックス内にドラッグします。 テキスト ボックスが更新され、[@StoreID] の値が表示されます。

  5. テキスト ボックスを更新して、パラメーター値のラベルを追加します。

    1. テキストボックス内の既存の式の後に挿入カーソルが表示された状態にして、スペースを入力します。

    2. [レポート データ] ペインからテキスト ボックスに [StoreID] パラメータをもう一度ドラックしてコピーします。 テキスト ボックスが更新され、[@StoreID] [@StoreID] が表示されます。

    3. テキスト ボックス内で最初の [StoreID] パラメーターを右クリックし、[式] を選択します。

    4. [式] ダイアログで、上部にある [この値に対する式を設定] ボックス内の式を更新します。 Value のテキストを Label のテキストに置き換えます。

  6. OK を選択して変更を適用します。

    テキスト ボックスが更新され、[@StoreID.Label] [@StoreID] が表示されます。

  7. [実行] を選択してレポートをプレビューします。

    レポートのページフッター部に、選択したストアの名前と識別子がタイム スタンプ情報付きで表示されるようになりました。

パラメーターを使用してレポート データをフィルタリングする

フィルターを使用すると、外部データ ソースから取得されたデータのうちどのデータをレポートで使用するかを制御できます。 レポートに表示されるデータの内容を閲覧者がコントロールできるようにするには、マトリックスのフィルターにレポート パラメーターを含めます。

マトリックス フィルターにパラメーターを指定するには、次の手順に従います:

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. マトリックス上の列ヘッダーを右クリックし、[Tablix のプロパティ] を選択します。

  3. [Tablix のプロパティ] ダイアログで、[フィルター] タブを選択し、[追加]を選択します。 新しいフィルター行が表示されます。

    1. [式] プロパティについて、ドロップダウン リストから [StoreID] データセットを選択します。 データ型ボックスに [整数] が表示されます。 式の値がデータセット フィールドの場合、データ型は自動的に設定されます。

    2. [演算子] プロパティに イコール (=) 記号が選択されているのを確認します。

    3. [値] プロパティに [@StoreID] と入力します。

      [@StoreID] は、=Parameters!StoreID.Value という長い式を単純化した構文です。

  4. OK を選択して変更を適用します。

  5. [実行] を選択してレポートをプレビューします。

    レポートには Contoso Catalog Store のデータのみが表示されます。

  6. [レポート ビューアー] ツール バーで、[ストア名] のプロンプトに対して [Contoso Asia Online Store] を選択し、[レポートの表示] を選択します。

    マトリックスに、選択した店舗に対応するデータが表示されます。

複数値パラメーターを使用する

複数値パラメーターは、複数の値の配列です。 データセット クエリでは、クエリ構文で 1 つの値が一連の値に含まれているかどうかをテストする必要があります。 レポート式では、式の構文は単独の値ではなく値の配列にアクセスする必要があります。

単一値パラメーターを複数値パラメーターに変更するには、クエリと、フィルターなどのパラメーター参照を含むすべての式を変更する必要があります。

既存の単一値パラメーターを複数値パラメーターに変更するには、次の手順に従います。

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. [レポート データ] ペインの [パラメーター] ノードの下の [StoreID] パラメーターを右クリックし、[パラメーターのプロパティ] を選択します。

  3. [全般] タブで、[複数の値の使用を許可する] オプションを選択し、[OK] を選択します。

値を正しく処理するようにクエリを更新します。

  1. [レポート データ] ペインの [データセット] ノードの下の [DataSet1] データセットを右クリックし、[クエリ] を選択します。

  2. [クエリ デザイナー]ダイアログで、上部のボックスのクエリの一番下までスクロールします。

  3. クエリの最後の行の Transact-SQL WHERE 句で、イコール (=) 記号を IN に変更します。

    WHERE StoreID IN (@StoreID)
    

    IN 演算子によって、値が一連の値に含まれているかどうかがテストされます。

  4. OK を選択して変更を適用します。

複数の値を正しく処理できるようにパラメーター フィルターを更新します。

  1. マトリックス上の列ヘッダーを右クリックし、[Tablix のプロパティ] を選択します。

  2. [Tablix のプロパティ] ダイアログで、[フィルター] タブを選択します。

  3. [演算子] プロパティで、ドロップダウン リストから [In] を選択します。

  4. OK を選択して変更を適用します。

ページ フッターを更新して、複数値パラメーター データが適切に表示されるようにします。

  1. マトリックス内のページ フッタで、パラメーターを表示するテキスト ボックスを選択します。

  2. テキストボックス内のすべてのテキストを削除します。

  3. テキスト ボックスを右クリックして、[式] を選択します。

  4. [式] ダイアログの上部のボックスに次の式を貼り付けます。

    =Join(Parameters!StoreID.Label, ", ")
    

    この式は、ユーザーが選択したすべての店舗名を、コンマとスペースで区切って連結します。

  5. OK を選択して変更を適用します。

    ページ フッターのテキスト ボックスが完全な式 (<<Expr>>) に変わります。

  6. ページ フッターでテキスト ボックスを選択し、ハンドルを操作してボックスの幅を大きくします。

  7. テキスト ボックスで、式の前にカーソルを合わせ、「Parameter values selected」(選択されているパラメーター値) と入力します。

  8. ラベルテキスト [Parameter values selected] (選択されているパラメーター値) を選択し、テキストを太字 に設定します。 キーボード ショートカット (Ctrl + F5) を使用することもできます。

レポートを確認し、複数値パラメーターがサポートされているかテストします。

  1. [実行] を選択してレポートをプレビューします。

  2. [レポート ビューアー]ツール バーの [ストア名] プロンプトで、ドロップダウン リストを展開します。

    リスト内の各パラメーター値には、チェック ボックスがあります。 レポート ビューにパラメーター値を含めると、対応するチェック ボックスがオンになります。

  3. ドロップダウンリストで[すべて選択] のオプションを選択します。 このオプションを選択すると、一覧表示されているすべてのチェック ボックスがオンになり、すべてのパラメーター値がレポートに表示されます。

  4. [レポート ビューアー] ツール バーの [レポートの表示] を選択します。 レポートに、全店舗、全サブカテゴリの販売数量が表示されます。

    [すべて選択] をクリックして、レポート内のすべてのパラメーター値を表示させる方法を示すスクリーンショット。

    ヒント

    長いパラメーター値や列数の多い幅広なレポートの場合、レポート ビュー内のデータの読みやすさを向上させるために、デザインサーフェスのレポートの幅または列の幅を拡大できます。 また、[中央に配置]を使用するなど、列見出しやセル データの書式設定を調整して、長い値を読みやすい形式で折り返すこともできます。

  5. ドロップダウン リストで、[すべて選択] オプションの選択を解除してから、Contoso Catalog StoreContoso Asia Online Store の 2 つの値を選択します。

  6. [レポートの表示]を再度選択して、更新された結果を確認します。

ブール型パラメーターの追加による条件付き表示範囲設定

レポートにブール値 (True または False) パラメーターを実装することで、現在の設定に基づいてパラメーター データの表示範囲をコントロールできます。

レポートにブール値パラメーターを追加するには、次の手順に従います:

  1. [実行] タブで、[デザイン] を選択してデザイン ビューに戻ります。

  2. [レポート データ] ペインで [パラメーター] ノードを右クリックして、[パラメーターの追加] を選択します。

  3. [レポート パラメーターのプロパティ]ダイアログの [全般] タブで、次のプロパティを構成します。

    • 名前: 「ShowSelections」 (選択内容を表示する) と入力します。

    • プロンプト: 「Show selections?」 (選択内容を表示しますか) と入力します。

    • [データ型]: ドロップダウン リストから [ブール値] を選択します。

  4. [既定値] タブに切り替え、次のプロパティを構成します。

    1. [値の指定] オプションを選択し、[追加] を選択します。

    2. ボックスに、FALSE と入力します。

  5. [OK] を選択して、プロパティの変更内容を適用します。

これで、パラメーター設定に基づいてデータ表示範囲をコントロールできます。

  1. マトリックス内のページ フッターで、パラメーター値を表示するテキスト ボックスを右クリックし、[テキスト ボックスのプロパティ] を選択します。

  2. [テキストボックスのプロパティ] のダイアログで、次のプロパティを設定します。

    1. [表示範囲] タブを選択します。

    2. [式を基に表示/非表示を切り替える] オプションを選択します。

    3. [式] オプション (Fx) を選択します。

    4. [式] ダイアログの上部のボックスに次の式を貼り付けます。

      =Not Parameters!ShowSelections.Value
      

      これで、テキスト ボックスの [表示範囲] オプションは、 [非表示] プロパティによって制御されます。 Not (!) 演算子が存在している状態で閲覧者がパラメーターを選択すると、[非表示] プロパティは False になり、テキスト ボックスにパラメーター データが表示されます。

    5. [OK] を選択して式を適用します。

  3. もう一度 [OK] を選択してテキスト ボックスのプロパティ を適用します。

レポートを確認し、ブール値パラメーターがサポートされているかテストします。

  1. [実行] を選択してレポートをプレビューします。

  2. [レポート ビューアー] ツール バーで、Show selections? (選択内容を表示しますか) オプションを True に設定します。 [レポートの表示] を選択します。

    閲覧者が [選択内容を表示する] を True に設定すると、選択されているパラメーター値情報がレポートに表示されます。

    レポート内でブール値パラメーターを使用してデータ表示範囲をコントロールする方法を示すスクリーンショット。

レポート タイトルの追加

次の手順でレポートにタイトルを追加できます:

  1. [レポート ビルダー][デザイン] を選択してデザイン ビューに戻ります。

  2. デザイン サーフェスで、[選択してタイトルを追加] テキスト ボックスを選択します。

  3. [選択してタイトルを追加] テキスト ボックスに、「パラメーター化された製品売上データ」と入力し、テキスト ボックスの外側をクリックします。

レポートの保存

レポート サーバーにレポートを保存するには、次の手順に従います。

  1. [ファイル] > [名前を付けて保存] を選びます。

  2. [レポートとして保存] ダイアログで、右側のウィンドウの [最近使ったサイトとサーバー] を選択します。

  3. レポートを保存する権限があるレポート サーバーの名前を入力するか選択します。

    "レポート サーバーに接続しています" というメッセージが表示されます。 接続が完了すると、既定のレポート フォルダーが開きます。 レポート サーバー管理者は、既定フォルダーの場所を指定します。

  4. レポート [名前]について、既定値を [Untitled] (タイトル未設定) から [パラメーター化された製品売上データ] に変更します。

  5. [保存] を選択します。

レポートがレポート サーバーに保存されます。 接続しているレポート サーバーの名前がウィンドウ下部のステータス バーに表示されます。