Veri Sorguları

Bu sayfada, Chart Tools Datasource protokolünü destekleyen bir veri kaynağına nasıl sorgu gönderileceği açıklanmaktadır.

İçindekiler

Genel bakış

Veri Kaynağı, Grafik Araçları Veri Kaynağı protokolünü destekleyen bir web hizmetidir. Bir Veri Kaynağına SQL sorgusu gönderebilirsiniz. Yanıt olarak, uygun bilgilerle doldurulan bir Veri Tablosu alırsınız. Veri kaynaklarına örnek olarak Google E-Tablolar ve SalesForce verilebilir.

İstek gönderme

İstek göndermek için:

  1. Veri Kaynağınızın URL'siyle bir Query nesnesini örneklendirin. URL'de istenen veri, bu veri kaynağı tarafından anlaşılan bir söz diziminde belirtilmelidir.
  2. İsteğe bağlı olarak, Query nesne oluşturucuda isteğe bağlı bir ikinci parametre olarak yöntem gönderme gibi istek seçeneklerini belirtin (ayrıntılar için Sorgu oluşturucunun opt_options parametresine bakın):
  3. İsteğe bağlı olarak sonuçları sıralamak veya filtrelemek için bir sorgu dili dizesi ekleyin, ardından isteği gönderin. Veri kaynaklarının, Grafik Araçları Veri Kaynağı sorgu dilini desteklemesi gerekmez. Datasource sorgu dilini desteklemiyorsa SQL sorgu dizesini yok sayar ancak yine de DataTable döndürür. Sorgu dili, SQL dilinin bir varyantıdır. Sorgu dili söz diziminin tamamını buradan okuyabilirsiniz.
  4. Yanıt alındığında bir geri arama işleyicisi belirterek sorguyu gönderin: ayrıntılar için sonraki bölüme bakın.

Aşağıda, Google E-Tablosu hücre aralığında veri isteği göndermeyle ilgili bir örnek verilmiştir. Google E-Tablosu URL'sini nasıl alacağınızı öğrenmek için buraya göz atın:

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.
  ...
}

Sorgunuzu Apps Komut Dosyası içinden gönderiyorsanız IFRAME modunu kullandığınızdan emin olun.

Yanıtı işleme

İstek döndüğünde yanıt işleyici işleviniz aranır. Yanıt işleyici işlevinize aktarılan parametre google.visualization.QueryResponse türündedir. İstek başarılı olduysa yanıt bir veri tablosu (google.visualization.DataTable sınıfı) içerir. İstek başarısız olduysa yanıt, hata hakkında bilgi içerir ve DataTable içermez.

Yanıt işleyiciniz aşağıdakileri yapmalıdır:

  1. response.isError() numaralı telefonu arayarak isteğin başarılı olup olmadığını kontrol edin. Kullanıcıya herhangi bir hata mesajı göstermenize gerek yoktur. Görselleştirme kitaplığında <div> kapsayıcınızda sizin için bir hata mesajı görüntülenir. Ancak hataları manuel olarak işlemek istiyorsanız özel mesajları görüntülemek için goog.visualization.errors sınıfını kullanabilirsiniz (özel hata işleme örneği için Sorgu Sarmalayıcı Örneği'ne bakın).
  2. İstek başarılı olduysa yanıt, getDataTable() numarasını arayarak alabileceğiniz bir DataTable içerir. Grafiğinize ekleyin.

Aşağıdaki kod, pasta grafik çizmeyle ilgili önceki isteği yerine getirmeyi göstermektedir:

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 dosyalarını okuma

CSV (virgülle ayrılmış değerler) verilerinden bir grafik oluşturmak istiyorsanız iki seçeneğiniz vardır. CSV verilerini manuel olarak Google Listeler veri tablosu biçimine dönüştürün veya CSV dosyasını grafiği sunan web sunucusuna yerleştirip bu sayfadaki tekniği kullanarak sorgulayın.

Daha fazla bilgi