ページ分割されたレポートにカスケード型パラメーターを追加する (レポート ビルダー)

適用対象: Microsoft Report Builder (SSRS) Power BI Report Builder SQL Server Data Tools の Report Designer

カスケード型パラメーターを使用すると、ページ分割されたレポートで大量のデータを管理できます。 パラメーターの値の一覧が、別のパラメーターで選択された値によって決まるように、関連するパラメーターのセットを定義できます。 たとえば、最初のパラメーターが独立しており、製品カテゴリの一覧を表すとします。 ユーザーが任意のカテゴリを選択すると、2 番目のパラメーターは最初のパラメーターの値によって決まります。 その値は、選択したカテゴリ内のサブカテゴリの一覧で更新されます。 ユーザーがレポートを表示するとき、カテゴリ パラメーターとサブカテゴリ パラメーターの両方の値を使用して、レポート データにフィルターが適用されます。

Note

ページ分割されたレポートの定義ファイル (.rdl) は、Microsoft レポート ビルダー、Power BI レポート ビルダー、または SQL Server Data Tools のレポート デザイナーを使用して作成および変更できます。

カスケード型パラメーターを作成するには、まずデータセット クエリを定義し、必要な各カスケード型パラメーターにクエリ パラメーターを指定します。 各カスケード型パラメーターについて、使用可能な値を提供する独立したデータセットを作成する必要もあります。 詳細については、「レポート パラメーターの値の追加、変更、または削除 (Report Builder)」を参照してください。

一覧の後半にあるパラメーターのデータセット クエリには一覧の前半にある各パラメーターへの参照が含まれているため、カスケード型パラメーターでは順序が重要な意味を持ちます。 実行時に、レポート データ ペイン内のパラメーターの順序によって、パラメーター クエリがレポートに表示される順序が決まります。 したがって、ユーザーが連続する各パラメーター値を選択する順序。

複数の値を使用したカスケード型パラメーターを作成する方法、および [すべて選択] 機能を含める方法の詳細については、「すべてのマルチバリューカスケード型パラメーターを選択する方法」を参照してください。

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

  2. [名前] に、データセットの名前を入力します。

  3. [データ ソース] ボックスのデータ ソースの名前を選択するか、 [新規] を選択して名前を作成します。

  4. [クエリの種類] ボックスで、選択したデータ ソースにクエリの種類を選択します。 この記事では、クエリの種類として [テキスト] を使用します。

  5. [クエリ] で、このレポートにデータを取得するためのクエリを入力します。 クエリには次の要素が必要です。

    1. データ ソース フィールドの一覧。 たとえば Transact-SQL ステートメントでは、SELECT ステートメントは指定されたテーブルまたはビューのデータベース列名の一覧を指定します。

    2. カスケード型パラメーターごとに 1 つのクエリ パラメーター。 クエリ パラメーターは、クエリに含める特定の値またはクエリから除外する特定の値を指定することによって、データ ソースから取得するデータを制限します。 通常、クエリ パラメーターはクエリの制約句で使用されます。 たとえば Transact-SQL SELECT ステートメントでは、クエリ パラメーターは WHERE 句で使用されます。

  6. [実行] (!)] を選択します。 クエリ パラメーターを指定し、クエリを実行したら、クエリ パラメーターに対応するレポート パラメーターが自動的に作成されます。

    Note

    最初にクエリを実行したときのクエリ パラメーターの順序によって、クエリ パラメーターがレポート内で作成される順序が決まります。 順序を変更するには、「レポート パラメーターの順序の変更 (Report Builder)」を参照してください

  7. [OK] を選択します。

次に、独立したパラメーターの値を提供するデータセットを作成します。

独立したパラメーターの値を提供するデータセットを作成する

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

  2. [名前] に、データセットの名前を入力します。

  3. [データ ソース] ボックスに表示された名前が、手順 1. で選択したデータ ソースの名前であることを確認します。

  4. [クエリの種類] ボックスで、選択したデータ ソースにクエリの種類を選択します。 この記事では、クエリの種類として [テキスト] を使用します。

  5. [クエリ] で、このパラメーターに値を取得するためのクエリを入力します。 通常、独立したパラメーターのクエリにはクエリ パラメーターが含まれません。 たとえば、すべてのカテゴリの値を提供するパラメーターのクエリを作成するには、次のブロックのような Transact-SQL ステートメントを使用できます。

    SELECT DISTINCT <column name> FROM <table>  
    

    SELECT DISTINCT コマンドは、指定したテーブルの指定した列から一意の各値を取得できるように、結果セットから重複する値を削除します。

    [実行] (!)] を選択します。 結果セットには、この最初のパラメーターに使用可能な値が表示されます。

  6. [OK] を選択します。

次に、このデータセットを使用する最初のパラメーターのプロパティを設定して、実行時に使用可能な値を入力します。

レポート パラメーターに使用可能な値を設定する

  1. [レポート データ] ペインで [パラメーター] フォルダーの最初のパラメーターを右クリックし、[パラメーターのプロパティ] を選択します。

  2. [名前] ボックスのパラメーターの名前が正しいことを確認します。

  3. [使用可能な値] を選択します。

  4. [クエリから値を取得] を選びます。 3 つのフィールドが表示されます。

  5. [データセット] で、一覧から前の手順で作成したデータセットの名前を選択します。

  6. [値] で、パラメーター値を指定するフィールドの名前を選択します。

  7. [ラベル] で、パラメーターのラベルを指定するフィールドの名前を選択します。

  8. [OK] を選択します。

次に、従属パラメーターの値を提供するデータセットを作成します。

従属パラメーターの値を提供するデータセットを作成する

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

  2. [名前] に、データセットの名前を入力します。

  3. [データ ソース] ボックスに表示された名前が、手順 1. で選択したデータ ソースの名前であることを確認します。

  4. [クエリの種類] ボックスで、選択したデータ ソースにクエリの種類を選択します。 この記事では、クエリの種類として [テキスト] を使用します。

  5. [クエリ] で、このパラメーターに値を取得するためのクエリを入力します。 通常、従属パラメーターのクエリには、このパラメーターが依存している各クエリ パラメーターが含められます。 たとえば、カテゴリ (独立したパラメーター) のすべてのサブカテゴリ (従属パラメーター) の値を提供するパラメーターのクエリを作成できます。 これを行うには、次のブロックのような Transact-SQL ステートメントを使用できます。

    SELECT DISTINCT Subcategory FROM <table>   
    WHERE (Category = @Category)  
    

    WHERE 句の [Category] は、<table> のフィールド名であり、@Category はクエリ パラメーターです。 このステートメントを使用すると、@Category に指定したカテゴリのサブカテゴリの一覧が生成されます。 この値は実行時に、ユーザーが同名のレポート パラメーターに選択した値を使用して入力されます。

  6. [OK] を選択します。

次に、このデータセットを使用する 2 番目のパラメーターのプロパティを設定して、実行時に使用可能な値を入力します。

2 番目のパラメーターに使用可能な値を設定する

  1. [レポート データ] ペインで [パラメーター] フォルダーの最初のパラメーターを右クリックし、[パラメーターのプロパティ] を選択します。

  2. [名前] ボックスのパラメーターの名前が正しいことを確認します。

  3. [使用可能な値] を選択します。

  4. [クエリから値を取得] を選びます。

  5. [データセット] で、一覧から前の手順で作成したデータセットの名前を選択します。

  6. [値] で、パラメーター値を指定するフィールドの名前を選択します。

  7. [ラベル] で、パラメーターのラベルを指定するフィールドの名前を選択します。

  8. [OK] を選択します。

カスケード型パラメーターをテストする

  1. [実行] を選択します。

  2. 最初の独立したパラメーターの一覧から値を選択します。

    レポート プロセッサによって、次のパラメーターのデータセット クエリが実行され、最初のパラメーターに選択した値が渡されます。 最初のパラメーターの値に基づいて、使用可能な値を使用して 2 番目のパラメーターの一覧が入力されます。

  3. 2 番目の従属パラメーターの一覧から値を選択します。

    選択肢を変更できるように、最後のパラメーターを選択した後、レポートは自動的に実行されません。

  4. [レポートの表示] を選択します。 選択するパラメーターに基づいて、レポートの表示が更新されます。

レポート パラメーターを追加、変更、または削除する (Report Builder)
レポート パラメーター (レポート ビルダーおよびレポート デザイナー)
チュートリアル: レポートへのパラメータの追加 (レポート ビルダー)
レポート ビルダー チュートリアル
データセット フィルター、データ領域フィルター、グループ フィルターに追加する (Report Builder)
レポート埋め込みデータセットと共有データセット (レポート ビルダー)