スキーマでの計算フィールドの使用

formula フィールド プロパティを使用すると、計算フィールドを コネクタのスキーマです

数式でサポートされている関数については、関数のリストをご覧ください。以下のリンクでは、各関数の詳しい説明をご覧いただけます。

で確認できます。

数式内で別のフィールドの ID を参照する場合は、名前の前に $ を付けてください。対象 たとえば、フィールド IDt_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() };
}