از ویژگی فیلد 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() };
}