

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

# データセットパラメータをカスタム 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 クエリに適用され、結果が **[プレビュー]** ペインに表示されます。