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());
};

參數

名稱類型說明
columnsObject[]要加進資料檢視的資料欄索引或資料欄說明 (物件) 陣列。資料欄說明會定義資料欄角色。資料表和資料檢視欄的列舉以零為基準。

回攻員

DataViewDefinitionBuilder — 這個建構工具適用於鏈結。