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

Methoden

MethodeRückgabetypKurzbeschreibung
build()DataViewDefinitionErstellt das Definitionsobjekt der Datenansicht, das mit diesem Builder erstellt wurde, und gibt es zurück.
setColumns(columns)DataViewDefinitionBuilderLegt die Indexe der Spalten fest, die in die Datenansicht aufgenommen werden sollen, und die Angabe von Rollenspalteninformationen.

Detaillierte Dokumentation

build()

Erstellt das Definitionsobjekt der Datenansicht, das mit diesem Builder erstellt wurde, und gibt es zurück.

Return

DataViewDefinition: Ein Definitionsobjekt für die Datenansicht, das mit diesem Builder erstellt wurde.


setColumns(columns)

Legt die Indexe der Spalten fest, die in die Datenansicht aufgenommen werden sollen, und die Angabe von Rollenspalteninformationen. Diese Teilmenge von Spaltenindexen bezieht sich auf die Spalten der Datenquelle, aus der die Datenansicht abgeleitet wird.

Eine Spaltenrolle beschreibt den Zweck der Daten in dieser Spalte. Beispielsweise kann eine Spalte Daten enthalten, die Kurzinfotext, Datenpunktanmerkungen oder Unsicherheitsindikatoren beschreiben. Weitere Informationen finden Sie unter DataTable-Rollen in der Google Charts-Dokumentation.

Angenommen, eine Tabellenkalkulation 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 Stil-"Rollenspalte" zugewiesen.
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());
};

Parameter

NameTypBeschreibung
columnsObject[]Ein Array von Spaltenindexen oder Spaltenbeschreibungen (ein Objekt), die in der Datenansicht enthalten sein sollen. Die Spaltenbeschreibungen definieren eine Spaltenrolle. Die Datentabelle und die Aufzählung für Datenansichtsspalten basieren auf null.

Return

DataViewDefinitionBuilder: Dieser Builder wird für Verkettungen verwendet.