Google Sheets और Slides का इस्तेमाल करके, अपने बिग डेटा को अहम जानकारी में बदलें

1. बिग डेटा के विश्लेषण से लेकर स्लाइड प्रज़ेंटेशन तक

डेटा वैज्ञानिकों के पास, बिग डेटा का विश्लेषण करने के लिए कई टूल होते हैं. हालांकि, आखिर में विश्लेषकों को मैनेजमेंट के सामने नतीजों को सही ठहराना होता है. कागज़ पर या डेटाबेस में मौजूद कई नंबरों को मुख्य हितधारकों के सामने पेश करना मुश्किल होता है. यह इंटरमीडिएट Google Apps Script कोडलैब, Google के दो डेवलपर प्लैटफ़ॉर्म (Google Workspace और Google Cloud Console) का इस्तेमाल करता है. इससे आपको उस आखिरी हिस्से को अपने-आप होने के लिए सेट करने में मदद मिलती है.

Google Cloud के डेवलपर टूल की मदद से, डेटा का बारीकी से विश्लेषण किया जा सकता है. इसके बाद, नतीजों को स्प्रेडशीट में डाला जा सकता है. साथ ही, डेटा की मदद से स्लाइड प्रज़ेंटेशन जनरेट किया जा सकता है. इससे मैनेजमेंट को डेटा देने का बेहतर तरीका मिलता है. इस कोडलैब में, Cloud Console के BigQuery API (Apps Script की ऐडवांस सेवा के तौर पर) और Google Sheets और Google Slides के लिए, Apps Script की बिल्ट-इन सेवाओं के बारे में बताया गया है.

वजह

इस कोडलैब में दिए गए सैंपल ऐप्लिकेशन को, कोड के इन अन्य सैंपल से प्रेरणा मिली है:

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. खास जानकारी

अब आपको पता चल गया है कि यह कोडलैब किस बारे में है. यहां बताया गया है कि आपको क्या करना है:

  1. Apps Script और BigQuery के किसी मौजूदा सैंपल का इस्तेमाल करें और उसे चालू करें.
  2. इस सैंपल से, BigQuery को क्वेरी भेजने और नतीजे पाने का तरीका जानें.
  3. एक Google शीट बनाएं और उसमें BigQuery से मिले नतीजे डालें.
  4. कोड में बदलाव करके, शीट में शामिल किए गए डेटा में थोड़ा बदलाव करें.
  5. Apps Script में Sheets सेवा का इस्तेमाल करके, BigQuery डेटा के लिए चार्ट बनाएं.
  6. Google Slides प्रज़ेंटेशन बनाने के लिए, Slides सेवा का इस्तेमाल करें.
  7. डिफ़ॉल्ट टाइटल स्लाइड में टाइटल और सबटाइटल जोड़ें.
  8. डेटा टेबल वाली स्लाइड बनाएं और शीट की डेटा सेल को उसमें एक्सपोर्ट करें.
  9. एक और स्लाइड बनाएं और उसमें स्प्रेडशीट चार्ट डालें.

चलिए, Apps Script, BigQuery, Sheets, और Slides के बारे में कुछ बुनियादी जानकारी से शुरुआत करते हैं.

Google Apps Script और BigQuery

Google Apps Script, Google Workspace का डेवलपमेंट प्लैटफ़ॉर्म है. यह Google REST API से ज़्यादा बेहतर तरीके से काम करता है. यह सर्वरलेस डेवलपमेंट और ऐप्लिकेशन होस्टिंग एनवायरमेंट है. इसे डेवलपर के सभी स्किल लेवल के लोग ऐक्सेस कर सकते हैं. असल में, Apps Script एक सर्वरलेस JavaScript रनटाइम है. इसका इस्तेमाल Google Workspace को ऑटोमेट करने, एक्सटेंड करने, और इंटिग्रेट करने के लिए किया जाता है.

यह Node.js की तरह ही सर्वर-साइड JavaScript का इस्तेमाल करता है. हालांकि, यह तेज़ी से और एसिंक्रोनस इवेंट-ड्रिवन ऐप्लिकेशन होस्टिंग के बजाय, Google Workspace और Google की अन्य सेवाओं के साथ बेहतर इंटिग्रेशन पर फ़ोकस करता है. इसमें एक डेवलपमेंट एनवायरमेंट भी होता है, जो आपके इस्तेमाल किए गए एनवायरमेंट से अलग हो सकता है. Apps Script की मदद से, ये काम किए जा सकते हैं:

  • ब्राउज़र पर आधारित कोड एडिटर का इस्तेमाल करके स्क्रिप्ट डेवलप की जा सकती हैं. हालांकि, Apps Script के लिए कमांड-लाइन डिप्लॉयमेंट टूल clasp का इस्तेमाल करके, स्क्रिप्ट को स्थानीय तौर पर भी डेवलप किया जा सकता है.
  • 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. पहला टास्क: BigQuery को चलाएं और नतीजों को Sheets में लॉग करें

परिचय

हम इस कोडलैब का ज़्यादातर हिस्सा, इस पहले टास्क के साथ पूरा करेंगे. दरअसल, इसे पूरा करने के बाद, आपका आधा कोडलैब पूरा हो जाएगा. इसे कई सब-सेक्शन में बांटा गया है. इसमें आपको:

  • Google Apps Script और Cloud Console, दोनों में प्रोजेक्ट बनाएं.
  • BigQuery की ऐडवांस सेवा का ऐक्सेस चालू करें.
  • स्क्रिप्ट एडिटर खोलें और ऐप्लिकेशन का सोर्स कोड डालें.
  • ऐप्लिकेशन को अनुमति देने की प्रोसेस (OAuth2) को नेविगेट करना.
  • BigQuery को अनुरोध भेजने वाले ऐप्लिकेशन को चलाएं.
  • BigQuery के नतीजों का इस्तेमाल करके बनाई गई नई Google शीट की समीक्षा करें.

सेटअप

  1. Apps Script प्रोजेक्ट बनाने के लिए, script.google.com पर जाएं और नया प्रोजेक्ट पर क्लिक करें.
  2. अपने Apps Script प्रोजेक्ट का नाम बदलने के लिए, बिना टाइटल वाला प्रोजेक्ट पर क्लिक करें. इसके बाद, अपने प्रोजेक्ट के लिए कोई टाइटल डालें और नाम बदलें पर क्लिक करें.

इसके बाद, आपको BigQuery में डेटा क्वेरी करने के लिए, Cloud Console प्रोजेक्ट बनाना होगा.

  1. Cloud Console प्रोजेक्ट बनाने के लिए, प्रोजेक्ट बनाएं पर जाने वाले इस शॉर्टकट लिंक का इस्तेमाल करें. प्रोजेक्ट को कोई नाम दें और बनाएं पर क्लिक करें.
  1. प्रोजेक्ट बन जाने के बाद, पेज पर एक सूचना दिखती है. पक्का करें कि पेज पर सबसे ऊपर मौजूद प्रोजेक्ट की सूची में, आपका नया प्रोजेक्ट चुना गया हो.
  2. मेन्यू f5fbd278915eb7aa.png पर क्लिक करें और एपीआई और सेवाएं > OAuth सहमति स्क्रीन (सीधा लिंक) पर जाएं.
  3. अपने संगठन के Google Workspace उपयोगकर्ताओं के लिए ऐप्लिकेशन बनाने के लिए, इंटरनल > बनाएं पर क्लिक करें.
  4. ऐप्लिकेशन का नाम फ़ील्ड में, "Big Data Codelab" डालें.
  5. उपयोगकर्ता सहायता और डेवलपर की संपर्क जानकारी फ़ील्ड के लिए, संपर्क ईमेल पते डालें.
  6. सेव करें और जारी रखें > सेव करें और जारी रखें पर क्लिक करें.
  7. नेविगेशन बार में, ज़्यादा 50fa7e30ed2d1b1c.png पर क्लिक करें. इसके बाद, प्रोजेक्ट सेटिंग (सीधा लिंक) चुनें.
  8. प्रोजेक्ट नंबर में दी गई वैल्यू को कॉपी करें. (कोड लैब में, प्रोजेक्ट आईडी फ़ील्ड का इस्तेमाल बाद में किया जाता है.)

इसके बाद, आपको अपने Apps Script प्रोजेक्ट को Cloud Console प्रोजेक्ट से कनेक्ट करना होगा.

  1. App Script एडिटर पर स्विच करें और प्रोजेक्ट सेटिंग settings-gear पर क्लिक करें.
  2. Google Cloud Platform (GCP) प्रोजेक्ट में जाकर, प्रोजेक्ट बदलें पर क्लिक करें.
  3. प्रोजेक्ट नंबर डालें और प्रोजेक्ट सेट करें पर क्लिक करें.
  4. इसके बाद, BigQuery की ऐडवांस सेवा को जोड़ना शुरू करने के लिए, एडिटर code-editor पर क्लिक करें.
  5. सेवाएं के बगल में मौजूद, सेवा जोड़ें कोई सेवा जोड़ना पर क्लिक करें.
  6. 'सेवा जोड़ें' डायलॉग बॉक्स में, BigQuery API को चुनें. इसके बाद, जोड़ें पर क्लिक करें.

आखिरी चरण में, Cloud Console पर BigQuery API चालू करना होता है.

  1. इसके लिए, Cloud Console पर जाएं और एपीआई और सेवाएं > डैशबोर्ड पर क्लिक करें. (पक्का करें कि आप अब भी उसी प्रोजेक्ट पर हों जिसे आपने तीसरे चरण में बनाया था.)
  2. एपीआई और सेवाएं चालू करें पर क्लिक करें.
  3. "big query" खोजें. इसके बाद, BigQuery API (BigQuery Data Transfer API नहीं) चुनें और इसे चालू करने के लिए, चालू करें पर क्लिक करें.

a0e07fa159de9367.png

अब ऐप्लिकेशन कोड डालने, अनुमति देने की प्रोसेस पूरी करने, और इस ऐप्लिकेशन के पहले वर्शन को चालू करने के लिए तैयार रहें.

ऐप्लिकेशन अपलोड करना और उसे चलाना

  1. स्क्रिप्ट एडिटर में, डिफ़ॉल्ट 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());
}
  1. सेव करें सेव पर क्लिक करें.
  2. Code.gs के बगल में मौजूद, ज़्यादा 50fa7e30ed2d1b1c.png > नाम बदलें पर क्लिक करें. टाइटल को Code.gs से बदलकर bq-sheets-slides.js करो.
  3. इसके बाद, आइए उस कोड की समीक्षा करें जो 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 स्टेटमेंट इसलिए दिया गया है, ताकि ऐप्लिकेशन को प्रोजेक्ट आईडी के बिना आगे बढ़ने से रोका जा सके.

  1. अपने Cloud Console प्रोजेक्ट पर जाएं. इसके बाद, नेविगेशन बार में मौजूद, ज़्यादा 50fa7e30ed2d1b1c.png पर क्लिक करें और प्रोजेक्ट सेटिंग चुनें.
  2. प्रोजेक्ट आईडी में दी गई वैल्यू को कॉपी करें.
  3. App Script एडिटर पर वापस जाएं. bq-sheets-slides.js में PROJECT_ID वैरिएबल ढूंढें और वैल्यू जोड़ें.
  4. सेव करें सेव > चलाएं पर क्लिक करें.
  5. जारी रखने के लिए, अनुमतियों की समीक्षा करें पर क्लिक करें.
  1. स्क्रिप्ट शुरू होने के बाद, पहले से मौजूद एक्ज़ीक्यूशन लॉग खुल जाता है. यह स्क्रिप्ट की कार्रवाइयों को रीयल टाइम में लॉग करता है.
  1. जब एक्ज़ीक्यूशन लॉग में "Execution completed" लिखा हुआ दिखे, तब अपनी Google Drive (drive.google.com) पर जाएं. इसके बाद, "Most common words in all of Shakespeare's works" नाम वाली Google शीट ढूंढें. अगर आपने QUERY_NAME वैरिएबल का नाम बदला है, तो उस नाम वाली Google शीट ढूंढें:
  2. सबसे ज़्यादा इस्तेमाल होने वाले 10 शब्दों और उनकी कुल संख्या देखने के लिए, स्प्रेडशीट खोलें. इन्हें घटते क्रम में क्रम से लगाया गया है:

afe500ad43f8cdf8.png

टास्क 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 पेज का इस्तेमाल करके भी क्वेरी चलाई जा सकती हैं. इसे ढूंढने के लिए, मेन्यू f5fbd278915eb7aa.png पर क्लिक करें. इसके बाद, BigQuery यूज़र इंटरफ़ेस (यूआई) > SQL फ़ाइल फ़ोल्डर (डायरेक्ट लिंक) पर जाएं. उदाहरण के लिए, BigQuery के ग्राफ़िकल इंटरफ़ेस पर हमारी क्वेरी इस तरह दिखती है:

BigQueryUI

5. टास्क 2: Google Sheets में चार्ट बनाना

runQuery() का मकसद, BigQuery का इस्तेमाल करना और उसके डेटा के नतीजों को Google शीट में भेजना है. इसके बाद, हमें डेटा का इस्तेमाल करके एक चार्ट बनाना होगा. आइए, createColumnChart() नाम का एक नया फ़ंक्शन बनाते हैं, जो Sheets के newChart() तरीके को कॉल करता है.

  1. Apps Script एडिटर में, runQuery() के बाद bq-sheets-slides.js में createColumnChart() फ़ंक्शन जोड़ें. यह कोड, शीट को ऐक्सेस करता है और सभी डेटा के साथ कॉलम वाला चार्ट बनाने का अनुरोध करता है. डेटा रेंज, सेल 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);
}
  1. createColumnChart() फ़ंक्शन के लिए, स्प्रेडशीट ऑब्जेक्ट पैरामीटर की ज़रूरत होती है. इसलिए, हमें runQuery() को अपडेट करना होगा, ताकि वह spreadsheet ऑब्जेक्ट को वापस ला सके. इस ऑब्जेक्ट को हम createColumnChart() को पास कर सकते हैं. runQuery() के आखिर में, शीट के बन जाने की जानकारी लॉग करने के बाद, spreadsheet ऑब्जेक्ट वापस करें:
  Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl());

  // NEW: Return the spreadsheet object for later use.
  return spreadsheet;
}
  1. runQuery() और createColumnChart(), दोनों को कॉल करने के लिए createBigQueryPresentation() फ़ंक्शन बनाएं. BigQuery और चार्ट बनाने की सुविधा को लॉजिक के हिसाब से अलग-अलग करना सबसे सही तरीका है:
/**
 * Runs the query, adds data and a chart to a spreadsheet.
 */
function createBigQueryPresentation() {
  var spreadsheet = runQuery();
  createColumnChart(spreadsheet);
}
  1. आपने ऊपर दिए गए दो ज़रूरी चरण पूरे किए हैं: स्प्रेडशीट ऑब्जेक्ट को वापस लाना और एंट्री फ़ंक्शन बनाना. 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 प्रज़ेंटेशन बनाना, टाइटल स्लाइड में टाइटल और सबटाइटल जोड़ना, और फिर डेटा सेल और चार्ट के लिए स्लाइड बनाना शामिल है.

  1. Apps Script एडिटर में, createColumnChart() के बाद bq-sheets-slides.js में createSlidePresentation() फ़ंक्शन जोड़ें. स्लाइड डेक पर किया जाने वाला सारा काम, इस फ़ंक्शन में होता है. आइए, सबसे पहले स्लाइड डेक बनाते हैं. इसके बाद, डिफ़ॉल्ट टाइटल स्लाइड में टाइटल और सबटाइटल जोड़ते हैं.
/**
 * 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');
  1. 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]));
    }
  }
  1. 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;
}
  1. अब हमारा फ़ंक्शन पूरा हो गया है. इसलिए, इसके सिग्नेचर को फिर से देखें. createSlidePresentation() फ़ंक्शन के लिए, स्प्रेडशीट और चार्ट ऑब्जेक्ट, दोनों पैरामीटर ज़रूरी हैं. हमने runQuery() में पहले ही बदलाव कर दिया है, ताकि वह Spreadsheet ऑब्जेक्ट दिखाए. हालांकि, हमें createColumnChart() में भी ऐसा ही बदलाव करना होगा, ताकि वह चार्ट ऑब्जेक्ट (EmbeddedChart) दिखाए. createColumnChart() पर वापस जाएं और फ़ंक्शन के आखिर में यह कोड स्निपेट जोड़ें:
  // NEW: Return the chart object for later use.
  return chart;
}
  1. 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
}
  1. createBigQueryPresentation() को सेव करें और फिर से चलाएं. हालांकि, इससे पहले आपके ऐप्लिकेशन को उपयोगकर्ता से, Google Slides प्रज़ेंटेशन देखने और मैनेज करने के लिए अनुमतियों का एक और सेट चाहिए. इन अनुमतियों की समीक्षा करने और इन्हें अनुमति देने के बाद, यह पहले की तरह काम करेगा.
  2. अब आपको बनाई गई स्प्रेडशीट के साथ-साथ, तीन स्लाइड (टाइटल, डेटा टेबल, डेटा चार्ट) वाला नया Slides प्रज़ेंटेशन भी मिलेगा. यह प्रज़ेंटेशन यहां दिखाया गया है:

f6896f22cc3cd50d.png59960803e62f7c69.png5549f0ea81514360.png

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 के डेवलपर टूल को प्रोग्राम के हिसाब से ऐक्सेस करने के अन्य तरीके जानने के लिए, यहां कुछ और संसाधन दिए गए हैं.

इस ऐप्लिकेशन के लिए संसाधन

दस्तावेज़

वीडियो

खबरें और अपडेट

अन्य कोडलैब

आसान लेवल

इंटरमीडिएट लेवल

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 वगैरह के साथ-साथ अन्य ऐडवांस सेवाएं. ज़्यादा जानकारी के लिए, बिल्ट-इन और ऐडवांस, दोनों तरह की सेवाओं के लिए रेफ़रंस की खास जानकारी पर जाएं.