Class DataViewDefinitionBuilder

DataViewDefinitionBuilder

Builder para objetos DataViewDefinition.

Veja um exemplo de como usar o builder. Os dados são importados de uma planilha do 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;
}

Métodos

MétodoTipo de retornoBreve descrição
build()DataViewDefinitionCria e retorna o objeto de definição de visualização de dados que foi criado usando esse builder.
setColumns(columns)DataViewDefinitionBuilderDefine os índices das colunas a serem incluídas na visualização de dados, além de especificar informações da coluna de papéis.

Documentação detalhada

build()

Cria e retorna o objeto de definição de visualização de dados que foi criado usando esse builder.

Retorno

DataViewDefinition: um objeto de definição de visualização de dados que foi criado usando o builder.


setColumns(columns)

Define os índices das colunas a serem incluídas na visualização de dados, além de especificar informações da coluna de papéis. Esse subconjunto de índices de coluna se refere às colunas da fonte de dados da qual a visualização de dados é derivada.

Uma função de coluna descreve a finalidade dos dados nela: por exemplo, uma coluna pode conter dados que descrevem o texto da dica, anotações de pontos de dados ou indicadores de incerteza. Para mais detalhes, consulte Papéis do DataTable na documentação do Google Gráficos.

Presumindo uma planilha com os seguintes dados em A1:C3:

"abc", 20, "blue"
"def", 30, "red"
"ghi", 40, "orange"
O código a seguir cria um gráfico de barras em que cada barra tem uma cor diferente. As cores são atribuídas por meio de uma "coluna de papéis" de estilo.
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());
};

Parâmetros

NomeTipoDescrição
columnsObject[]Uma matriz de índices ou descrições de coluna (um objeto) para incluir na visualização de dados. As descrições definem um papel na coluna. A tabela de dados e a enumeração das colunas de visualização de dados são baseadas em zero.

Retorno

DataViewDefinitionBuilder: builder, útil para encadeamento.