Auf dieser Seite wird beschrieben, wie Sie eine Abfrage an eine Datenquelle senden, die das Datenquellenprotokoll von Chart Tools unterstützt.
Inhalt
Überblick
Eine Datenquelle ist ein Webdienst, der das Datenquellenprotokoll von Chart Tools unterstützt. Wenn Sie eine SQL-Abfrage an eine Datenquelle senden, erhalten Sie eine DataTable mit den entsprechenden Informationen. Einige Beispiele für Datenquellen sind Google Tabellen und SalesForce.
Anfrage senden
So senden Sie eine Anfrage:
- Instanziieren Sie ein Query-Objekt mit der URL Ihrer Datenquelle. Die URL sollte in einer Syntax angeben, die von dieser Datenquelle verstanden wird, welche Daten angefordert werden.
-
Optional können Sie Anfrageoptionen wie das Senden einer Methode als optionalen zweiten Parameter im
Query
-Objektkonstruktor angeben. Weitere Informationen finden Sie imopt_options
-Parameter des Abfragekonstruktors: -
Fügen Sie optional einen Abfragesprachenstring hinzu, um die Ergebnisse zu sortieren oder zu filtern, und senden Sie dann die Anfrage. Datenquellen sind nicht erforderlich, um die Abfragesprache für Chart Tools-Datenquellen zu unterstützen. Wenn die Datenquelle die Abfragesprache nicht unterstützt, wird der SQL-Abfragestring ignoriert, aber dennoch ein
DataTable
zurückgegeben. Die Abfragesprache ist eine Variante der SQL-Sprache. Die vollständige Syntax der Abfragesprache finden Sie hier. - Senden Sie die Abfrage und geben Sie dabei einen Callback-Handler an, der beim Empfang der Antwort aufgerufen wird. Einzelheiten finden Sie im nächsten Abschnitt.
Hier ist ein Beispiel für das Senden einer Anfrage nach Daten in einem Zellenbereich einer Google-Tabelle. Wie Sie die URL für eine Google-Tabelle abrufen, erfahren Sie hier:
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. ... }
Wenn Sie Ihre Anfrage über Apps Script senden, verwenden Sie den IFRAME
-Modus.
Antwort verarbeiten
Die Antwort-Handler-Funktion wird aufgerufen, wenn die Anfrage zurückgegeben wird. Der Parameter, der an die Antwort-Handler-Funktion übergeben wird, hat den Typ google.visualization.QueryResponse.
Wenn die Anfrage erfolgreich war, enthält die Antwort eine Datentabelle (Klasse google.visualization.DataTable
). Wenn die Anfrage fehlgeschlagen ist, enthält die Antwort Informationen zum Fehler und kein DataTable
.
Der Antwort-Handler sollte Folgendes tun:
-
Prüfen Sie, ob die Anfrage erfolgreich war oder fehlgeschlagen ist. Rufen Sie dazu
response.isError()
auf. Sie müssen dem Nutzer keine Fehlermeldungen anzeigen. Die Visualisierungsbibliothek zeigt eine Fehlermeldung in Ihrem Container<div>
an. Wenn Sie Fehler jedoch manuell verarbeiten möchten, können Sie die Klassegoog.visualization.errors
verwenden, um benutzerdefinierte Nachrichten anzuzeigen. Ein Beispiel für eine benutzerdefinierte Fehlerbehandlung finden Sie im Beispiel für Abfrage-Wrapper. -
Wenn die Anfrage erfolgreich war, enthält die Antwort ein
DataTable
-Objekt, das Sie durch Aufrufen vongetDataTable()
abrufen können. Übergeben Sie sie an Ihr Diagramm.
Der folgende Code zeigt, wie die vorherige Anfrage zum Zeichnen eines Kreisdiagramms verarbeitet wird:
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}); }
CSV-Dateien lesen
Wenn Sie ein Diagramm aus CSV-Daten (kommagetrennte Werte) erstellen möchten, haben Sie zwei Möglichkeiten. Konvertieren Sie die CSV-Daten entweder manuell in das Google Charts-Datentabellenformat oder speichern Sie die CSV-Datei auf dem Webserver, auf dem das Diagramm bereitgestellt wird, und fragen Sie sie mit der Technik auf dieser Seite ab.
Weitere Informationen
- Syntax der Abfragesprache: Beschreibt die Syntax der Sprache, die für Datenabfragen verwendet wird.
- Abfrageklasse: Referenzseite für die Klasse, die eine Abfrage umschließt.
- Klasse "QueryResponse" – Referenzseite für die Klasse, die die Antwort auf eine Abfrage umschließt.