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:
- 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.
-
İ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şturucununopt_options
parametresine bakın): -
İ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. - 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:
-
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çingoog.visualization.errors
sınıfını kullanabilirsiniz (özel hata işleme örneği için Sorgu Sarmalayıcı Örneği'ne bakın). -
İstek başarılı olduysa yanıtta,
getDataTable()
yöntemini çağırarak alabileceğiniz birDataTable
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
- Sorgu Dili Söz Dizimi: Veri sorguları yapmak için kullanılan dilin söz dizimini açıklar.
- Sorgu Sınıfı - Sorguyu sarmalayan sınıfın referans sayfası.
- QueryResponse Sınıfı - Bir sorguya verilen yanıtı sarmalayan sınıfın referans sayfası.