Inserimento dei parametri del set di dati in SQL personalizzato - Amazon QuickSight

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.

SQL query filtering data for Illinois state with results shown in preview pane.