Properti kolom formula dapat digunakan untuk menambahkan kolom kalkulasi ke
skema konektor.
Daftar lengkap {i>function<i} yang didukung dalam formula dapat ditemukan di Daftar Fungsi. Selain itu, ada dokumentasi lebih lanjut untuk:
Saat merujuk ke ID kolom lain dalam formula, awali kolom tersebut dengan $. Sebagai
misalnya, jika kolom ID adalah t_celsius, kolom tersebut harus disebut sebagai
$t_celsius dalam formula.
Type untuk kolom kalkulasi
Type didukung untuk kolom kalkulasi, tetapi output formula harus
cocok dengan format yang diharapkan untuk Type tersebut.
Misalnya, untuk formula:
"HYPERLINK($url, $description)"
Type harus HYPERLINK.
aggregation untuk kolom kalkulasi
Jika formula Anda melibatkan agregasi, aggregation harus ditetapkan ke
AUTO. Periksa kolom type di Daftar Fungsi untuk melihat apakah suatu fungsi
menampilkan agregasi. Jika formula Anda tidak melibatkan agregasi, tentukan
ke NONE.
| Formula | aggregation |
|---|---|
"SUM($cost) / SUM($units)" |
AUTO |
"$cost + $units" |
NONE |
Contoh kolom kalkulasi dalam skema
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() };
}