

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Inserimento dei parametri del set di dati nell'SQL personalizzato
<a name="dataset-parameters-insert-parameter"></a>

È possibile inserire i parametri del set di dati nell'SQL personalizzato di un set di dati in modalità di query diretta facendo riferimento ad esso con `<<$parameter_name>>` nell'istruzione SQL. Durante il runtime, gli utenti del pannello di controllo possono inserire i valori di controllo del filtro associati a un parametro del set di dati. Quindi, possono visualizzare i risultati negli elementi visivi del pannello di controllo dopo che i valori sono stati propagati alla query SQL. È possibile utilizzare i parametri per creare filtri di base in base all'input del cliente nelle clausole `where`. In alternativa, è possibile aggiungere le clausole `case when` o `if else` per modificare dinamicamente la logica della query SQL in base all'input di un parametro.

Ad esempio, supponiamo di voler aggiungere una clausola `WHERE` al codice SQL personalizzato che filtra i dati in base al nome della Regione di un utente finale. In questo caso, crei un parametro a valore singolo chiamato `RegionName`:

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

Puoi anche consentire agli utenti di fornire più valori al parametro:

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

Nel seguente esempio più complesso, l'autore di un set di dati fa riferimento due volte a due parametri del set di dati in base al nome e al cognome di un utente che possono essere selezionati in un controllo di filtro del pannello di controllo:

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

I parametri possono essere utilizzati nelle clausole `SELECT` anche per creare nuove colonne in un set di dati dall'input dell'utente:

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

Per creare una query SQL personalizzata o modificare una query esistente prima di aggiungere un parametro del set di dati, consulta [Utilizzo di SQL per personalizzare i dati](adding-a-SQL-query.md).

Quando si applica un codice SQL personalizzato con un parametro del set di dati, `<<$parameter_name>>` viene utilizzato come valore segnaposto. Quando un utente sceglie uno dei valori dei parametri da un controllo, Quick sostituisce il segnaposto con i valori che l'utente seleziona nella dashboard.

Nell'esempio seguente, l'utente immette una nuova query SQL personalizzata che filtra i dati in base allo stato:

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

Il valore predefinito del parametro viene applicato alla query SQL e i risultati vengono visualizzati nel **riquadro di anteprima**.