Menggunakan kolom kalkulasi dalam skema

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() };
}