formula
欄位屬性可用來將計算過的欄位新增至連接器的結構定義。
如要查看公式支援的函式完整清單,請參閱函式清單。此外,您還可以參考以下其他文件:
如要在公式中參照其他欄位的 ID
,請在該欄位前面加上 $
。舉例來說,如果欄位 ID
是 t_celsius
,則應在公式中稱為 $t_celsius
。
Type
:計算結果欄位
計算結果欄位支援 Type
,但公式的輸出結果必須符合該 Type
的預期格式。
以下列公式為例:
"HYPERLINK($url, $description)"
Type
應為 HYPERLINK
。
aggregation
:計算結果欄位
如果您的公式包含匯總,aggregation
應設為 AUTO
。查看函式清單中的 type
欄,瞭解函式是否傳回匯總。如果您的公式不含匯總,請設為 NONE
。
公式 | aggregation |
---|---|
"SUM($cost) / SUM($units)" |
AUTO |
"$cost + $units" |
NONE |
結構定義中的計算結果欄位範例
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() };
}