Class DataViewDefinitionBuilder

DataViewDefinitionBuilder

Builder für DataViewDefinition-Objekte.

Hier sehen Sie 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 Datenansichtsdefinitionsobjekt zurück, das mit diesem Builder erstellt wurde.
setColumns(columns)DataViewDefinitionBuilderLegt die Indexe der Spalten fest, die in der Datenansicht enthalten sein sollen, und gibt Informationen zu Rollenspalten an.

Detaillierte Dokumentation

build()

Erstellt und gibt das Datenansichtsdefinitionsobjekt zurück, das mit diesem Builder erstellt wurde.

Rückflug

DataViewDefinition: Ein Objekt zur Definition einer Datenansicht, das mit diesem Builder erstellt wurde.


setColumns(columns)

Legt die Indexe der Spalten fest, die in der Datenansicht enthalten sein sollen, und gibt Informationen zu Rollenspalten an. Diese Teilmenge von Spaltenindexen bezieht sich auf die Spalten der Datenquelle, aus der die Datenansicht abgeleitet wird.

Mit einer Spaltenrolle wird der Zweck der Daten in der Spalte beschrieben. Eine Spalte kann beispielsweise Daten für Kurzinfo-Text, Anmerkungen für Datenpunkte oder Unsicherheitsindikatoren enthalten. Weitere Informationen finden Sie in der Google Charts-Dokumentation unter DataTable-Rollen.

Angenommen, Sie haben eine Tabelle mit den folgenden Daten in A1:C3:

'abc', 20, 'blue';
'def', 30, 'red';
'ghi', 40, 'orange';
Mit dem folgenden Code wird ein Balkendiagramm erstellt, in dem jeder Balken eine andere Farbe hat. Die Farben werden über eine „Rolle“-Spalte für den Stil 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 mit Spaltenindexen oder Spaltenbeschreibungen (ein Objekt), die in die Datenansicht aufgenommen werden sollen. Mit den Spaltenbeschreibungen wird eine Spaltenrolle definiert. Die Datentabelle und die Aufzählung für Spalten der Datenansicht sind nullbasiert.

Rückflug

DataViewDefinitionBuilder – Dieser Builder, nützlich für die Verkettung.