Class DataViewDefinitionBuilder

DataViewDefinitionBuilder

Compilador para objetos DataViewDefinition.

A continuación, se muestra un ejemplo del uso del compilador. Los datos se importan de una hoja de cálculo de 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.
  const 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.
  const originalChart = Charts.newTableChart()
                            .setDimensions(600, 500)
                            .setDataSourceUrl(dataSourceUrl)
                            .build();

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

  const htmlOutput = HtmlService.createHtmlOutput();
  const originalChartData = Utilities.base64Encode(
      originalChart.getAs('image/png').getBytes(),
  );
  const originalChartUrl =
      `data:image/png;base64,${encodeURI(originalChartData)}`;
  const limitedChartData = Utilities.base64Encode(
      limitedChart.getAs('image/png').getBytes(),
  );
  const 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 datos que se devuelveDescripción breve
build()DataViewDefinitionCompila y devuelve el objeto de definición de vista de datos que se compiló con este compilador.
setColumns(columns)DataViewDefinitionBuilderEstablece los índices de las columnas que se incluirán en la vista de datos y especifica la información de la columna de función.

Documentación detallada

build()

Compila y devuelve el objeto de definición de vista de datos que se compiló con este compilador.

Volver

DataViewDefinition: Un objeto de definición de vista de datos que se compiló con este compilador.


setColumns(columns)

Establece los índices de las columnas que se incluirán en la vista de datos y especifica la información de la columna de función. Este subconjunto de índices de columna hace referencia a las columnas de la fuente de datos de la que se deriva la vista de datos.

Una función de columna describe el propósito de los datos en esa columna. Por ejemplo, una columna puede contener datos que describan el texto de la información sobre la herramienta, las anotaciones de puntos de datos o los indicadores de incertidumbre. Para obtener más detalles, consulta Funciones de DataTable en la documentación de Google Charts.

Si suponemos que hay una hoja de cálculo con los siguientes datos en A1:C3:

'abc', 20, 'blue';
'def', 30, 'red';
'ghi', 40, 'orange';
El siguiente código crea un gráfico de barras en el que cada barra tiene un color diferente. Los colores se asignan a través de una "columna de función" de estilo.
const COLUMN_SPEC = [
  0,  // categories
  1,  // counts
  {sourceColumn: 2, role: 'style'},
];

function roleColumnChart() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = spreadsheet.getActiveSheet();
  const viewSpec =
      Charts.newDataViewDefinition().setColumns(COLUMN_SPEC).build();
  const 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

NombreTipoDescripción
columnsObject[]Es un array de índices de columna o descripciones de columna (un objeto) que se incluirán en la vista de datos. Las descripciones de columna definen una función de columna. La tabla de datos y la enumeración para las columnas de la vista de datos se basan en cero.

Volver

DataViewDefinitionBuilder: Este compilador, útil para encadenar.