Class DataViewDefinitionBuilder

DataViewDefinitionBuilder

DataViewDefinition ऑब्जेक्ट के लिए बिल्डर.

यहां बिल्डर को इस्तेमाल करने का उदाहरण दिया गया है. डेटा Google स्प्रेडशीट से इंपोर्ट किया जाता है.

function doGet() {
  // This example creates two table charts side by side. One uses a data view definition to
  // restrict the number of displayed columns.

  // Get sample data from a spreadsheet.
  var dataSourceUrl = 'https://docs.google.com/spreadsheet/tq?range=A1%3AF' +
      '&key=0Aq4s9w_HxMs7dHpfX05JdmVSb1FpT21sbXd4NVE3UEE&gid=4&headers=-1';

  // Create a chart to display all of the data.
  var originalChart = Charts.newTableChart()
      .setDimensions(600, 500)
      .setDataSourceUrl(dataSourceUrl)
      .build();

  // Create another chart to display a subset of the data (only columns 1 and 4).
  var dataViewDefinition = Charts.newDataViewDefinition().setColumns([0, 3]);
  var limitedChart = Charts.newTableChart()
      .setDimensions(200, 500)
      .setDataSourceUrl(dataSourceUrl)
      .setDataViewDefinition(dataViewDefinition)
      .build();

  var htmlOutput = HtmlService.createHtmlOutput();
  var originalChartData = Utilities.base64Encode(originalChart.getAs('image/png').getBytes());
  var originalChartUrl = "data:image/png;base64," + encodeURI(originalChartData);
  var limitedChartData = Utilities.base64Encode(limitedChart.getAs('image/png').getBytes());
  var limitedChartUrl = "data:image/png;base64," + encodeURI(limitedChartData);
  htmlOutput.append("<table><tr><td>");
  htmlOutput.append("<img border=\"1\" src=\"" + originalChartUrl + "\">");
  htmlOutput.append("</td><td>");
  htmlOutput.append("<img border=\"1\" src=\"" + limitedChartUrl + "\">");
  htmlOutput.append("</td></tr></table>");
  return htmlOutput;
}

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
build()DataViewDefinitionयह फ़ंक्शन, इस बिल्डर का इस्तेमाल करके बनाए गए डेटा व्यू डेफ़िनिशन ऑब्जेक्ट को बनाता है और दिखाता है.
setColumns(columns)DataViewDefinitionBuilderडेटा व्यू में शामिल करने के लिए कॉलम के इंडेक्स सेट करता है और साथ ही रोल-कॉलम की जानकारी तय करता है.

ज़्यादा जानकारी के साथ दस्तावेज़

build()

यह फ़ंक्शन, इस बिल्डर का इस्तेमाल करके बनाए गए डेटा व्यू डेफ़िनिशन ऑब्जेक्ट को बनाता है और दिखाता है.

रिटर्न

DataViewDefinition — इस बिल्डर का इस्तेमाल करके बनाया गया, डेटा व्यू डेफ़िनिशन ऑब्जेक्ट.


setColumns(columns)

डेटा व्यू में शामिल करने के लिए कॉलम के इंडेक्स सेट करता है और साथ ही रोल-कॉलम की जानकारी तय करता है. कॉलम इंडेक्स का यह सबसेट, डेटा सोर्स के उन कॉलम को दिखाता है जिनसे डेटा व्यू मिलता है.

कॉलम की भूमिका से उस कॉलम में मौजूद डेटा के मकसद के बारे में पता चलता है: उदाहरण के लिए, हो सकता है कि कॉलम में टूलटिप टेक्स्ट, डेटा पॉइंट एनोटेशन या अनिश्चितता के इंडिकेटर का ब्यौरा देने वाला डेटा हो. ज़्यादा जानकारी के लिए, Google चार्ट दस्तावेज़ में Datatable की भूमिकाएं देखें.

मान लें कि एक स्प्रेडशीट में नीचे दिया गया डेटा A1:C3 में है:

"abc", 20, "blue"
"def", 30, "red"
"ghi", 40, "orange"
नीचे दिया गया कोड एक बार चार्ट बनाता है, जिसमें हर बार का रंग अलग होता है. रंग एक स्टाइल "भूमिका कॉलम" के ज़रिए असाइन किए जाते हैं.
var COLUMN_SPEC = [
  0, // categories
  1, // counts
  {sourceColumn: 2, role: 'style'}
];

function roleColumnChart() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getActiveSheet();
  var viewSpec = Charts.newDataViewDefinition()
      .setColumns(COLUMN_SPEC)
      .build();
  var chartBuilder = sheet.newChart()
      .setChartType(Charts.ChartType.BAR)
      .setDataViewDefinition(viewSpec)
      .setOption('useFirstColumnAsDomain', true)
      .setPosition(5, 1, 0, 0)
      .setOption('hAxis', { title: 'Counts' })
      .setOption('vAxis', { title: 'Categories' })
      .addRange(sheet.getRange('A1:C3'));
  sheet.insertChart(chartBuilder.build());
};

पैरामीटर

नामTypeब्यौरा
columnsObject[]डेटा व्यू में शामिल करने के लिए, कॉलम इंडेक्स या कॉलम के ब्यौरे (कोई ऑब्जेक्ट) की कैटगरी. कॉलम की जानकारी से, कॉलम की भूमिका तय की जाती है. डेटा टेबल और डेटा व्यू कॉलम के लिए, गिनती शून्य पर आधारित होती है.

रिटर्न

DataViewDefinitionBuilder — यह बिल्डर, चेन बनाने के लिए काम का है.