Query personalizzate
Una query personalizzata è un modo per selezionare dati da un'origine dati esterna in una connessione dati, con l'utilizzo di una propria query di database personalizzata. È un metodo alternativo rispetto alla selezione con mouse di tabelle e colonne nelle finestre di dialogo Seleziona dati e Viste nella connessione. Utilizzando le proprie competenze in SQL, grazie alle query personalizzate è possibile effettuare selezioni di dati molto specifiche. Il risultato di una query personalizzata è una tabella di database a cui è possibile accedere come una tabella dati in Spotfire
In questa pagina
- Parametri nelle query personalizzate
Per impostare la query affinché recuperi diversi risultati in base al valore di una o più variabili, è possibile configurarla in modo che utilizzi dei parametri. Un parametro può essere mappato, ad esempio, a un controllo proprietà in un'area di testo.
Aggiunta di una query personalizzata in una connessione dati
In un Client Spotfire installato è possibile aggiungere una query personalizzata alla connessione dati quando si selezionano i dati nella finestra di dialogo Viste nella connessione.
Prima di iniziare
- Per aggiungere e modificare query personalizzate, è necessario utilizzare un client Spotfire installato.
- Non tutti i connettori dati supportano l'utilizzo di query personalizzate.
- Per aggiungere e modificare query personalizzate è necessaria la licenza Query personalizzata in Connessioni. Per poter rendere attendibili le query personalizzate affinché altri utenti possano aprirle, è necessario essere anche membri del gruppo di utenti autori query personalizzate.
- Le query personalizzate vengono scritte nel linguaggio di query del database esterno. Per ulteriori informazioni, vedere Scrittura di query personalizzate.
Procedura
Risultati
Scrittura di query personalizzate
Quando si scrive una query personalizzata, è necessario tenere in considerazione quelli che sono i requisiti, le limitazioni e le linee guida generali.
Quando si crea una query personalizzata, questa viene scritta nel linguaggio dell'origine dati esterna. Questo significa che la modalità di scrittura della query dipende dal tipo di origine dati con cui si desidera stabilire la connessione. Ad esempio, la query personalizzata per un database Microsoft SQL Server verrà scritta nel dialetto Microsoft SQL Server del linguaggio SQL.
FROM
della query finale che Spotfire invia all'origine dati esterna. Ad esempio, di seguito è riportata una query personalizzata per una connessione a Microsoft SQL Server: SELECT Country,AVG(Sales) AS AvgCountrySales FROM "World Sales" GROUP BY Country
FROM
dell'istruzione SELECT
: SELECT [SpotfireCustomQuery1].[Country] AS [Country], [SpotfireCustomQuery1].[AvgCountrySales] AS [AvgCountrySales] FROM (SELECT Country,AVG(Sales) AS AvgCountrySales FROM "World Sales" GROUP BY Country) AS [SpotfireCustomQuery1]
La query personalizzata viene eseguita ogni volta che viene eseguita una query regolare da Spotfire. Se si utilizza la query personalizzata per una tabella dati interna al database (esterna), la query personalizzata viene eseguita ogni volta che viene aggiornata una visualizzazione o un filtro. Per le tabelle dati interne alla memoria (importate), quando i dati vengono caricati all'interno del motore dati di Spotfire, la query viene eseguita solo quando i dati vengono importati o aggiornati in modo esplicito.
Requisiti e limitazioni delle query
- Le query sono scritte nel linguaggio del database esterno. Ad esempio, la query personalizzata per un database Microsoft SQL Server verrà scritta nel dialetto Microsoft SQL Server del linguaggio SQL. Per informazioni specifiche su come scrivere query per un determinato tipo di origine dati, fare sempre riferimento alla documentazione ufficiale relativa tale origine dati esterna. Le funzionalità, le limitazioni e le regole della sintassi dipendono dal tipo di origine dati con cui si desidera stabilire la connessione.
- Dev'essere possibile eseguire la query personalizzata come sottoquery in una clausola
FROM
. Per ulteriori informazioni, consultare la documentazione ufficiale dell'origine dati esterna.Nota: Talvolta alle sottoquery nelle clausoleFROM
si fa riferimento come tabelle derivate. - La query personalizzata deve essere costituita da una singola istruzione. Non è possibile includere più istruzioni insieme separandole con il carattere di punto e virgola ";".
- Le procedure archiviate non sono supportate nelle query personalizzate.
- Le espressioni CTE (Common Table Expression) non sono supportate perché richiedono la parola chiave
WITH
.
Tipi di dati
Quando si crea una query personalizzata, includere solo le colonne di tipi di dati effettivamente supportati da Spotfire. Per l'elenco dei tipi di dati supportati, vedere la documentazione del connettore in uso.
Se nella query è inclusa una colonna non supportata, questa verrà contrassegnata come non valida nella fase di verifica e non sarà possibile utilizzare la tabella risultante. Per risolvere problemi di questo tipo, riscrivere la query in modo da escludere le colonne non supportate oppure rimuovere le colonne dalla tabella risultante. Benché sia possibile assegnare un tipo di dati arbitrario alla colonna di una query personalizzata, il funzionamento della tabella Spotfire risultante da tale query non è garantito.
Protezione: affidabilità delle query personalizzate
Nessun altro utente potrà eseguire una query personalizzata creata in proprio, a meno che non vengano soddisfatte le seguenti due condizioni:
- La query personalizzata dev'essere salvata nella libreria come parte di un'analisi o come parte di una connessione dati.
- L'autore della query deve essere un membro del gruppo Autore query personalizzata, il che lo autorizza a creare query personalizzate attendibili per conto di altri utenti.
È sempre possibile condividere una query personalizzata creata con un altro utente, ma l'utente dovrà rivedere la query personalizzata e considerarla attendibile. Per considerare attendibile una query personalizzata, l'utente dovrà aprire la finestra di dialogo Query personalizzata, esaminarne il testo e fare clic su OK.