Za pomocą właściwości pola formula
możesz dodawać pola obliczeniowe do
schemat oprogramowania sprzęgającego.
Pełną listę funkcji, które są obsługiwane w formułach, znajdziesz na stronie Lista funkcji. Ponadto udostępniamy dokumentację dotyczącą:
.Gdy odwołujesz się w formule do elementu ID
z innego pola, poprzedź go ciągiem $
. Dla:
Jeśli na przykład pole ID
to t_celsius
, powinno ono mieć nazwę
$t_celsius
w formule.
Type
w polach obliczeniowych
Pole Type
jest obsługiwane w polach obliczeniowych, ale wynik formuły musi:
ma format zgodny z oczekiwanym formatem dla tego elementu (Type
).
Na przykład w przypadku formuły:
"HYPERLINK($url, $description)"
Wartość Type
powinna być wartością HYPERLINK
.
aggregation
w polach obliczeniowych
Jeśli formuła obejmuje agregację, pole aggregation
powinno mieć wartość
AUTO
Sprawdź kolumnę type
na liście funkcji, aby zobaczyć, czy funkcja
zwraca agregację. Jeśli formuła nie obejmuje agregacji, ustaw ją
do NONE
.
Formuła | aggregation |
---|---|
"SUM($cost) / SUM($units)" |
AUTO |
"$cost + $units" |
NONE |
Przykłady pól obliczeniowych w schemacie
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() };
}