Class DataViewDefinitionBuilder

DataViewDefinitionBuilder

Builder für DataViewDefinition-Objekte.

Hier ein Beispiel für die Verwendung des Builders: Die Daten werden aus einer Google-Tabelle importiert.

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

Methoden

MethodeRückgabetypKurzbeschreibung
build()DataViewDefinitionErstellt und gibt das Datenansichtsdefinition-Objekt zurück, das mit diesem Builder erstellt wurde.
setColumns(columns)DataViewDefinitionBuilderHier legen Sie die Indizes der Spalten fest, die in die Datenansicht aufgenommen werden sollen, und geben Informationen zu Rollenspalten an.

Detaillierte Dokumentation

build()

Erstellt und gibt das Datenansichtsdefinition-Objekt zurück, das mit diesem Builder erstellt wurde.

Rückflug

DataViewDefinition: Ein Datenansichtsdefinition-Objekt, das mit diesem Builder erstellt wurde.


setColumns(columns)

Hier legen Sie die Indizes der Spalten fest, die in die Datenansicht aufgenommen werden sollen, und geben Informationen zu Rollenspalten an. Diese Teilmenge der Spaltenindexe bezieht sich auf die Spalten der Datenquelle, aus der die Datenansicht abgeleitet wird.

Eine Spaltenrolle beschreibt den Zweck der Daten in dieser Spalte. Eine Spalte kann beispielsweise Daten enthalten, die Kurzinfotext, Anmerkungen zu Datenpunkten oder Unsicherheitsmesswerte beschreiben. Weitere Informationen finden Sie in der Google Tabellen-Dokumentation unter DatenTabellenrollen.

Angenommen, in A1:C3 einer Tabelle befinden sich die folgenden Daten:

'abc', 20, 'blue';
'def', 30, 'red';
'ghi', 40, 'orange';
Mit dem folgenden Code wird ein Balkendiagramm erstellt, bei dem jeder Balken eine andere Farbe hat. Die Farben werden über eine Stilspalte für die Rolle zugewiesen.
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());
}

Parameter

NameTypBeschreibung
columnsObject[]Ein Array von Spaltenindexen oder Spaltenbeschreibungen (ein Objekt), das in die Datenansicht eingefügt werden soll. Die Spaltenbeschreibungen definieren eine Spaltenrolle. Die Datentabelle und die Aufzählung der Spalten der Datenansicht beginnen bei null.

Rückflug

DataViewDefinitionBuilder – Dieser Builder eignet sich für die Verkettung.