

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

# Amazon Quick でのデータセットパラメータの使用
<a name="dataset-parameters"></a>

Amazon Quick では、作成者は直接クエリでデータセットパラメータを使用してデータセットを動的にカスタマイズし、再利用可能なロジックをデータセットに適用できます。データセットパラメータは、データセットレベルで作成されるパラメータです。これは、コントロール、計算フィールド、フィルター、アクション、URL、タイトル、説明を通じて分析パラメータに使用されます。分析パラメータの詳細については、「[Amazon Quick のパラメータ](parameters-in-quicksight.md)」を参照してください。以下に、データセットパラメータを使用して実行できる 3 つのアクションを示します。
+  **ダイレクトクエリのカスタム SQL** – データセットの所有者は、データセットパラメータをダイレクトクエリデータセットのカスタム SQL に挿入できます。これらのパラメータをクイック分析のフィルターコントロールに適用すると、ユーザーはカスタムデータをより迅速かつ効率的にフィルタリングできます。
+ **反復可能な変数** – データセットページ内の複数の場所に表示される静的な値は、カスタムデータセットパラメータを使用して 1 回のアクションで変更できます。
+ **計算フィールドをデータセットに移動する** – クイック作成者は、分析内のパラメータを使用して計算フィールドをコピーし、データセットレベルに移行できます。これにより、分析レベルで計算フィールドが誤って変更されないように保護され、また計算フィールドが複数の分析間で共有されます。

状況によっては、データセットパラメータにより、複雑なカスタム SQL を必要とするダイレクトクエリデータセットのためのフィルターコントロールパフォーマンスが改善され、データセットレベルでのビジネスロジックが簡素化されます。

**Topics**
+ [データセットパラメータの制限](#dataset-parameters-limitations)
+ [Amazon Quick でのデータセットパラメータの作成](dataset-parameters-SQL.md)
+ [データセットパラメータをカスタム SQL に挿入する](dataset-parameters-insert-parameter.md)
+ [データセットパラメータを計算フィールドに追加する](dataset-parameters-calculated-fields.md)
+ [データセットパラメータをフィルターに追加する](dataset-parameters-dataset-filters.md)
+ [高速分析でのデータセットパラメータの使用](dataset-parameters-analysis.md)
+ [データセットパラメータの高度なユースケース](dataset-parameters-advanced-options.md)

## データセットパラメータの制限
<a name="dataset-parameters-limitations"></a>

このセクションでは、Amazon Quick でデータセットパラメータを使用する際に発生する可能性のある既知の制限について説明します。
+ ダッシュボードの閲覧者が E メールによるレポートをスケジュールする場合、選択したコントロールは、E メール添付のレポートに含まれるデータセットパラメータに反映されません。代わりに、パラメータのデフォルト値が使用されます。
+ データセットパラメータは、SPICE に保存されているデータセットのカスタムSQL に挿入できません。
+ 動的デフォルトは、データセットを使用している分析の分析ページでのみ設定できます。データセットレベルで動的なデフォルトを設定することはできません。
+ **[すべて選択]** オプションは、データセットパラメータにマッピングされている分析パラメータの複数値コントロールではサポートされていません。
+ カスケードコントロールは、データセットパラメータではサポートされていません。
+ データセットパラメータは、データセットがダイレクトクエリを使用している場合にのみ、データセットフィルターで使用できます。
+ カスタム SQL クエリでは、使用可能なデータセットパラメータは 128 個のみです。

# Amazon Quick でのデータセットパラメータの作成
<a name="dataset-parameters-SQL"></a>

データセットパラメータの使用を開始するには、次の手順を実行します。

**新しいデータセットパラメータを作成するには**

1. クイックスタートページから、左側の**データ**を選択し、変更するデータセットの横にある省略記号 (3 つのドット) を選択し、**編集**を選択します。

1. 表示される **[データセット]** ページで、左側の **[パラメータ]** を選択し、(\$1) アイコンを選択して新しいデータセットパラメータを作成します。

1. 表示される **[新しいパラメータを作成]** ポップアップで、**[名前]** ボックスにパラメータ名を入力します。

1. **[データ型]** ドロップダウンで、必要なパラメータのデータ型を選択します。サポートされているデータ型は、`String`、`Integer`、`Number`、および `Datetime` です。このオプションは、パラメータの作成後に変更することはできません。

1. **[デフォルト値]** で、パラメータに設定するデフォルト値を入力します。
**注記**  
データセットパラメータを分析パラメータにマッピングする場合、別のデフォルト値を選択できます。この場合、ここで設定したデフォルト値は新しいデフォルト値によってオーバーライドされます。

1. **[値]** で、パラメータに設定する値のタイプを選択します。**[単一の値]** パラメータは、単一選択ドロップダウン、テキストフィールド、およびリストコントロールをサポートします。**[複数の値]** パラメータは、複数選択のドロップダウンコントロールをサポートします。このオプションは、パラメータの作成後に変更することはできません。

1. 新しいパラメータの設定が完了したら、**[作成]** を選択してパラメータを作成します。

# データセットパラメータをカスタム SQL に挿入する
<a name="dataset-parameters-insert-parameter"></a>

SQL ステートメントの `<<$parameter_name>>` を使用してデータセットパラメータを参照することにより、[ダイレクトクエリ] モードでデータセットのカスタム SQL にそのデータセットパラメータを挿入できます。ランタイムの際、ダッシュボードユーザーはデータセットパラメータに関連付けられたフィルターコントロール値を入力できます。その値が SQL クエリに反映された後、ダッシュボードのビジュアルで結果を確認できます。パラメータを使用して、顧客が `where` 句に入力した内容に基づく基本フィルターを作成できます。もしくは、`case when` または `if else` 句を追加して、パラメータの入力に基づき、SQL クエリのロジックを動的に変更することもできます。

例えば、エンドユーザーのリージョン名に基づいてデータをフィルタリングする `WHERE` 句をカスタム SQL に追加するとします。この場合、`RegionName` と呼ばれる単一の値のパラメータを作成します:

```
SELECT *
FROM transactions
WHERE region = <<$RegionName>>
```

ユーザーがパラメータに複数値を指定するようにすることもできます。

```
SELECT *
FROM transactions
WHERE region in (<<$RegionNames>>)
```

次のより複雑な例では、データセットの作成者は、ダッシュボードフィルターコントロールで選択できるユーザーの姓名に基づいて、2 つのデータセットパラメータを 2 回参照します。

```
SELECT Region, Country, OrderDate, Sales
FROM transactions
WHERE region=
(Case
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region1') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region1') 
    THEN 'region1'
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region2') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region2') 
    THEN 'region2'
ELSE 'region3'
END)
```

`SELECT` 句でパラメータを使用して、ユーザー入力からデータセットで新しい列を作成することもできます。

```
SELECT Region, Country, date, 
    (case 
    WHEN <<$RegionName>>='EU'
    THEN sum(sales) * 0.93   --convert US dollar to euro
    WHEN <<$RegionName>>='CAN'
    THEN sum(sales) * 0.78   --convert US dollar to Canadian Dollar
    ELSE sum(sales) -- US dollar
    END
    ) as "Sales"
FROM transactions
WHERE region = <<$RegionName>>
```

データセットパラメータを追加する前にカスタム SQL クエリを作成するか、既存のクエリを編集するには、「[データをカスタマイズするための SQL の使用](adding-a-SQL-query.md)」を参照してください。

データセットパラメータを使用してカスタム SQL を適用する場合、`<<$parameter_name>>` はプレースホルダー値として使用されます。ユーザーがコントロールからパラメータ値のいずれかを選択すると、Quick はプレースホルダーをユーザーがダッシュボードで選択した値に置き換えます。

次の例では、ユーザーは、データを状態別にフィルタリングする新しいカスタム SQL クエリを入力します。

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

パラメータのデフォルト値が SQL クエリに適用され、結果が **[プレビュー]** ペインに表示されます。

# データセットパラメータを計算フィールドに追加する
<a name="dataset-parameters-calculated-fields"></a>

形式 `${parameter_name}` を使用して、データセットパラメータを計算フィールド式に追加することもできます。

計算を作成するときは、**[パラメータ]** リストの下にあるパラメータのリストから既存のパラメータを選択できます。複数値のパラメータを含む計算フィールドを作成することはできません。

計算フィールドの追加の詳細については、「[Amazon Quick でパラメータを使用して計算フィールドを使用する](parameters-calculated-fields.md)」を参照してください。

# データセットパラメータをフィルターに追加する
<a name="dataset-parameters-dataset-filters"></a>

[ダイレクトクエリ] モードのデータセットの場合、データセットの作成者は、カスタム SQL なしで、フィルターでデータセットパラメータを使用できます。データセットが SPICE にある場合、データセットパラメータをフィルターに追加することはできません。

**データセットパラメータをフィルターに追加するには**

1. フィルターを作成するデータセットのデータセットページを開きます。左側の **[フィルター]** を選択し、**[フィルターを追加]** を選択します。

1. フィルターに付ける名前を入力し、ドロップダウンでフィルタリングするフィールドを選択します。

1. 新しいフィルターを作成した後、**[フィルター]** ペインでフィルターに移動し、フィルターの横にある省略記号 (三点) を選択して、**[編集]** を選択します。

1. **[Filter type]** (フィルタータイプ) で、**[Custom filter]** (カスタムフィルター) を選択します。

1. **[フィルター条件]** で、希望する条件を選択します。

1. **[パラメータを使用]** ボックスを選択し、フィルターで使用するデータセットパラメータを選択します。

1. 変更が完了したら、**[適用]** を選択します。

# 高速分析でのデータセットパラメータの使用
<a name="dataset-parameters-analysis"></a>

データセットパラメータを作成したら、そのデータセットを分析に追加した後、そのデータセットパラメータを新規または既存の分析パラメータにマッピングします。データセットパラメータを分析パラメータにマッピングした後、それらをフィルター、コントロール、その他の分析パラメータ機能とともに使用できます。

データセットパラメータは、パラメータが属するデータセットを使用する分析の **[パラメータ]** ペインで管理できます。**[パラメータ]** ペインの **[データセットパラメータ]** セクションでは、マッピングされていないデータセットパラメータのみを表示するように選択できます (デフォルト)。もしくは、マッピングされている、されていないにかかわらず、すべてのデータセットパラメータを表示するには、**[表示]** ドロップダウンから **[すべて]** を選択します。

## 新しいクイック分析でのデータセットパラメータのマッピング
<a name="dataset-parameters-map-to-analysis"></a>

パラメータを含むデータセットから新しい分析を作成する場合、データセットパラメータを使用する前に、それらのパラメータを分析にマッピングする必要があります。これは、パラメータを含むデータセットを分析に追加する場合にも当てはまります。分析のマッピングされていないすべてのパラメータは、分析の **[パラメータ]** ペインに表示できます。または、分析を作成する際、またはデータセットを追加する際に、ページの右上に表示される通知メッセージで **[表示]** を選択することもできます。

**データセットパラメータを分析パラメータにマッピングするには**

1. [クイックコンソール](https://quicksight.aws.amazon.com/)を開きます。

1. 変更する分析を選択します。

1. **[パラメータ]** アイコンを選択して、**[パラメータ]** ペインを開きます。

1. マッピングするデータセットパラメータの横にある省略記号 (三点) を選択し、**[パラメータをマッピング]** を選択して、データセットパラメータをマッピングする分析パラメータを選択します。

   分析に分析パラメータがない場合は、**[パラメータをマッピング]** と **[新規作成]** を選択して、作成時にデータセットパラメータに自動的にマッピングされる分析パラメータを作成できます。

   1. (オプション) 表示される **[新しいパラメータを作成]** ポップアップで、**[名前]** に新しい分析パラメータの名前を入力します。

   1. (オプション) **[静的デフォルト値]** で、パラメータに設定する静的デフォルト値を選択します。

   1. (オプション) **[動的デフォルトを設定]** を選択して、新しいパラメータの動的デフォルトを設定します。

   1. **[マッピングされたデータセットパラメータ]** テーブルには、新しい分析パラメータにマッピングしているデータセットパラメータが表示されます。この分析パラメータに他のデータセットパラメータを追加するには、**[データセットパラメータの追加]** ドロップダウンを選択し、マッピングするパラメータを選択します。データセットパラメータのマッピングを解除するには、削除するデータセットパラメータの横にある **[削除]** ボタンを選択します。

   分析パラメータの作成の詳細については、「[Amazon Quick でのパラメータの設定](parameters-set-up.md)」を参照してください。

データセットパラメータを分析パラメータにマッピングすると、分析パラメータは、分析で使用される場所にかかわらず、データセットパラメータを表します。

**[パラメータを編集]** ウィンドウで、データセットパラメータを分析パラメータにマッピングしたり、マッピング解除したりすることもできます。**[パラメータを編集]** ウィンドウを開くには、**[パラメータ]** ペインに移動し、変更する分析パラメータの横にある省略記号 (三点) を選択し、**[パラメータを編集]** を選択します。この分析パラメータに他のデータセットパラメータを追加するには、**[データセットパラメータの追加]** ドロップダウンを選択し、マッピングするパラメータを選択します。データセットパラメータのマッピングを解除するには、削除するデータセットパラメータの横にある **[削除]** ボタンを選択します。**[すべて削除]** を選択して、すべてのマッピングされたデータセットパラメータを削除することもできます。変更が完了したら、**[更新]** を選択します。

分析パラメータを削除すると、すべてのデータセットパラメータのマッピングが分析から解除され、**[パラメータ]** ペインの **[未マッピング]** セクションに表示されます。データセットパラメータを一度に 1 つの分析パラメータにのみマッピングできます。データセットパラメータを別の分析パラメータにマッピングするには、データセットパラメータのマッピングを解除してから、それを新しい分析パラメータにマッピングします。

## マッピングされた分析パラメータにフィルターコントロールを追加する
<a name="dataset-parameters-analysis-filter-control"></a>

Quick でデータセットパラメータを分析パラメータにマッピングした後、フィルター、アクション、計算フィールド、タイトル、説明、URLsのフィルターコントロールを作成できます。

**マッピングされたパラメータにコントロールを追加するには**

1. 分析ページの **[パラメータ]** ペインで、必要なマッピングされた分析パラメータの横にある省略記号 (三点) を選択し、**[コントロールを追加]** を選択します。

1. 表示される **[コントロールを追加]** ウィンドウで、希望の **[名前]** を入力し、コントロールに付ける **[スタイル]** を選択します。単一の値のコントロールの場合は、`Dropdown`、`List`、および `Text field` から選択します。複数値コントロールの場合は、`Dropdown` を選択します。

1. **[追加]** を選択してコントロールを作成します。

# データセットパラメータの高度なユースケース
<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. 新しいフィルターコントロールを作成するか、既存のフィルターコントロールを編集し、**[すべて選択を非表示]** を選択して、複数値コントロールに表示される無効な **[すべて選択]** オプションを非表示にします。

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