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

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