स्कीमा में आपके दिए गए फ़ॉर्मूला के आधार पर तैयार किए गए फ़ील्ड का इस्तेमाल करना

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