La propriété de champ formula
permet d'ajouter des champs calculés à votre
schéma du connecteur.
La liste complète des fonctions prises en charge dans les formules est disponible à l’adresse Liste des fonctions. Vous trouverez également d'autres documents sur les sujets suivants:
Lorsque vous faites référence au ID
d'un autre champ dans une formule, ajoutez le préfixe $
. Pour
Par exemple, si votre champ ID
est t_celsius
, il doit être désigné comme suit :
$t_celsius
dans la formule.
Type
pour les champs calculés
La fonction Type
est compatible avec les champs calculés, mais le résultat de la formule doit
au format attendu pour ce Type
.
Par exemple, pour la formule:
"HYPERLINK($url, $description)"
L'état Type
doit être défini sur HYPERLINK
.
aggregation
pour les champs calculés
Si votre formule implique une agrégation, aggregation
doit être défini sur
AUTO
Consultez la colonne type
dans la liste des fonctions pour voir si une fonction
renvoie une agrégation. Si votre formule n'implique pas d'agrégation, définissez-la
à NONE
.
Formule | aggregation |
---|---|
"SUM($cost) / SUM($units)" |
AUTO |
"$cost + $units" |
NONE |
Exemples de champs calculés dans un schéma
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() };
}