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