Veri Sorguları

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

Genel bakış

Veri Kaynağı, Grafik Araçları Veri Kaynağı protokolünü destekleyen bir web hizmetidir. Veri kaynağına bir SQL sorgusu gönderebilirsiniz. Yanıt olarak, uygun bilgilerle doldurulan bir DataTable 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 ve 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 çağrılacak bir geri çağırma işleyici belirterek sorguyu gönderin: ayrıntılar için sonraki bölüme bakın.

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

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ıtta bir veri tablosu (google.visualization.DataTable sınıfı) bulunur. İstek başarısız olduysa yanıt, hatayla ilgili bilgileri içerir ve DataTable bilgilerini içermez.

Yanıt operatörünüz 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 hata mesajı vermeniz gerekmez. 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ı olursa yanıt, getDataTable() numarasını arayarak alabileceğiniz bir DataTable içeriyor. 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:

  • Verileri Google Listeler veri tablosu biçimine dönüştürme
  • CSV dosyasını, grafiği sunan web sunucusuna yerleştirin ve bu sayfadaki tekniği kullanarak sorgulayın.

Daha fazla bilgi