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