Şemada hesaplanan alanları kullanma

formula alanı özelliği, bağlayıcınızın şemasına hesaplanan alanlar eklemek için kullanılabilir.

Formüllerde desteklenen işlevlerin tam listesini İşlev Listesi'nde bulabilirsiniz. Ayrıca, aşağıdakilerle ilgili başka dokümanlar da vardır:

Bir formülde başka bir alanın ID öğesine başvuruda bulunurken başına $ koyun. Örneğin, ID alanınız t_celsius ise formülde $t_celsius olarak belirtilmesi gerekir.

Hesaplanan alanlar için Type

Type, hesaplanan alanlar için desteklenir ancak formülün çıktısı, bu Type için beklenen biçimle eşleşmelidir.

Örneğin, formül için:

"HYPERLINK($url, $description)"

Type, HYPERLINK olmalıdır.

Hesaplanan alanlar için aggregation

Formülünüz bir toplama içeriyorsa aggregation, AUTO olarak ayarlanmalıdır. Bir işlevin toplama döndürüp döndürmediğini görmek için İşlev Listesi'ndeki type sütununu kontrol edin. Formülünüz toplama içermiyorsa NONE olarak ayarlayın.

Formül aggregation
"SUM($cost) / SUM($units)" AUTO
"$cost + $units" NONE

Şemadaki hesaplanan alan örnekleri

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