

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データセットパラメータの高度なユースケース
<a name="dataset-parameters-advanced-options"></a>

このセクションは、より高度なオプションと、データセットパラメータとドロップダウンコントロールを使用するユースケースについて説明します。以下のチュートリアルを参照しながら、データセットパラメータを使用して動的なドロップダウンの値を作成します。

## データセットパラメータによる複数値コントロールの使用
<a name="dataset-parameters-dropdown"></a>

データセットのカスタム SQL に挿入されるデータセットパラメータを使用する場合、通常、データセットパラメータは特定の列の値によってデータをフィルタリングします。ドロップダウンコントロールを作成し、パラメータを値として割り当てた場合、ドロップダウンには、パラメータがフィルタリングした値のみが表示されます。以下は、データセットパラメータにマッピングされ、フィルタリングされていないすべての値を表示するコントロールを作成する手順です。

**割り当てられたすべての値をドロップダウンコントロールで表示させるには**

1. 元のデータセットのすべての一意の値を含む新しい単一列のデータセットを SPICE またはダイレクトクエリで作成します。例えば、元のデータセットが次のカスタム SQL を使用しているとします。

   ```
   select * from all_flights
           where origin_state_abr = <<$State>>
   ```

   すべての一意の元の状態を含む単一列のテーブルを作成するには、次のカスタム SQL を新しいデータセットに適用します。

   ```
   SELECT distinct origin_state_abr FROM all_flights
           order by origin_state_abr asc
   ```

   SQL 式は、すべての一意の状態をアルファベット順に返します。新しいデータセットには、データセットパラメータは含まれていません。

1. 新しいデータセットの **[名前]** を入力し、データセットを保存して公開します。この例では、新しいデータセットの名前は `State Codes` です。

1. 元のデータセットを含む分析を開き、新しいデータセットを分析に追加します。既存の分析にデータセットを追加する方法については、「[分析へのデータセットの追加](adding-a-data-set-to-an-analysis.md)」を参照してください。

1. **[コントロール]** ペインに移動し、編集するドロップダウンコントロールを見つけます。コントロールの横にある省略記号 (三点) を選択し、**[編集]** を選択します。

1. 左側に表示される **[フォーマットコントロール]** で、**[値]** セクションの **[データセットフィールドにリンク]** を選択します。

1. 表示される **[データセット]** ドロップダウンで、作成した新しいデータセットを選択します。この例では、`State Codes` データセットが選択されています。

1. 表示される **[フィールド]** ドロップダウンで、適切なフィールドを選択します。この例では、`origin_state_abr` フィールドが選択されています。

新しいデータセットへのコントロールのリンクを完了すると、すべての一意の値がコントロールのドロップダウンに表示されます。これには、データセットパラメータによって除外される値が含まれます。

## [すべてを選択] オプションによるコントロールの使用
<a name="dataset-parameters-controls-select-all"></a>

デフォルトでは、1 つ以上のデータセットパラメータが分析パラメータにマッピングされ、コントロールに追加される場合、`Select all` オプションは使用できません。以下は、前のセクションと同じシナリオ例を使用した回避策の手順です。

**注記**  
このチュートリアルは、ダイレクトクエリでロードできる小規模のデータセットが対象です。大規模なデータセットがあり、`Select All` オプションを使用したい場合は、データセットを SPICE にロードすることをお勧めします。ただし、`Select All` オプションをデータセットパラメータとともに使用する場合は、このチュートリアルでその方法について説明します。

まず、`States` という複数値パラメータを持つカスタム SQL を含むダイレクトクエリデータセットがあるとします。

```
select * from all_flights
where origin_state_abr in (<<$States>>)
```

**データセットパラメータを使用するコントロールで [すべて選択] オプションを使用するには**

1. 分析の **[パラメータ]** ペインで、使用するデータセットパラメータを見つけ、パラメータの横にある省略記号 (三点) から **[編集]** を選択します。

1. 表示される **[パラメータを編集]** ウィンドウで、**[複数の静的デフォルト値]** セクションに新しいデフォルト値を入力します。この例では、デフォルト値は ` All States` です。この例では、デフォルト値がコントロールの最初の項目として表示されるように、先頭にスペース文字が使用されていることに注意してください。

1. **[更新]** を選択してパラメータを更新します。

1. 分析別分析で使用しているデータセットパラメータを含むデータセットに移動します。データセットのカスタム SQL を編集して、新しい静的な複数のデフォルト値のデフォルトユースケースを含めます。` All States` の例を使用すると、SQL 式は次のようになります。

   ```
   select * from public.all_flights
   where
       ' All States' in (<<$States>>) or
       origin_state_abr in (<<$States>>)
   ```

   ユーザーがコントロールで ` All States` を選択した場合、新しい SQL 式は一意のレコードすべてを返します。ユーザーがコントロールから別の値を選択した場合、クエリはデータセットパラメータによってフィルタリングされた値を返します。

### [すべて選択] オプションと複数値オプションによるコントロールの使用
<a name="dataset-parameters-controls-multi-select-all"></a>

前の `Select all` の手順と前述の複数値コントロールの方法を組み合わせて、ユーザーが選択できる複数値に加え、`Select all` の値を含むドロップダウンコントロールを作成できます。このチュートリアルは、前の手順に従って、データセットパラメータを分析パラメータにマッピングする方法を理解し、分析でコントロールを作成できることを前提としています。マッピング分析パラメータの詳細については、「[新しいクイック分析でのデータセットパラメータのマッピング](dataset-parameters-analysis.md#dataset-parameters-map-to-analysis)」を参照してください。データセットパラメータを使用する分析でのコントロールの作成の詳細については、「[マッピングされた分析パラメータにフィルターコントロールを追加する](dataset-parameters-analysis.md#dataset-parameters-analysis-filter-control)」を参照してください。

**[すべて選択] オプションとマッピングされたデータセットパラメータを使用して複数値をコントロールに追加するには**

1. `Select all` カスタム SQL 式を含む元のデータセットと、元のデータセットに存在するフィルタリングされた列のすべての可能な値を含む 2 番目のデータセットを含む分析を開きます。

1. 前に作成したセカンダリデータセットに移動して、フィルタリングされた列のすべての値を返します。以前に設定した `Select all` オプションをクエリに追加するカスタム SQL 式を追加します。次の例では、データセットの戻り値のリストの先頭に ` All States` レコードを追加します。

   ```
   (Select ' All States' as origin_state_abr)
       Union All
       (SELECT distinct origin_state_abr FROM all_flights
       order by origin_state_abr asc)
   ```

1. データセットが属する分析に戻り、使用しているデータセットパラメータを、前述の手順のステップ 3 で作成した分析パラメータにマッピングします。分析パラメータとデータセットパラメータには同じ名前を付けることができます。この例では、分析パラメータは `States` と呼ばれます。

1. 新しいフィルターコントロールを作成するか、既存のフィルターコントロールを編集し、**[すべて選択を非表示]** を選択して、複数値コントロールに表示される無効な **[すべて選択]** オプションを非表示にします。

コントロールを作成すると、ユーザーは同じコントロールを使用して、データセット内のフィルタリングされた列のすべてまたは複数値を選択できます。