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ể tìm thấy 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, chúng tôi cũng có tài liệu khác về:

Khi tham chiếu đến ID của một trường khác trong một công thức, hãy thêm tiền tố $ vào trường đó. Cho ví dụ: nếu trường ID của bạn là t_celsius, trường đó sẽ được tham chiếu 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 dữ liệu tổng hợp, bạn nên đặt aggregation thành AUTO Kiểm tra cột type trong Danh sách hàm để xem một hàm trả về một giá trị tổng hợp. Nếu công thức của bạn không liên quan đến dữ liệu tổng hợp, hãy đặt giá trị tổng hợp đó 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() };
}