1. बिग डेटा के विश्लेषण से लेकर स्लाइड प्रज़ेंटेशन तक
डेटा वैज्ञानिकों के पास, बिग डेटा का विश्लेषण करने के लिए कई टूल होते हैं. हालांकि, आखिर में विश्लेषकों को मैनेजमेंट के सामने नतीजों को सही ठहराना होता है. कागज़ पर या डेटाबेस में मौजूद कई नंबरों को मुख्य हितधारकों के सामने पेश करना मुश्किल होता है. यह इंटरमीडिएट Google Apps Script कोडलैब, Google Workspace और Google Cloud Console नाम के दो Google डेवलपर प्लैटफ़ॉर्म का इस्तेमाल करता है. इससे आपको उस आखिरी हिस्से को अपने-आप पूरा करने में मदद मिलती है.
Google Cloud के डेवलपर टूल की मदद से, डेटा का बारीकी से विश्लेषण किया जा सकता है. इसके बाद, नतीजों को स्प्रेडशीट में डाला जा सकता है. साथ ही, डेटा की मदद से स्लाइड प्रज़ेंटेशन जनरेट किया जा सकता है. इससे मैनेजमेंट को डेटा देने का बेहतर तरीका मिलता है. इस कोडलैब में, Cloud Console के BigQuery API (Apps Script की ऐडवांस सेवा के तौर पर) और Google Sheets और Google Slides के लिए, Apps Script की बिल्ट-इन सेवाओं के बारे में बताया गया है.
वजह
इस कोडलैब में मौजूद सैंपल ऐप्लिकेशन, इन अन्य कोड सैंपल से लिया गया है:
- Google Apps Script BigQuery सेवा का सैंपल ऐप्लिकेशन, जो GitHub पर ओपन-सोर्स किया गया है.
- यह सैंपल ऐप्लिकेशन, डेवलपर वीडियो स्प्रेडशीट के डेटा से स्लाइड जनरेट करना में दिखाया गया है. साथ ही, इसे इस ब्लॉग पोस्ट में पब्लिश किया गया है.
- यह Google Slides API कोडलैब में दिखाया गया सैंपल ऐप्लिकेशन है.
Slides API के कोडलैब के सैंपल ऐप्लिकेशन में BigQuery और Slides की सुविधाएं भी शामिल हैं. हालांकि, यह इस कोडलैब के सैंपल ऐप्लिकेशन से कई तरह से अलग है:
- उनका Node.js ऐप्लिकेशन बनाम हमारा Apps Script ऐप्लिकेशन.
- वे REST API का इस्तेमाल करते हैं, जबकि हम Apps Script सेवाओं का इस्तेमाल करते हैं.
- ये Google Drive का इस्तेमाल करते हैं, लेकिन Google Sheets का नहीं. वहीं, यह ऐप्लिकेशन Sheets का इस्तेमाल करता है, लेकिन Drive का नहीं.
इस कोडलैब के लिए, हम कई टेक्नोलॉजी को एक ही ऐप्लिकेशन में शामिल करना चाहते थे. साथ ही, Google Cloud की सुविधाओं और एपीआई को इस तरह से दिखाना चाहते थे कि वे असल ज़िंदगी में इस्तेमाल होने वाले उदाहरणों से मिलते-जुलते हों. हमारा मकसद आपको अपनी कल्पना का इस्तेमाल करने के लिए प्रेरित करना है. साथ ही, अपने संगठन और ग्राहकों की मुश्किल समस्याओं को हल करने के लिए, Cloud Console और Google Workspace, दोनों का इस्तेमाल करने के बारे में सोचना है.
आपको क्या सीखने को मिलेगा
- Google की कई सेवाओं के साथ Google Apps Script का इस्तेमाल करने का तरीका
- बड़े डेटा का विश्लेषण करने के लिए, Google BigQuery का इस्तेमाल कैसे करें
- Google शीट बनाने और उसमें डेटा डालने का तरीका
- Sheets में चार्ट बनाने का तरीका
- Sheets से Google Slides प्रज़ेंटेशन में डेटा और चार्ट ट्रांसफ़र करने का तरीका
आपको किन चीज़ों की ज़रूरत होगी
- इंटरनेट ऐक्सेस करने की सुविधा वाला वेब ब्राउज़र
- Google खाता (Google Workspace खातों के लिए, एडमिन की अनुमति ज़रूरी हो सकती है)
- Google Sheets के बारे में बुनियादी जानकारी
- Sheets के A1 नोटेशन को पढ़ने की सुविधा
- JavaScript की बुनियादी जानकारी
- Apps Script डेवलपमेंट की जानकारी होना फ़ायदेमंद है, लेकिन ज़रूरी नहीं है
2. सर्वे
इस कोडलैब/ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?
Google Workspace के डेवलपर टूल और एपीआई इस्तेमाल करने के अपने अनुभव को आप क्या रेटिंग देंगे?
खास तौर पर, Apps Script के साथ अपने अनुभव को आप क्या रेटिंग देंगे?
Cloud Console के डेवलपर टूल और एपीआई के साथ अपने अनुभव को आप क्या रेटिंग देंगे?
3. खास जानकारी
अब आपको पता चल गया है कि यह कोडलैब किस बारे में है. यहां बताया गया है कि आपको क्या करना है:
- Apps Script और BigQuery के किसी मौजूदा सैंपल का इस्तेमाल करें और उसे चालू करें.
- इस सैंपल से, BigQuery को क्वेरी भेजने और नतीजे पाने का तरीका जानें.
- एक Google शीट बनाएं और उसमें BigQuery से मिले नतीजे डालें.
- कोड में बदलाव करके, शीट में दिखाए गए और डाले गए डेटा में थोड़ा बदलाव करें.
- Apps Script में Sheets सेवा का इस्तेमाल करके, BigQuery डेटा के लिए चार्ट बनाएं.
- Google Slides प्रज़ेंटेशन बनाने के लिए, Slides सेवा का इस्तेमाल करें.
- डिफ़ॉल्ट टाइटल स्लाइड में टाइटल और सबटाइटल जोड़ें.
- डेटा टेबल वाली स्लाइड बनाएं और शीट की डेटा सेल को उसमें एक्सपोर्ट करें.
- दूसरी स्लाइड बनाएं और उसमें स्प्रेडशीट चार्ट डालें.
चलिए, Apps Script, BigQuery, Sheets, और Slides के बारे में कुछ बुनियादी जानकारी से शुरुआत करते हैं.
Google Apps Script और BigQuery
Google Apps Script, Google Workspace का डेवलपमेंट प्लैटफ़ॉर्म है. यह Google REST API से ज़्यादा बेहतर तरीके से काम करता है. यह सर्वरलेस डेवलपमेंट और ऐप्लिकेशन होस्टिंग एनवायरमेंट है. इसे डेवलपर के सभी स्किल लेवल के लोग ऐक्सेस कर सकते हैं. Apps Script, Google Workspace के ऑटोमेशन, एक्सटेंशन, और इंटिग्रेशन के लिए सर्वरलेस JavaScript रनटाइम है.
यह Node.js की तरह ही सर्वर-साइड JavaScript का इस्तेमाल करता है. हालांकि, यह तेज़ी से और एसिंक्रोनस इवेंट-ड्रिवन ऐप्लिकेशन होस्टिंग के बजाय, Google Workspace और Google की अन्य सेवाओं के साथ बेहतर इंटिग्रेशन पर फ़ोकस करता है. इसमें एक डेवलपमेंट एनवायरमेंट भी होता है, जो आपके इस्तेमाल किए गए एनवायरमेंट से अलग हो सकता है. Apps Script की मदद से, ये काम किए जा सकते हैं:
- ब्राउज़र पर आधारित कोड एडिटर का इस्तेमाल करके स्क्रिप्ट डेवलप की जा सकती हैं. हालांकि,
claspका इस्तेमाल करके, स्क्रिप्ट को स्थानीय तौर पर भी डेवलप किया जा सकता है. यह Apps Script के लिए, कमांड-लाइन डिप्लॉयमेंट टूल है. - Google Workspace और Google या बाहरी सेवाओं को ऐक्सेस करने के लिए, JavaScript के खास वर्शन में कोड लिखें. इसके लिए, Apps Script की
URL FetchयाJDBCसेवाओं का इस्तेमाल करें. - आपको अनुमति कोड लिखने की ज़रूरत नहीं पड़ती, क्योंकि Apps Script इसे मैनेज करता है.
- आपको अपना ऐप्लिकेशन होस्ट करने की ज़रूरत नहीं है. यह Google के क्लाउड सर्वर पर मौजूद होता है और वहीं से चलता है.
Apps Script, Google की अन्य टेक्नोलॉजी के साथ दो अलग-अलग तरीकों से इंटरैक्ट करती है:
- पहले से मौजूद सेवा के तौर पर
- ऐडवांस सेवा के तौर पर
बिल्ट-इन सेवा में, उपयोगकर्ता के डेटा, Google के अन्य सिस्टम, और बाहरी सिस्टम के साथ इंटरैक्ट करने के लिए, बेहतर तरीके उपलब्ध होते हैं. ऐडवांस सेवा, Google Workspace API या Google REST API के चारों ओर एक पतला रैपर होता है. ऐडवांस सेवाओं में, REST API की सभी सुविधाएं मिलती हैं. साथ ही, ये अक्सर बिल्ट-इन सेवाओं से ज़्यादा काम कर सकती हैं. हालांकि, इनके लिए ज़्यादा जटिल कोड की ज़रूरत होती है. इसके बावजूद, इनका इस्तेमाल पूरे REST API की तुलना में ज़्यादा आसान होता है. ऐडवांस सेवाओं का इस्तेमाल करने से पहले, उन्हें स्क्रिप्ट प्रोजेक्ट के लिए चालू करना ज़रूरी है.
जब भी मुमकिन हो, डेवलपर को पहले से मौजूद सेवा का इस्तेमाल करना चाहिए. ऐसा इसलिए, क्योंकि इनका इस्तेमाल करना आसान होता है और ये बेहतर सेवाओं से ज़्यादा काम करती हैं. हालांकि, कुछ Google API में पहले से मौजूद सेवाएं नहीं होती हैं. इसलिए, बेहतर सेवा ही एकमात्र विकल्प हो सकता है. उदाहरण के लिए, Google BigQuery में कोई इन-बिल्ट सेवा नहीं है, लेकिन BigQuery सेवा मौजूद है. BigQuery सेवा, Cloud Console की एक सेवा है. इसकी मदद से, Google BigQuery API का इस्तेमाल करके बड़े डेटा कॉर्पस (उदाहरण के लिए, कई टेराबाइट) पर क्वेरी की जा सकती हैं. हालांकि, यह अब भी कुछ ही सेकंड में नतीजे दे सकती है.
Apps Script से Sheets और Slides ऐक्सेस करना
BigQuery के उलट, Sheets और Slides, दोनों में पहले से मौजूद सेवाएं होती हैं. इनके पास ऐसी बेहतर सेवाएं भी होती हैं जिनकी मदद से, सिर्फ़ एपीआई में मौजूद सुविधाओं को ऐक्सेस किया जा सकता है. कोड में जाने से पहले, Sheets और Slides सेवाओं के दस्तावेज़ देखें. ध्यान दें कि Sheets और Slides, दोनों की ऐडवांस सेवाओं के लिए भी दस्तावेज़ उपलब्ध हैं.
4. टास्क 1: BigQuery को चलाएं और नतीजों को Sheets में लॉग करें
परिचय
हम इस कोडलैब का ज़्यादातर हिस्सा, इस पहले टास्क के साथ पूरा करेंगे. दरअसल, इसे पूरा करने के बाद, आपका आधा कोडलैब पूरा हो जाएगा. इसे कई उप-अनुभागों में बांटा गया है. इसमें आपको:
- Google Apps Script और Cloud Console, दोनों में प्रोजेक्ट बनाएं.
- BigQuery की ऐडवांस सेवा का ऐक्सेस चालू करें.
- स्क्रिप्ट एडिटर खोलें और ऐप्लिकेशन का सोर्स कोड डालें.
- ऐप्लिकेशन को अनुमति देने की प्रोसेस (OAuth2) पर जाएं.
- BigQuery को अनुरोध भेजने वाले ऐप्लिकेशन को चलाएं.
- BigQuery के नतीजों का इस्तेमाल करके बनाई गई नई Google शीट की समीक्षा करें.
सेटअप
- Apps Script प्रोजेक्ट बनाने के लिए,
script.google.comपर जाएं और नया प्रोजेक्ट पर क्लिक करें. - अपने Apps Script प्रोजेक्ट का नाम बदलने के लिए, बिना टाइटल वाला प्रोजेक्ट पर क्लिक करें. इसके बाद, अपने प्रोजेक्ट के लिए कोई टाइटल डालें और नाम बदलें पर क्लिक करें.
इसके बाद, आपको BigQuery में डेटा क्वेरी करने के लिए, Cloud Console प्रोजेक्ट बनाना होगा.
- Cloud Console प्रोजेक्ट बनाने के लिए, प्रोजेक्ट बनाएं पर क्लिक करें. इसके बाद, प्रोजेक्ट का नाम डालें और बनाएं पर क्लिक करें.
- प्रोजेक्ट बन जाने के बाद, पेज पर एक सूचना दिखती है. पक्का करें कि पेज पर सबसे ऊपर मौजूद प्रोजेक्ट की सूची में, आपका नया प्रोजेक्ट चुना गया हो.
- मेन्यू
पर क्लिक करें और एपीआई और सेवाएं > OAuth सहमति स्क्रीन (सीधा लिंक) पर जाएं. - अपने संगठन के Google Workspace उपयोगकर्ताओं के लिए ऐप्लिकेशन बनाने के लिए, इंटरनल > बनाएं पर क्लिक करें.
- ऐप्लिकेशन का नाम फ़ील्ड में, "Big Data Codelab" डालें.
- उपयोगकर्ता सहायता और डेवलपर की संपर्क जानकारी फ़ील्ड के लिए, संपर्क ईमेल पते डालें.
- सेव करें और जारी रखें > सेव करें और जारी रखें पर क्लिक करें.
- नेविगेशन बार में, ज़्यादा
पर क्लिक करें. इसके बाद, प्रोजेक्ट सेटिंग (सीधा लिंक) चुनें. - प्रोजेक्ट नंबर में दी गई वैल्यू को कॉपी करें. (कोड लैब में बाद में, एक अलग प्रोजेक्ट आईडी फ़ील्ड का इस्तेमाल किया जाता है.)
इसके बाद, आपको अपने Apps Script प्रोजेक्ट को Cloud Console प्रोजेक्ट से कनेक्ट करना होगा.
- App Script एडिटर पर स्विच करें और प्रोजेक्ट सेटिंग
पर क्लिक करें. - Google Cloud Platform (GCP) प्रोजेक्ट में जाकर, प्रोजेक्ट बदलें पर क्लिक करें.
- प्रोजेक्ट नंबर डालें और प्रोजेक्ट सेट करें पर क्लिक करें.
- इसके बाद, BigQuery की ऐडवांस सेवा को जोड़ना शुरू करने के लिए, एडिटर
पर क्लिक करें. - सेवाएं के बगल में मौजूद, सेवा जोड़ें
पर क्लिक करें. - 'सेवा जोड़ें' डायलॉग बॉक्स में, BigQuery API को चुनें. इसके बाद, जोड़ें पर क्लिक करें.
आखिरी चरण में, Cloud Console पर BigQuery API चालू करना होता है.
- इसके लिए, Cloud Console पर जाएं और एपीआई और सेवाएं > डैशबोर्ड पर क्लिक करें. (पक्का करें कि आप अब भी उसी प्रोजेक्ट पर हों जिसे आपने तीसरे चरण में बनाया था.)
- एपीआई और सेवाएं चालू करें पर क्लिक करें.
- "big query" खोजें. इसके बाद, BigQuery API (BigQuery Data Transfer API नहीं) को चुनें और इसे चालू करने के लिए, चालू करें पर क्लिक करें.

अब ऐप्लिकेशन कोड डाला जा सकता है. साथ ही, अनुमति देने की प्रोसेस पूरी की जा सकती है. इसके बाद, ऐप्लिकेशन का पहला वर्शन इस्तेमाल किया जा सकता है.
ऐप्लिकेशन अपलोड करना और उसे चलाना
- स्क्रिप्ट एडिटर में, डिफ़ॉल्ट
myFunction()कोड ब्लॉक की जगह यह कोड डालें:
// File name for data results
var QUERY_NAME = "Most common words in all of Shakespeare's works";
// Replace this value with your Google Cloud Console Project ID
var PROJECT_ID = '';
if (!PROJECT_ID) throw Error('Project ID is required in setup');
/**
* Runs a BigQuery query; puts results into a Sheet. You must turn on
* the BigQuery advanced service before you can run this code.
* @see https://developers.google.com/apps-script/advanced/bigquery#run_query
* @see https://github.com/googleworkspace/apps-script-samples/blob/master/advanced/bigquery.gs
*
* @returns {Spreadsheet} Returns a spreadsheet with BigQuery results
* @see https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
*/
function runQuery() {
// Replace sample with your own BigQuery query.
var request = {
query:
'SELECT ' +
'LOWER(word) AS word, ' +
'SUM(word_count) AS count ' +
'FROM [bigquery-public-data:samples.shakespeare] ' +
'GROUP BY word ' +
'ORDER BY count ' +
'DESC LIMIT 10'
};
var queryResults = BigQuery.Jobs.query(request, PROJECT_ID);
var jobId = queryResults.jobReference.jobId;
// Wait for BigQuery job completion (with exponential backoff).
var sleepTimeMs = 500;
while (!queryResults.jobComplete) {
Utilities.sleep(sleepTimeMs);
sleepTimeMs *= 2;
queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId);
}
// Get all results from BigQuery.
var rows = queryResults.rows;
while (queryResults.pageToken) {
queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId, {
pageToken: queryResults.pageToken
});
rows = rows.concat(queryResults.rows);
}
// Return null if no data returned.
if (!rows) {
return Logger.log('No rows returned.');
}
// Create the results spreadsheet.
var spreadsheet = SpreadsheetApp.create(QUERY_NAME);
var sheet = spreadsheet.getActiveSheet();
// Add headers to Sheet.
var headers = queryResults.schema.fields.map(function(field) {
return field.name.toUpperCase();
});
sheet.appendRow(headers);
// Append the results.
var data = new Array(rows.length);
for (var i = 0; i < rows.length; i++) {
var cols = rows[i].f;
data[i] = new Array(cols.length);
for (var j = 0; j < cols.length; j++) {
data[i][j] = cols[j].v;
}
}
// Start storing data in row 2, col 1
var START_ROW = 2; // skip header row
var START_COL = 1;
sheet.getRange(START_ROW, START_COL, rows.length, headers.length).setValues(data);
Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl());
}
- सेव करें
पर क्लिक करें.
Code.gsके बगल में मौजूद, ज़्यादा
> नाम बदलें पर क्लिक करें. टाइटल को Code.gsसे बदलकरbq-sheets-slides.jsकरें.- इसके बाद, आइए उस कोड की समीक्षा करें जो BigQuery से क्वेरी करता है और नतीजों को Google शीट में लिखता है. इसे
runQuery()में सबसे ऊपर देखा जा सकता है:
SELECT
LOWER(word) AS word,
SUM(word_count) AS count
FROM [bigquery-public-data:samples.shakespeare]
GROUP BY word
ORDER BY count
DESC LIMIT 10
यह क्वेरी, BigQuery के सार्वजनिक डेटासेट का हिस्सा, शेक्सपियर की रचनाओं में खोज करती है. साथ ही, उनकी सभी रचनाओं में सबसे ज़्यादा बार इस्तेमाल किए गए 10 शब्दों को खोजती है. इन शब्दों को लोकप्रियता के घटते क्रम में लगाया जाता है. इस डेटा को मैन्युअल तरीके से कंपाइल करने में कितना समय लगेगा, इसका अंदाज़ा लगाकर देखें. इससे आपको पता चलेगा कि BigQuery कितना काम का टूल है.
फ़ंक्शन, PROJECT_ID वैरिएबल का एलान भी करता है. इसके लिए, मान्य Cloud Console प्रोजेक्ट आईडी की ज़रूरत होती है. वैरिएबल के तहत if स्टेटमेंट इसलिए दिया गया है, ताकि ऐप्लिकेशन को प्रोजेक्ट आईडी के बिना आगे बढ़ने से रोका जा सके.
- अपने Cloud Console प्रोजेक्ट पर जाएं. इसके बाद, नेविगेशन बार में मौजूद, ज़्यादा
पर क्लिक करें और प्रोजेक्ट की सेटिंग चुनें. - प्रोजेक्ट आईडी में दी गई वैल्यू को कॉपी करें.
- App Script एडिटर पर वापस जाएं.
bq-sheets-slides.jsमेंPROJECT_IDवैरिएबल ढूंढें और वैल्यू जोड़ें. - सेव करें
> चलाएं पर क्लिक करें.
- जारी रखने के लिए, अनुमतियों की समीक्षा करें पर क्लिक करें.
- स्क्रिप्ट शुरू होने के बाद, बिल्ट-इन एक्ज़ीक्यूशन लॉग खुलता है. यह स्क्रिप्ट की कार्रवाइयों को रीयल टाइम में लॉग करता है.
- जब एक्ज़ीक्यूशन लॉग में "Execution completed" लिखा हुआ दिखे, तब अपनी Google Drive (
drive.google.com) पर जाएं. इसके बाद, "Most common words in all of Shakespeare's works" नाम की Google शीट ढूंढें. अगर आपनेQUERY_NAMEवैरिएबल का नाम अपडेट किया है, तो उस नाम की Google शीट ढूंढें: - सबसे ज़्यादा इस्तेमाल किए गए 10 शब्दों और उनकी कुल संख्या देखने के लिए, स्प्रेडशीट खोलें. इन्हें घटते क्रम में लगाया गया है:

टास्क 1 की खास जानकारी
समीक्षा करने के लिए, आपने एक कोड चलाया. इस कोड ने शेक्सपियर की सभी रचनाओं में मौजूद हर शब्द को खोजा. इसने शब्दों की गिनती की और उन्हें दिखने के क्रम के हिसाब से घटते क्रम में लगाया. आपने इस डेटा को दिखाने के लिए, Google Sheets की Apps Script में पहले से मौजूद सेवा का भी इस्तेमाल किया.
bq-sheets-slides.js के लिए इस्तेमाल किया गया कोड, इस कोडलैब की GitHub रिपॉज़िटरी के step1 फ़ोल्डर में भी मिल सकता है. यह रिपॉज़िटरी github.com/googlecodelabs/bigquery-sheets-slides पर मौजूद है. यह कोड, BigQuery की ऐडवांस सेवाओं वाले पेज पर मौजूद इस मूल उदाहरण से लिया गया है. इसमें थोड़ी अलग क्वेरी चलाई गई थी. इस क्वेरी में, शेक्सपियर के इस्तेमाल किए गए सबसे लोकप्रिय शब्दों को वापस लाया गया था. इन शब्दों में 10 या उससे ज़्यादा वर्ण थे. इसका उदाहरण, GitHub रिपॉज़िटरी में भी देखा जा सकता है.
अगर आपको शेक्सपियर की रचनाओं या अन्य सार्वजनिक डेटा टेबल का इस्तेमाल करके अन्य क्वेरी बनानी हैं, तो BigQuery की सैंपल टेबल को क्वेरी करने का तरीका और इस GitHub repo पर जाएं.
Apps Script में क्वेरी चलाने से पहले, Cloud Console पर मौजूद BigQuery पेज का इस्तेमाल करके भी क्वेरी चलाई जा सकती हैं. इसे ढूंढने के लिए, मेन्यू
पर क्लिक करें. इसके बाद, BigQuery यूज़र इंटरफ़ेस (यूआई) > SQL फ़ाइल फ़ोल्डर (डायरेक्ट लिंक) पर जाएं. उदाहरण के लिए, BigQuery के ग्राफ़िकल इंटरफ़ेस पर हमारी क्वेरी इस तरह दिखती है:

5. टास्क 2: Google Sheets में चार्ट बनाना
runQuery() का मकसद, BigQuery का इस्तेमाल करना और उसके डेटा के नतीजों को Google शीट में भेजना है. इसके बाद, हमें डेटा का इस्तेमाल करके एक चार्ट बनाना होगा. आइए, createColumnChart() नाम का एक नया फ़ंक्शन बनाते हैं, जो Sheets के newChart() तरीके को कॉल करता है.
- Apps Script एडिटर में,
createColumnChart()फ़ंक्शन कोrunQuery()के बादbq-sheets-slides.jsमें जोड़ें. यह कोड, शीट को ऐक्सेस करता है और सभी डेटा के साथ कॉलम वाला चार्ट बनाने का अनुरोध करता है. डेटा रेंज, सेल A2 से शुरू होती है, क्योंकि पहली लाइन में कॉलम के हेडर होते हैं.
/**
* Uses spreadsheet data to create a column chart.
* @param {Spreadsheet} Spreadsheet containing results data
* @returns {EmbeddedChart} Visualizes the results
* @see https://developers.google.com/apps-script/reference/spreadsheet/embedded-chart
*/
function createColumnChart(spreadsheet) {
// Retrieve the populated (first) Sheet.
var sheet = spreadsheet.getSheets()[0];
// Data range in Sheet is from cell A2 to B11.
var START_CELL = 'A2'; // skip header row
var END_CELL = 'B11';
// Place chart on Sheet starting on cell E5.
var START_ROW = 5; // row 5
var START_COL = 5; // col E
var OFFSET = 0;
// Create & place chart on the Sheet using above values.
var chart = sheet.newChart()
.setChartType(Charts.ChartType.COLUMN)
.addRange(sheet.getRange(START_CELL + ':' + END_CELL))
.setPosition(START_ROW, START_COL, OFFSET, OFFSET)
.build();
sheet.insertChart(chart);
}
createColumnChart()फ़ंक्शन के लिए, स्प्रेडशीट ऑब्जेक्ट पैरामीटर की ज़रूरत होती है. इसलिए, हमेंrunQuery()को अपडेट करना होगा, ताकि वहspreadsheetऑब्जेक्ट को वापस ला सके. इस ऑब्जेक्ट को हमcreateColumnChart()को पास कर सकते हैं.runQuery()के आखिर में, शीट के बन जाने की जानकारी लॉग करने के बाद,spreadsheetऑब्जेक्ट वापस करें:
Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl());
// NEW: Return the spreadsheet object for later use.
return spreadsheet;
}
runQuery()औरcreateColumnChart(), दोनों को कॉल करने के लिएcreateBigQueryPresentation()फ़ंक्शन बनाएं. BigQuery और चार्ट बनाने की सुविधा को लॉजिक के हिसाब से अलग-अलग करना सबसे सही तरीका है:
/**
* Runs the query, adds data and a chart to a spreadsheet.
*/
function createBigQueryPresentation() {
var spreadsheet = runQuery();
createColumnChart(spreadsheet);
}
- आपने ऊपर दिए गए दो ज़रूरी चरण पूरे कर लिए हैं: स्प्रेडशीट ऑब्जेक्ट को वापस लाना और एंट्री फ़ंक्शन बनाना.
runQuery()को ज़्यादा इस्तेमाल किया जा सके, इसके लिए हमें लॉग लाइन कोrunQuery()सेcreateBigQueryPresentation()में ले जाना होगा. आपका तरीका अब ऐसा दिखना चाहिए:
/**
* Runs a BigQuery query, adds data and a chart to a spreadsheet.
*/
function createBigQueryPresentation() {
var spreadsheet = runQuery();
Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl()); // MOVED HERE
createColumnChart(spreadsheet);
}
ऊपर दिए गए बदलावों (PROJECT_ID को छोड़कर) के बाद, अब आपका bq-sheets-slides.js ऐसा दिखना चाहिए. यह कोड, GitHub रिपॉज़िटरी के step2 में भी मौजूद है.
// File name for data results
var QUERY_NAME = "Most common words in all of Shakespeare's works";
// Replace this value with your Google Cloud Console Project ID
var PROJECT_ID = '';
if (!PROJECT_ID) throw Error('Project ID is required in setup');
/**
* Runs a BigQuery query; puts results into a sheet. You must turn on
* the BigQuery advanced service before you can run this code.
* @see https://developers.google.com/apps-script/advanced/bigquery#run_query
* @see https://github.com/googleworkspace/apps-script-samples/blob/master/advanced/bigquery.gs
*
* @returns {Spreadsheet} Returns a spreadsheet with BigQuery results
* @see https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
*/
function runQuery() {
// Replace sample with your own BigQuery query.
var request = {
query:
'SELECT ' +
'LOWER(word) AS word, ' +
'SUM(word_count) AS count ' +
'FROM [bigquery-public-data:samples.shakespeare] ' +
'GROUP BY word ' +
'ORDER BY count ' +
'DESC LIMIT 10'
};
var queryResults = BigQuery.Jobs.query(request, PROJECT_ID);
var jobId = queryResults.jobReference.jobId;
// Wait for BigQuery job completion (with exponential backoff).
var sleepTimeMs = 500;
while (!queryResults.jobComplete) {
Utilities.sleep(sleepTimeMs);
sleepTimeMs *= 2;
queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId);
}
// Get all results from BigQuery.
var rows = queryResults.rows;
while (queryResults.pageToken) {
queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId, {
pageToken: queryResults.pageToken
});
rows = rows.concat(queryResults.rows);
}
// Return null if no data returned.
if (!rows) {
return Logger.log('No rows returned.');
}
// Create the results spreadsheet.
var spreadsheet = SpreadsheetApp.create(QUERY_NAME);
var sheet = spreadsheet.getActiveSheet();
// Add headers to sheet.
var headers = queryResults.schema.fields.map(function(field) {
return field.name.toUpperCase();
});
sheet.appendRow(headers);
// Append the results.
var data = new Array(rows.length);
for (var i = 0; i < rows.length; i++) {
var cols = rows[i].f;
data[i] = new Array(cols.length);
for (var j = 0; j < cols.length; j++) {
data[i][j] = cols[j].v;
}
}
// Start storing data in row 2, col 1
var START_ROW = 2; // skip header row
var START_COL = 1;
sheet.getRange(START_ROW, START_COL, rows.length, headers.length).setValues(data);
// Return the spreadsheet object for later use.
return spreadsheet;
}
/**
* Uses spreadsheet data to create a columnar chart.
* @param {Spreadsheet} Spreadsheet containing results data
* @returns {EmbeddedChart} Visualizes the results
* @see https://developers.google.com/apps-script/reference/spreadsheet/embedded-chart
*/
function createColumnChart(spreadsheet) {
// Retrieve the populated (first) sheet.
var sheet = spreadsheet.getSheets()[0];
// Data range in sheet is from cell A2 to B11.
var START_CELL = 'A2'; // skip header row
var END_CELL = 'B11';
// Place chart on Sheet starting on cell E5.
var START_ROW = 5; // row 5
var START_COL = 5; // col E
var OFFSET = 0;
// Create & place chart on the sheet using above values.
var chart = sheet.newChart()
.setChartType(Charts.ChartType.COLUMN)
.addRange(sheet.getRange(START_CELL + ':' + END_CELL))
.setPosition(START_ROW, START_COL, OFFSET, OFFSET)
.build();
sheet.insertChart(chart);
}
/**
* Runs a BigQuery query, adds data and a chart to a spreadsheet.
*/
function createBigQueryPresentation() {
var spreadsheet = runQuery();
Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl());
createColumnChart(spreadsheet);
}
स्क्रिप्ट एडिटर में, अपने स्क्रिप्ट प्रोजेक्ट को सेव करें. इसके बाद, फ़ंक्शन की सूची से createBigQueryPresentation को चुनें और चलाएं पर क्लिक करें. यह प्रोसेस पूरी होने के बाद, आपकी Google Drive में एक और स्प्रेडशीट बन जाती है. हालांकि, इस बार डेटा के बगल में शीट में एक चार्ट शामिल किया जाता है:

6. तीसरा टास्क: नतीजों के डेटा को स्लाइड डेक में डालना
कोडलैब के आखिरी हिस्से में, Google Slides प्रज़ेंटेशन बनाना, टाइटल स्लाइड में टाइटल और सबटाइटल जोड़ना, और फिर डेटा सेल और चार्ट के लिए स्लाइड बनाना शामिल है.
- Apps Script एडिटर में,
createSlidePresentation()फ़ंक्शन कोcreateColumnChart()के बादbq-sheets-slides.jsमें जोड़ें. स्लाइड डेक पर किया जाने वाला सारा काम, इस फ़ंक्शन में होता है. सबसे पहले, स्लाइड डेक बनाते हैं. इसके बाद, डिफ़ॉल्ट टाइटल स्लाइड में टाइटल और सबटाइटल जोड़ते हैं.
/**
* Create presentation with spreadsheet data and a chart
* @param {Spreadsheet} Spreadsheet containing results data
* @param {EmbeddedChart} Sheets chart to embed on a slide
* @returns {Presentation} Slide deck with the results
* @see https://developers.google.com/apps-script/reference/slides/presentation
*/
function createSlidePresentation(spreadsheet, chart) {
// Create the presentation.
var deck = SlidesApp.create(QUERY_NAME);
// Populate the title slide.
var [title, subtitle] = deck.getSlides()[0].getPageElements();
title.asShape().getText().setText(QUERY_NAME);
subtitle.asShape().getText().setText('using Google Cloud Console and Google Workspace APIs:\n' +
'Google Apps Script, BigQuery, Sheets, Slides');
createSlidePresentation()में अगला चरण, Google शीट से सेल का डेटा अपने नए स्लाइड डेक में इंपोर्ट करना है. इस कोड स्निपेट को फ़ंक्शन में जोड़ें:
// Data range to copy is from cell A1 to B11
var START_CELL = 'A1'; // include header row
var END_CELL = 'B11';
// Add the table slide and insert an empty table on it with
// the dimensions of the data range; fails if the sheet is empty.
var tableSlide = deck.appendSlide(SlidesApp.PredefinedLayout.BLANK);
var sheetValues = spreadsheet.getSheets()[0].getRange(
START_CELL + ':' + END_CELL).getValues();
var table = tableSlide.insertTable(sheetValues.length, sheetValues[0].length);
// Populate the table with spreadsheet data.
for (var i = 0; i < sheetValues.length; i++) {
for (var j = 0; j < sheetValues[0].length; j++) {
table.getCell(i, j).getText().setText(String(sheetValues[i][j]));
}
}
createSlidePresentation()का आखिरी चरण, एक और स्लाइड जोड़ना, हमारी स्प्रेडशीट से चार्ट इंपोर्ट करना, औरPresentationऑब्जेक्ट को वापस करना है. इस कोड स्निपेट को फ़ंक्शन में जोड़ें:
// Add a chart slide and insert the chart on it.
var chartSlide = deck.appendSlide(SlidesApp.PredefinedLayout.BLANK);
chartSlide.insertSheetsChart(chart);
// Return the presentation object for later use.
return deck;
}
- अब हमारा फ़ंक्शन पूरा हो गया है. इसके सिग्नेचर को फिर से देखें.
createSlidePresentation()फ़ंक्शन के लिए, स्प्रेडशीट और चार्ट ऑब्जेक्ट, दोनों पैरामीटर ज़रूरी हैं. हमनेrunQuery()में पहले ही बदलाव कर दिया है, ताकि वहSpreadsheetऑब्जेक्ट दिखा सके. हालांकि, हमेंcreateColumnChart()में भी ऐसा ही बदलाव करना होगा, ताकि वह चार्ट ऑब्जेक्ट (EmbeddedChart) दिखा सके.createColumnChart()पर वापस जाएं और फ़ंक्शन के आखिर में यह कोड स्निपेट जोड़ें:
// NEW: Return the chart object for later use.
return chart;
}
createColumnChart()अब चार्ट ऑब्जेक्ट दिखाता है. इसलिए, हमें चार्ट को किसी वैरिएबल में सेव करना होगा. इसके बाद, हम स्प्रेडशीट और चार्ट, दोनों के वैरिएबल कोcreateSlidePresentation()पर भेजते हैं. साथ ही, हम नई बनाई गई स्प्रेडशीट का यूआरएल लॉग करते हैं. इसलिए, नई स्लाइड प्रज़ेंटेशन का यूआरएल भी लॉग करते हैं. अपनेcreateBigQueryPresentation()को अपडेट करें, ताकि वह ऐसा दिखे:
/**
* Runs a BigQuery query, adds data and a chart to a spreadsheet,
* and adds the data and chart to a new slide presentation.
*/
function createBigQueryPresentation() {
var spreadsheet = runQuery();
Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl());
var chart = createColumnChart(spreadsheet); // UPDATED
var deck = createSlidePresentation(spreadsheet, chart); // NEW
Logger.log('Results slide deck created: %s', deck.getUrl()); // NEW
}
createBigQueryPresentation()को सेव करें और फिर से चलाएं. हालांकि, इससे पहले आपके ऐप्लिकेशन को उपयोगकर्ता से, Google Slides प्रज़ेंटेशन देखने और मैनेज करने के लिए अनुमतियों का एक और सेट चाहिए. इन अनुमतियों की समीक्षा करने और इन्हें अनुमति देने के बाद, यह पहले की तरह काम करेगा.- अब आपको बनाई गई स्प्रेडशीट के साथ-साथ, तीन स्लाइड (टाइटल, डेटा टेबल, डेटा चार्ट) वाला नया Slides प्रज़ेंटेशन भी मिलेगा. यह प्रज़ेंटेशन यहां दिखाया गया है:



7. नतीजा
बधाई हो, आपने एक ऐसा ऐप्लिकेशन बनाया है जो Google Cloud के दोनों वर्शन का इस्तेमाल करता है. यह Google BigQuery से एक अनुरोध करता है. इसमें, BigQuery के किसी सार्वजनिक डेटासेट से क्वेरी की जाती है. इसके बाद, नतीजों को सेव करने के लिए Google Sheets स्प्रेडशीट बनाई जाती है. साथ ही, डेटा के आधार पर एक चार्ट जोड़ा जाता है. आखिर में, Google Slides में एक प्रज़ेंटेशन बनाया जाता है. इसमें स्प्रेडशीट से मिले डेटा और चार्ट के नतीजों को दिखाया जाता है.
यह वह तरीका है जिसे आपने तकनीकी तौर पर अपनाया. आसान शब्दों में कहें, तो आपने बड़े डेटा का विश्लेषण करके, स्टेकहोल्डर को दिखाने लायक नतीजे तैयार किए. यह सब कोड का इस्तेमाल करके अपने-आप हुआ. हमें उम्मीद है कि इस सैंपल से आपको अपने प्रोजेक्ट के लिए इसे पसंद के मुताबिक बनाने में मदद मिलेगी. इस कोडलैब के आखिर में, हम आपको इस सैंपल ऐप्लिकेशन को और बेहतर बनाने के बारे में कुछ सुझाव देंगे.
आखिरी टास्क में किए गए बदलावों (PROJECT_ID को छोड़कर) के बाद, आपका bq-sheets-slides.js अब ऐसा दिखना चाहिए:
/**
* Copyright 2018 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// File name for data results
var QUERY_NAME = "Most common words in all of Shakespeare's works";
// Replace this value with your Google Cloud Console Project ID
var PROJECT_ID = '';
if (!PROJECT_ID) throw Error('Project ID is required in setup');
/**
* Runs a BigQuery query; puts results into a spreadsheet. You must turn on
* the BigQuery advanced service before you can run this code.
* @see https://developers.google.com/apps-script/advanced/bigquery#run_query
* @see https://github.com/googleworkspace/apps-script-samples/blob/master/advanced/bigquery.gs
*
* @returns {Spreadsheet} Returns a spreadsheet with BigQuery results
* @see https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
*/
function runQuery() {
// Replace sample with your own BigQuery query.
var request = {
query:
'SELECT ' +
'LOWER(word) AS word, ' +
'SUM(word_count) AS count ' +
'FROM [bigquery-public-data:samples.shakespeare] ' +
'GROUP BY word ' +
'ORDER BY count ' +
'DESC LIMIT 10'
};
var queryResults = BigQuery.Jobs.query(request, PROJECT_ID);
var jobId = queryResults.jobReference.jobId;
// Wait for BigQuery job completion (with exponential backoff).
var sleepTimeMs = 500;
while (!queryResults.jobComplete) {
Utilities.sleep(sleepTimeMs);
sleepTimeMs *= 2;
queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId);
}
// Get all results from BigQuery.
var rows = queryResults.rows;
while (queryResults.pageToken) {
queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId, {
pageToken: queryResults.pageToken
});
rows = rows.concat(queryResults.rows);
}
// Return null if no data returned.
if (!rows) {
return Logger.log('No rows returned.');
}
// Create the results spreadsheet.
var spreadsheet = SpreadsheetApp.create(QUERY_NAME);
var sheet = spreadsheet.getActiveSheet();
// Add headers to sheet.
var headers = queryResults.schema.fields.map(function(field) {
return field.name.toUpperCase();
});
sheet.appendRow(headers);
// Append the results.
var data = new Array(rows.length);
for (var i = 0; i < rows.length; i++) {
var cols = rows[i].f;
data[i] = new Array(cols.length);
for (var j = 0; j < cols.length; j++) {
data[i][j] = cols[j].v;
}
}
// Start storing data in row 2, col 1
var START_ROW = 2; // skip header row
var START_COL = 1;
sheet.getRange(START_ROW, START_COL, rows.length, headers.length).setValues(data);
// Return the spreadsheet object for later use.
return spreadsheet;
}
/**
* Uses spreadsheet data to create a column chart.
* @param {Spreadsheet} Spreadsheet containing results data
* @returns {EmbeddedChart} Visualizes the results
* @see https://developers.google.com/apps-script/reference/spreadsheet/embedded-chart
*/
function createColumnChart(spreadsheet) {
// Retrieve the populated (first) sheet.
var sheet = spreadsheet.getSheets()[0];
// Data range in sheet is from cell A2 to B11.
var START_CELL = 'A2'; // skip header row
var END_CELL = 'B11';
// Place chart on sheet starting on cell E5.
var START_ROW = 5; // row 5
var START_COL = 5; // col E
var OFFSET = 0;
// Create & place chart on the sheet using above values.
var chart = sheet.newChart()
.setChartType(Charts.ChartType.COLUMN)
.addRange(sheet.getRange(START_CELL + ':' + END_CELL))
.setPosition(START_ROW, START_COL, OFFSET, OFFSET)
.build();
sheet.insertChart(chart);
// Return the chart object for later use.
return chart;
}
/**
* Create presentation with spreadsheet data and a chart
* @param {Spreadsheet} Spreadsheet containing results data
* @param {EmbeddedChart} Sheets chart to embed on a slide
* @returns {Presentation} Slide deck with the results
* @see https://developers.google.com/apps-script/reference/slides/presentation
*/
function createSlidePresentation(spreadsheet, chart) {
// Create the presentation.
var deck = SlidesApp.create(QUERY_NAME);
// Populate the title slide.
var [title, subtitle] = deck.getSlides()[0].getPageElements();
title.asShape().getText().setText(QUERY_NAME);
subtitle.asShape().getText().setText('using Google Cloud Console and Google Workspace APIs:\n' +
'Google Apps Script, BigQuery, Sheets, Slides');
// Data range to copy is from cell A1 to B11
var START_CELL = 'A1'; // include header row
var END_CELL = 'B11';
// Add the table slide and insert an empty table on it with
// the dimensions of the data range; fails if the sheet is empty.
var tableSlide = deck.appendSlide(SlidesApp.PredefinedLayout.BLANK);
var sheetValues = spreadsheet.getSheets()[0].getRange(
START_CELL + ':' + END_CELL).getValues();
var table = tableSlide.insertTable(sheetValues.length, sheetValues[0].length);
// Populate the table with spreadsheet data.
for (var i = 0; i < sheetValues.length; i++) {
for (var j = 0; j < sheetValues[0].length; j++) {
table.getCell(i, j).getText().setText(String(sheetValues[i][j]));
}
}
// Add a chart slide and insert the chart on it.
var chartSlide = deck.appendSlide(SlidesApp.PredefinedLayout.BLANK);
chartSlide.insertSheetsChart(chart);
// Return the presentation object for later use.
return deck;
}
/**
* Runs a BigQuery query, adds data and a chart to a spreadsheet,
* and adds the data and chart to a new slide presentation.
*/
function createBigQueryPresentation() {
var spreadsheet = runQuery();
Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl());
var chart = createColumnChart(spreadsheet);
var deck = createSlidePresentation(spreadsheet, chart);
Logger.log('Results slide deck created: %s', deck.getUrl());
}
इस कोड के सैंपल को GitHub रिपॉज़िटरी में मौजूद final फ़ोल्डर में भी देखा जा सकता है.
8. अन्य संसाधन
इस कोडलैब में शामिल कॉन्टेंट के बारे में ज़्यादा जानने के लिए यहां कुछ और संसाधन दिए गए हैं. साथ ही, Google के डेवलपर टूल को प्रोग्राम के हिसाब से ऐक्सेस करने के अन्य तरीके भी बताए गए हैं.
इस ऐप्लिकेशन के लिए संसाधन
दस्तावेज़
- Google Apps Script की दस्तावेज़ साइट
- Apps Script: Spreadsheet Service
- Apps Script: Slides सेवा
- Apps Script: BigQuery की ऐडवांस सेवा
वीडियो
- Google Apps Script का कोई दूसरा सीक्रेट
- स्प्रेडशीट से Google Maps ऐक्सेस करना
- Totally Unscripted
- Google Workspace Developer Show
खबरें और अपडेट
- Google Cloud Platform ब्लॉग
- Google Cloud Data Analytics ब्लॉग
- Google Developers ब्लॉग
- Twitter: Google Developers (@googledevs)
- Google Workspace Developers ब्लॉग
- Twitter: Google Workspace Developers (@workspacedevs)
अन्य कोडलैब
आसान लेवल
- [Google Sheets] Google Sheets के साथ Apps Script की बुनियादी बातें
- [REST API] Google Drive में मौजूद फ़ाइलों और फ़ोल्डर को ऐक्सेस करने के लिए, Google Workspace और Google API का इस्तेमाल करना
इंटरमीडिएट लेवल
- [Apps Script] CLASP Apps Script कमांड-लाइन टूल
- [Apps Script] Gmail के लिए Google Workspace ऐड-ऑन
- [Apps Script] Hangouts Chat के लिए कस्टम बॉट
- [REST API] Google Sheets को अपने ऐप्लिकेशन के रिपोर्टिंग टूल के तौर पर इस्तेमाल करना
- [REST API] BigQuery API का इस्तेमाल करके, Google Slides प्रज़ेंटेशन जनरेट करना
9. अगला चरण: कोडिंग से जुड़ी चुनौतियां
इस कोडलैब में बनाए गए सैंपल को बेहतर बनाने या बढ़ाने के अलग-अलग तरीके यहां दिए गए हैं. यह पूरी सूची नहीं है, लेकिन इसमें आपको आगे बढ़ने के लिए कुछ प्रेरणादायक आइडिया मिलेंगे.
- ऐप्लिकेशन—क्या आपको JavaScript के इस्तेमाल पर लगी पाबंदियों या Apps Script की पाबंदियों से बचना है? इस ऐप्लिकेशन को अपनी पसंदीदा प्रोग्रामिंग लैंग्वेज में पोर्ट करें. यह लैंग्वेज, Google BigQuery, Sheets, और Slides के लिए REST API का इस्तेमाल करती हो.
- BigQuery—शेक्सपियर के डेटासेट के लिए, अपनी पसंद की कोई दूसरी क्वेरी आज़माएं. एक और सैंपल क्वेरी, Apps Script BigQuery के ओरिजनल सैंपल ऐप्लिकेशन में देखी जा सकती है.
- BigQuery—BigQuery के कुछ अन्य सार्वजनिक डेटासेट का इस्तेमाल करके देखें कि आपके लिए कौनसे डेटासेट ज़्यादा काम के हैं.
- BigQuery—हमने पहले बताया था कि शेक्सपियर की रचनाओं या सार्वजनिक डेटा की अन्य टेबल का इस्तेमाल करके, कौनसी क्वेरी बनाई जा सकती हैं. इन्हें इस वेब पेज और इस GitHub रिपॉज़िटरी पर देखा जा सकता है.
- Sheets—चार्ट गैलरी में जाकर, अन्य तरह के चार्ट आज़माएं.
- Sheets और BigQuery—अपनी बड़ी स्प्रेडशीट के डेटासेट का इस्तेमाल करें. साल 2016 में, BigQuery टीम ने एक सुविधा लॉन्च की थी. इसकी मदद से, डेवलपर किसी शीट को डेटा सोर्स के तौर पर इस्तेमाल कर सकते हैं. ज़्यादा जानकारी के लिए, (Google BigQuery, Google Drive के साथ इंटिग्रेट होता है पर जाएं.
- स्लाइड—जनरेट किए गए प्रज़ेंटेशन में अन्य स्लाइड जोड़ें. जैसे, इमेज या आपके बड़े डेटा के विश्लेषण से जुड़ी अन्य ऐसेट. Slides में पहले से मौजूद सेवा के लिए, यहां संदर्भ दस्तावेज़ दिया गया है.
- Google Workspace—Apps Script से, Google Workspace या Google की अन्य सेवाओं का इस्तेमाल करें. उदाहरण के लिए, Gmail, Calendar, Docs, Drive, Maps, Analytics, YouTube वगैरह के साथ-साथ अन्य ऐडवांस सेवाएं. ज़्यादा जानकारी के लिए, बिल्ट-इन और ऐडवांस, दोनों तरह की सेवाओं के लिए रेफ़रंस की खास जानकारी पर जाएं.