Sử dụng các trường đã tính trong giản đồ

Bạn có thể sử dụng thuộc tính trường formula để thêm các trường đã tính vào giản đồ của trình kết nối.

Bạn có thể xem danh sách đầy đủ các hàm được hỗ trợ trong công thức tại Danh sách hàm. Ngoài ra, còn có các tài liệu khác về:

Khi tham chiếu đến ID của một trường khác trong công thức, hãy thêm tiền tố $ vào trường đó. Ví dụ: nếu trường ID của bạn là t_celsius, thì trường đó phải được gọi là $t_celsius trong công thức.

Type cho các trường đã tính

Type được hỗ trợ cho các trường đã tính, nhưng kết quả của công thức phải khớp với định dạng dự kiến cho Type đó.

Ví dụ: đối với công thức:

"HYPERLINK($url, $description)"

Type phải là HYPERLINK.

aggregation cho các trường đã tính

Nếu công thức của bạn có liên quan đến quá trình tổng hợp, bạn phải đặt aggregation thành AUTO. Kiểm tra cột type trong Danh sách hàm để xem một hàm có trả về một giá trị tổng hợp hay không. Nếu công thức của bạn không liên quan đến quá trình tổng hợp, hãy đặt thành NONE.

Công thức aggregation
"SUM($cost) / SUM($units)" AUTO
"$cost + $units" NONE

Ví dụ về các trường đã tính trong giản đồ

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