การใช้ช่องที่คำนวณแล้วในสคีมา

พร็อพเพอร์ตี้ช่อง 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() };
}