Questa pagina descrive come inviare una query a un'origine dati che supporta il protocollo origine dati di Chart Tools.
Panoramica
Un'origine dati è un servizio web che supporta il protocollo Origine dati degli strumenti del grafico. Puoi inviare una query SQL a un'origine dati e in risposta riceverai una tabella di dati compilata con le informazioni appropriate. Alcuni esempi di origini dati includono Fogli di lavoro Google e SalesForce.
Inviare una richiesta
Per inviare una richiesta:
- Crea un'istanza per un oggetto Query con l'URL dell'origine dati. L'URL deve indicare i dati richiesti, con una sintassi comprensibile dall'origine dati.
 - Facoltativamente, puoi specificare le opzioni di richiesta, ad esempio il metodo di invio come secondo parametro facoltativo nel costruttore dell'oggetto 
Query(per i dettagli, consulta il parametroopt_optionsdel costruttore di query): - Facoltativamente, aggiungi una stringa in lingua di query per ordinare o filtrare i risultati e quindi inviare la richiesta.
    Le origini dati non sono necessarie per supportare il linguaggio di query dell'origine dati di Strumenti del grafico. Se l'origine dati non supporta il linguaggio di query, ignorerà la stringa di query SQL, ma restituirà comunque un 
DataTable. Il linguaggio di query è una variante del linguaggio SQL; leggi la sintassi completa del linguaggio di query qui. - Invia la query, specificando un gestore di callback che verrà chiamato alla ricezione della risposta: vedi la sezione successiva per i dettagli.
 
Ecco un esempio di invio di una richiesta per i dati in un intervallo di celle di un foglio di lavoro Google; per scoprire come ottenere l'URL di un foglio di lavoro Google, vedi qui:
function initialize() {
  var opts = {sendMethod: 'auto'};
  // Replace the data source URL on next line with your data source URL.
  var query = new google.visualization.Query('http://spreadsheets.google.com?key=123AB&...', opts);
  // Optional request to return only column C and the sum of column B, grouped by C members.
  query.setQuery('select C, sum(B) group by C');
  // Send the query with a callback function.
  query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
  // Called when the query response is returned.
  ...
}
Elaborazione della risposta
La funzione di gestore delle risposte verrà chiamata al ritorno della richiesta.
Il parametro passato alla funzione di gestore delle risposte è di tipo google.visualization.QueryResponse.
Se la richiesta ha avuto esito positivo, la risposta conterrà una tabella di dati (classe google.visualization.DataTable).
Se la richiesta non è andata a buon fine, la risposta conterrà informazioni sull'errore,
ma nessun elemento DataTable.
Il gestore delle risposte deve:
- Controlla se la richiesta è riuscita o meno chiamando 
response.isError(). Non dovrebbe essere necessario mostrare all'utente messaggi di errore; la libreria di visualizzazioni visualizzerà un messaggio di errore nel tuo contenitore<div>. Tuttavia, se vuoi gestire manualmente gli errori, puoi utilizzare la classegoog.visualization.errorsper visualizzare messaggi personalizzati (vedi Esempio di wrapper query per un esempio di gestione personalizzata degli errori). - Se la richiesta ha esito positivo, la risposta includerà un elemento 
DataTableche potrai recuperare chiamandogetDataTable(). Passalo al grafico. 
Il codice seguente mostra la gestione della richiesta precedente di disegnare un grafico a torta:
function handleQueryResponse(response) {
  if (response.isError()) {
    alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
    return;
  }
  var data = response.getDataTable();
  var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
  chart.draw(data, {width: 400, height: 240, is3D: true});
}
Leggere i file CSV
Per creare un grafico a partire da dati CSV (valori separati da virgole), hai due opzioni:
- Converti i dati nel formato di tabella dati di Google Graph
 - Posiziona il file CSV sul server web in cui viene pubblicato il grafico ed esegui una query utilizzando la tecnica in questa pagina.
 
Ulteriori informazioni
- Sintassi del linguaggio di query: descrive la sintassi del linguaggio utilizzato per eseguire le query sui dati.
 - Classe query: pagina di riferimento per la classe che aggrega una query.
 - Classe QueryResponse: la pagina di riferimento per la classe che aggrega la risposta a una query.