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() };
}