Menggunakan kolom kalkulasi dalam skema

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