Datenabfragen

Auf dieser Seite wird beschrieben, wie Sie eine Abfrage an eine Datenquelle senden, die das Chart Tools-Datenquellenprotokoll unterstützt.

Inhalt

Übersicht

Eine Datenquelle ist ein Webdienst, der das Datenquellen-Tool von Chart Tools unterstützt. Sie können eine SQL-Abfrage an eine Datenquelle senden. Als Antwort erhalten Sie eine DataTable mit den entsprechenden Informationen. Beispiele für Datenquellen sind Google Tabellen und Salesforce.

Anfrage senden

So senden Sie eine Anfrage:

  1. Instanziieren Sie ein Query-Objekt mit der URL Ihrer Datenquelle. Die URL sollte in einer Syntax angeben, die von der Datenquelle angefordert wird.
  2. Optional können Sie Anfrageoptionen wie die Sendemethode als optionalen zweiten Parameter im Objektkonstruktor Query angeben. Weitere Informationen finden Sie im Parameter opt_options des Abfragekonstruktors:
  3. Fügen Sie optional einen Abfragesprachstring hinzu, um die Ergebnisse zu sortieren oder zu filtern, und senden Sie dann die Anfrage. Datenquellen sind nicht erforderlich, um die Abfragesprache von Chart Tools-Datenquellen zu unterstützen. Wenn die Datenquelle die Abfragesprache nicht unterstützt, wird der SQL-Abfragestring ignoriert, aber trotzdem ein DataTable zurückgegeben. Die Abfragesprache ist eine SQL-Sprachvariante. Die vollständige Syntax der Abfragesprache finden Sie hier.
  4. Senden Sie die Abfrage und geben Sie einen Callback-Handler an, der beim Empfang der Antwort aufgerufen wird. Weitere Informationen finden Sie im nächsten Abschnitt.

Hier siehst du ein Beispiel für das Senden einer Anfrage für Daten in einem Zellenbereich von Google Tabellen. Wie du die URL für eine Google-Tabelle erhältst, erfährst du 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 Abfrage aus Apps Script senden, verwenden Sie den IFRAME-Modus.

Antwort verarbeiten

Ihre 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 keine DataTable.

Ihr Antwort-Handler sollte Folgendes tun:

  1. Prüfen Sie, ob die Anfrage erfolgreich war oder fehlgeschlagen ist. Rufen Sie dazu response.isError() auf. Sie sollten dem Nutzer keine Fehlermeldungen bereitstellen. Die Visualisierungsbibliothek zeigt in Ihrem Container <div> eine Fehlermeldung an. Wenn Sie jedoch Fehler manuell beheben möchten, können Sie die Klasse goog.visualization.errors verwenden, um benutzerdefinierte Nachrichten anzuzeigen. Ein Beispiel für eine benutzerdefinierte Fehlerbehandlung finden Sie im Beispiel für den Abfrage-Wrapper.
  2. Wenn die Anfrage erfolgreich war, enthält die Antwort eine DataTable, die Sie durch Aufrufen von getDataTable() 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 Tabellenformat von Google Charts oder platzieren Sie die CSV-Datei auf dem Webserver, der das Diagramm bereitstellt, und fragen Sie sie mit dem Verfahren auf dieser Seite ab.

Weitere Informationen