इस पेज पर, ऐसे डेटा सोर्स में क्वेरी भेजने का तरीका बताया गया है जो चार्ट टूल के डेटा सोर्स प्रोटोकॉल के साथ काम करता है.
विषय सूची
खास जानकारी
Datasource एक ऐसी वेब सेवा है जो चार्ट टूल डेटा सोर्स प्रोटोकॉल के साथ काम करती है. किसी डेटा सोर्स में SQL क्वेरी भेजी जा सकती है. इसके जवाब में, आपको सही जानकारी से भरी एक DataTable मिलेगी. डेटा सोर्स के कुछ उदाहरणों में Google स्प्रेडशीट और SalesForce शामिल हैं.
अनुरोध भेजना
अनुरोध भेजने के लिए:
- अपने डेटा सोर्स के यूआरएल से किसी क्वेरी ऑब्जेक्ट को इंस्टैंशिएट करें. यूआरएल से यह पता चलना चाहिए कि किस डेटा के लिए अनुरोध किया जा रहा है. यह जानकारी उस सिंटैक्स में दी जानी चाहिए जिसे डेटा सोर्स समझ सके.
-
इसके अलावा, आप
Query
ऑब्जेक्ट कंस्ट्रक्टर में, दूसरे पैरामीटर के तौर पर भेजने के तरीके जैसे अनुरोध के विकल्प भी तय कर सकते हैं. ज़्यादा जानकारी के लिए, क्वेरी कंस्ट्रक्टर काopt_options
पैरामीटर देखें: -
आप चाहें, तो नतीजों को क्रम से लगाने या फ़िल्टर करने के लिए,
क्वेरी की भाषा की स्ट्रिंग जोड़ें. इसके बाद, अनुरोध भेजें. चार्ट टूल के डेटा सोर्स की क्वेरी वाली भाषा के साथ काम करने के लिए,
डेटा सोर्स की ज़रूरत नहीं होती. अगर डेटा सोर्स क्वेरी की भाषा के साथ काम नहीं करता, तो यह एसक्यूएल क्वेरी स्ट्रिंग को अनदेखा करेगा, लेकिन
DataTable
दिखाएगा. क्वेरी की भाषा, SQL लैंग्वेज वैरिएंट है. पूरा क्वेरी लैंग्वेज सिंटैक्स यहां पढ़ें. - क्वेरी भेजें. इसके लिए एक कॉलबैक हैंडलर की सुविधा भी दें, जिसे रिस्पॉन्स मिलने पर कॉल किया जाएगा: ज़्यादा जानकारी के लिए, अगला सेक्शन देखें.
यहां Google स्प्रेडशीट की सेल रेंज में डेटा के लिए अनुरोध भेजने का एक उदाहरण दिया गया है. Google स्प्रेडशीट के लिए यूआरएल पाने का तरीका जानने के लिए, यहां देखें:
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. ... }
अगर आप Apps Script में अपनी क्वेरी भेज रहे हैं, तो IFRAME
मोड का इस्तेमाल करना न भूलें.
जवाब को प्रोसेस किया जा रहा है
अनुरोध के वापस आने पर, आपका रिस्पॉन्स हैंडलर फ़ंक्शन कॉल किया जाएगा. आपके रिस्पॉन्स हैंडलर फ़ंक्शन में पास किया गया पैरामीटर, google.visualization.QueryResponse टाइप का होता है.
अनुरोध पूरा होने पर, रिस्पॉन्स में डेटा टेबल
(क्लास google.visualization.DataTable
) शामिल होती है. अगर अनुरोध पूरा नहीं होता है, तो जवाब में गड़बड़ी के बारे में
जानकारी होती है, DataTable
नहीं.
आपके रिस्पॉन्स हैंडलर को ये काम करने चाहिए:
-
response.isError()
पर कॉल करके देखें कि अनुरोध पूरा हुआ या नहीं. आपको उपयोगकर्ता को गड़बड़ी का कोई मैसेज दिखाने की ज़रूरत नहीं होनी चाहिए; विज़ुअलाइज़ेशन लाइब्रेरी आपके कंटेनर<div>
में गड़बड़ी का मैसेज दिखाएगी. हालांकि, अगर आपको गड़बड़ियों को मैन्युअल तरीके से मैनेज करना है, तो कस्टम मैसेज दिखाने के लिए,goog.visualization.errors
क्लास का इस्तेमाल करें. कस्टम मैसेज मैनेज करने के उदाहरण के लिए, क्वेरी रैपर का उदाहरण देखें. -
अगर अनुरोध स्वीकार हो जाता है, तो जवाब में
DataTable
शामिल होगा, जिसेgetDataTable()
पर कॉल करके वापस पाया जा सकता है. इसे अपने चार्ट में जोड़ें.
नीचे दिया गया कोड, पाई चार्ट बनाने के पिछले अनुरोध को मैनेज करने की जानकारी देता है:
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 फ़ाइलें पढ़ना
अगर आपको CSV (कॉमा लगाकर अलग की गई वैल्यू) डेटा से चार्ट बनाना है, तो आपके पास दो विकल्प हैं. CSV डेटा को मैन्युअल तरीके से Google चार्ट के डेटाटेबल फ़ॉर्मैट में बदलें या CSV फ़ाइल को चार्ट दिखाने वाले वेब सर्वर पर रखें और इस पेज पर दी गई तकनीक का इस्तेमाल करके, उससे क्वेरी करें.
ज़्यादा जानकारी
- क्वेरी लैंग्वेज सिंटैक्स - डेटा क्वेरी बनाने के लिए इस्तेमाल की गई भाषा के सिंटैक्स की जानकारी देता है.
- क्वेरी क्लास - क्वेरी को रैप करने वाली क्लास का रेफ़रंस पेज.
- QueryResponse Class - उस क्लास का रेफ़रंस पेज जिसमें क्वेरी के जवाब को रैप किया जाता है.