Veri Sorguları

Bu sayfada, Grafik Araçları Veri Kaynağı protokolünü destekleyen bir veri kaynağına nasıl sorgu gönderileceği açıklanmaktadır.

İçindekiler

Genel bakış

Veri kaynağı, Chart Tools Veri Kaynağı protokolünü destekleyen bir web hizmetidir. Veri kaynağına SQL sorgusu gönderebilirsiniz. Yanıt olarak, uygun bilgilerle doldurulmuş bir DataTable mesajı 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'si ile bir Sorgu nesnesi örneklendirin. URL, hangi verilerin istendiğini, söz konusu veri kaynağı tarafından anlaşılan bir söz dizimiyle belirtmelidir.
  2. İsteğe bağlı olarak, Query nesne oluşturucusunda isteğe bağlı ikinci parametre olarak gönderme yöntemi 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 sorgu dili dizesi ekleyip isteği gönderin. Veri kaynaklarının, Grafik Araçları Veri Kaynağı sorgu dilini desteklemesi gerekmez. Veri Kaynağı, sorgu dilini desteklemiyorsa SQL sorgu dizesini yoksayar ancak yine de DataTable döndürür. Sorgu dili bir SQL dili varyantıdır. Sorgu dili söz diziminin tamamını buradan okuyabilirsiniz.
  4. Yanıt alındığında çağrılacak bir geri arama işleyici belirterek sorguyu gönderin: Ayrıntılar için sonraki bölüme bakın.

Bir Google E-Tablosu hücre aralığındaki veriler için istek gönderme örneğini burada bulabilirsiniz. Bir Google E-tablosunun 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ı'nın içinden gönderiyorsanız IFRAME modunu kullandığınızdan emin olun.

Yanıtı işleme

İstek geri döndüğünde yanıt işleyici işleviniz çağrılır. Yanıt işleyici işlevinize iletilen 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 olursa yanıt, hatayla ilgili 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ı mı yoksa başarısız mı olduğunu kontrol edin. Kullanıcıya herhangi bir hata mesajı göstermenize gerek yoktur. Görselleştirme kitaplığı, <div> kapsayıcınızda sizin adınıza bir hata mesajı gösterir. Bununla birlikte, 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ıtta, getDataTable() yöntemini çağırarak alabileceğiniz bir DataTable bulunur. Grafiğinize iletin.

Aşağıdaki kod, önceki pasta grafik çizme isteğinin nasıl ele alınacağını gösterir:

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 Grafikleri 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