يمكن استخدام خاصية الحقل 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() };
}