스키마의 계산된 필드 사용

formula 필드 속성을 사용하여 커넥터 스키마에 계산된 필드를 추가할 수 있습니다.

수식에서 지원되는 전체 함수 목록은 함수 목록에서 확인할 수 있습니다. 또한 다음에 관한 추가 문서가 있습니다.

수식에서 다른 필드의 ID를 참조할 때는 앞에 $을 붙입니다. 예를 들어 ID 필드가 t_celsius이면 수식에서 $t_celsius로 참조해야 합니다.

계산된 필드의 경우 Type

Type는 계산된 필드에서 지원되지만 수식의 출력은 해당 Type의 예상 형식과 일치해야 합니다.

예를 들어 수식의 경우 다음과 같습니다.

"HYPERLINK($url, $description)"

TypeHYPERLINK여야 합니다.

계산된 필드의 경우 aggregation

수식에 집계가 포함된 경우 aggregationAUTO로 설정해야 합니다. 함수가 집계를 반환하는지 알아보려면 함수 목록에서 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() };
}