אפשר להשתמש במאפיין השדה 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() };
}