Berechnete Felder im Schema verwenden

Mit der Feldeigenschaft formula können Sie berechnete Felder zu Ihrem des Connector-Schemas.

Die vollständige Liste der Funktionen, die in Formeln unterstützt werden, finden Sie unter Funktionsliste. Außerdem finden Sie hier weitere Informationen zu folgenden Themen:

Wenn in einer Formel auf das ID eines anderen Felds verwiesen wird, müssen Sie ihm $ voranstellen. Für Wenn das Feld ID beispielsweise t_celsius ist, sollte es so bezeichnet werden: $t_celsius in die Formel ein.

Type für berechnete Felder

Type wird für berechnete Felder unterstützt, die Ausgabe der Formel muss jedoch aktiviert sein. müssen mit dem erwarteten Format für Type übereinstimmen.

Zum Beispiel für die Formel:

"HYPERLINK($url, $description)"

Der Type sollte HYPERLINK lauten.

aggregation für berechnete Felder

Wenn Ihre Formel eine Aggregation enthält, sollte aggregation auf AUTO. Sehen Sie in der Funktionsliste in der Spalte type nach, ob eine Funktion gibt eine Aggregation zurück. Wenn Ihre Formel keine Aggregation enthält, legen Sie diese fest. an NONE.

Formel aggregation
"SUM($cost) / SUM($units)" AUTO
"$cost + $units" NONE

Beispiele für berechnete Felder in Schemas

function getSchema(request) {
  var cc = DataStudioApp.createCommunityConnector();
  var fields = cc.getFields();
  var types = cc.FieldType;
  var aggregations = cc.AggregationType;

  fields.newDimension()
      .setId('date')
      .setName('Date')
      .setDescription('Date of measurement')
      .setType(types.YEAR_MONTH_DAY);

  fields.newMetric()
      .setId('t_celsius')
      .setName('Temperature (Celsius)')
      .setDescription('Temperature in Celsius')
      .setType(types.NUMBER)
      .setAggregation(aggregations.NONE);

  fields.newMetric()
      .setId('t_fahrenheit')
      .setName('Temperature (Fahrenheit)')
      .setDescription('Temperature in Fahrenheit')
      .setFormula('$t_celsius / 5 * 9 + 32')
      .setType(types.NUMBER)
      .setAggregation(aggregations.NONE);

  fields.newMetric()
      .setId('average_temperature (Celsius)')
      .setName('Average Temperature (Celsius)')
      .setDescription('Temperature in Fahrenheit')
      .setFormula('AVG($t_celsius)')
      .setType(types.NUMBER)
      .setAggregation(aggregations.AUTO);

  fields.newMetric()
      .setId('average_temperature (Celsius)')
      .setName('Average Temperature (Celsius)')
      .setDescription('Temperature in Fahrenheit')
      .setFormula('AVG($t_celsius / 5 * 9 + 32)')
      .setType(types.NUMBER)
      .setAggregation(aggregations.AUTO);

  fields.newDimension()
      .setId('feels_like')
      .setName('Feels Like')
      .setDescription('What it feels like outside.')
      .setFormula('CASE WHEN $t_celsius < 0 THEN "Freezing" WHEN $t_celsius > 40 THEN "Too warm" ELSE "Not bad" END')
      .setType(types.TEXT);

  return { 'schema': fields.build() };
}