

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Inserção dos parâmetros de conjunto de dados no SQL personalizado
<a name="dataset-parameters-insert-parameter"></a>

Você pode inserir parâmetros de conjunto de dados no SQL personalizado de um conjunto de dados no modo de consulta direta fazendo referência a ele com `<<$parameter_name>>` na instrução SQL. No runtime, os usuários do painel podem inserir valores de controle de filtro associados a um parâmetro de conjunto de dados. Em seguida, eles podem ver os resultados nos elementos visuais do painel depois que os valores se propagam para a consulta SQL. Você pode usar parâmetros para criar filtros básicos com base na entrada do cliente nas cláusulas `where`. Como alternativa, você pode adicionar cláusulas `case when` ou `if else` para alterar dinamicamente a lógica da consulta SQL com base na entrada de um parâmetro.

Por exemplo, digamos que você queira adicionar uma cláusula `WHERE` ao seu SQL personalizado que filtra dados com base no nome da região de um usuário final. Nesse caso, você cria um parâmetro de valor único chamado `RegionName`:

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

Você também pode permitir que os usuários forneçam múltiplos valores ao parâmetro:

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

No exemplo mais complexo abaixo, um autor de conjunto de dados refere-se a dois parâmetros de conjunto de dados duas vezes, com base no nome e no sobrenome de um usuário, que podem ser selecionados em um controle de filtro do painel:

```
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)
```

Você também pode usar parâmetros em cláusulas `SELECT` para criar novas colunas em um conjunto de dados utilizando a entrada do usuário:

```
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>>
```

Para criar uma consulta SQL personalizada ou editar uma consulta existente antes de adicionar um parâmetro de conjunto de dados, consulte [Como usar SQL para personalizar dados](adding-a-SQL-query.md).

Ao aplicar SQL personalizado com um parâmetro de conjunto de dados, `<<$parameter_name>>` é usado como um valor de espaço reservado. Quando um usuário escolhe um dos valores de parâmetros de um controle, o Quick substitui o espaço reservado pelos valores que o usuário seleciona no painel.

No exemplo a seguir, o usuário insere uma nova consulta SQL personalizada que filtra os dados por estado:

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

O valor padrão do parâmetro é aplicado à consulta SQL e os resultados aparecem no **Painel de visualização**.