Guida per l'utente di TIBCO Cloud™ Spotfire® Web Client

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

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 poter aggiungere e modificare query personalizzate nelle connessioni dati, prestare attenzione ai seguenti requisiti:
  • 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

  1. Creare una nuova connessione dati (File e dati > Connetti a) o modificare una connessione dati esistente nell'analisi o nella libreria.
  2. Nella finestra di dialogo Viste nella connessione, selezionare Query personalizzata > Nuova query personalizzata.

  1. Nella finestra di dialogo Query personalizzata, specificare il Nome query.
  2. Nel campo Query, digitare la query di database.
  3. Una volta completata la query, fare clic su Verifica per testare la query e recuperare le Colonne risultati. Se nella query ci sono errori, vengono visualizzate le informazioni relative all'errore. Correggere gli errori ed eseguire nuovamente la Verifica per assicurarsi che i problemi siano stati risolti.
  4. Accedere a Colonne risultato e verificare che nell'elenco siano incluse tutte le colonne desiderate con il tipo di dati corretto.
    Suggerimento: Modifica delle colonne risultato

    Solo le colonne contenute nell'elenco delle Colonne risultato vengono incluse nella tabella dati finale, anche se la query seleziona più colonne. È possibile escludere colonne indesiderate dalla query con il pulsante Elimina, senza dover modificare la query. È possibile anche modificare l'ordine delle colonne utilizzando i pulsanti Sposta in alto e Sposta in basso.

    Il nome e il tipo di dati delle colonne devono corrispondere al nome e al tipo di dati dell'origine dati esterna. Per cambiare il nome di una colonna nella tabella della query personalizzata risultante, effettuare l'operazione nella finestra di dialogo Viste nella connessione, dopo aver completato la creazione della query personalizzata.

  5. Per completare la query personalizzata e aggiungerla alla connessione dati, fare clic su OK.

Risultati

La tabella personalizzata creata in base alla query personalizzata viene aggiunta all'elenco Viste nella connessione nella finestra di dialogo Viste nella connessione. È possibile lavorare con la tabella personalizzata come con le altre tabelle. Ad esempio è possibile combinarla con altre tabelle con relazioni strutturali, nonché importare o conservare i dati come dati interni al database esterni.

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.

Quando si utilizza una query personalizzata per accedere a dati contenuti in un'origine dati esterna, la query personalizzata viene inclusa come sottoquery in una clausola 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
Se si importa la vista risultante da questa query personalizzata come tabella dati in Spotfire, Spotfire invia all'origine dati esterna la query seguente. Si noti come la query personalizzata originale sia inclusa come sottoquery nella clausola 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]
Suggerimento: Per analizzare le query che Spotfire invia a origini dati esterne, è possibile abilitare il logging ed esaminare il log delle query del connettore.

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 clausole FROM 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.