Properti kolom formula
dapat digunakan untuk menambahkan kolom kalkulasi ke skema konektor Anda.
Daftar lengkap fungsi 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 dengan $
. Misalnya, jika kolom ID
Anda 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
dalam Function List untuk melihat apakah fungsi menampilkan agregasi. Jika formula Anda tidak melibatkan agregasi, tetapkan
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() };
}