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 in SQL personalizzato
È 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.
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, QuickSight sostituisce il segnaposto con i valori selezionati dall'utente 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. Nella schermata seguente, il valore predefinito del parametro State
è IL
, o Illinois. La query SQL filtra i dati dal set di dati e restituisce tutte le voci del set di dati in cui lo stato di origine è IL
.
