A propriedade de campo formula
pode ser usada para adicionar campos calculados ao seu
no esquema do conector.
A relação completa de funções compatíveis com as fórmulas fica na lista de funções. Também disponibilizamos outras documentações para:
.Ao fazer referência ao ID
de outro campo em uma fórmula, use o caractere $
como prefixo. Para
Por exemplo, se o campo ID
for t_celsius
, ele será chamado de
$t_celsius
na fórmula.
Type
em campos calculados
Type
é compatível com campos calculados, mas o resultado da fórmula precisa
corresponder ao formato esperado para essa Type
.
Por exemplo, na fórmula:
"HYPERLINK($url, $description)"
Type
precisa ser HYPERLINK
.
aggregation
em campos calculados
Caso sua fórmula envolva uma agregação, o aggregation
precisa ser definido como
AUTO
. Verifique a coluna type
na lista de funções para ver se uma função
retorna uma agregação. Caso sua fórmula não envolva uma agregação, defina-a
para NONE
.
Fórmula | aggregation |
---|---|
"SUM($cost) / SUM($units)" |
AUTO |
"$cost + $units" |
NONE |
Exemplos de campos calculados no esquema
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() };
}