Mit der Feldeigenschaft formula
können Sie dem Schema Ihres Connectors berechnete Felder hinzufügen.
Die vollständige Liste der Funktionen, die in Formeln unterstützt werden, finden Sie in der Funktionsliste. Außerdem gibt es weitere Dokumentationen zu folgenden Themen:
Wenn Sie in einer Formel auf das ID
eines anderen Felds verweisen, stellen Sie ihm ein $
voran. Wenn das Feld ID
beispielsweise t_celsius
ist, sollte es in der Formel als $t_celsius
bezeichnet werden.
Type
für berechnete Felder
Type
wird für berechnete Felder unterstützt, aber die Ausgabe der Formel muss dem erwarteten Format für diese Type
entsprechen.
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
festgelegt werden. Prüfen Sie die Spalte type
in der Funktionsliste, um zu sehen, ob eine Funktion eine Aggregation zurückgibt. Wenn Ihre Formel keine Aggregation enthält, legen Sie dafür NONE
fest.
Formel | aggregation |
---|---|
"SUM($cost) / SUM($units)" |
AUTO |
"$cost + $units" |
NONE |
Beispiele für berechnete Felder im Schema
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() };
}