Looker Studio के कम्यूनिटी कॉम्पोनेंट (dscc) की लाइब्रेरी का रेफ़रंस

एपीआई की खास जानकारी

dscc (Looker Studio का कम्यूनिटी कॉम्पोनेंट), एक लाइब्रेरी है. यह Looker Studio के लिए कम्यूनिटी कॉम्पोनेंट बनाने में मदद करती है. सोर्स कोड, GitHub पर मिल सकता है.

dscc तीन फ़ंक्शन दिखाता है: getWidth(), getHeight(), और subscribeToData().

getWidth()

नाम पैरामीटर रिटर्न टाइप ब्यौरा
getWidth() कभी नहीं number iframe की चौड़ाई दिखाता है, पिक्सल में

getWidth() का इस्तेमाल करना

// to get the width of the iframe
var width = dscc.getWidth();

getHeight()

नाम पैरामीटर रिटर्न टाइप ब्यौरा
getHeight() कभी नहीं int पिक्सल में iframe की ऊंचाई दिखाता है

getHeight() का इस्तेमाल करना

// to get the height of the iframe
var height = dscc.getHeight();

sendInteraction()

sendInteraction() फ़ंक्शन, फ़िल्टर के लिए डेटा के साथ Looker Studio को एक मैसेज भेजता है.

पैरामीटर:

नाम Type ब्यौरा
actionID string ऐसी स्ट्रिंग जो कॉन्फ़िगरेशन में मौजूद actionId से मेल खाती है
इंटरैक्शन enum(InteractionType) यह Looker Studio को उपयोगकर्ता के साथ हुई बातचीत
डेटा object(InteractionData) इसकी मदद से, इंटरैक्शन के लिए ज़रूरी डेटा

InteractionType

फ़िलहाल, सिर्फ़ FILTER ही InteractionType मान्य है.

नाम Type ब्यौरा
dscc.InteractionType.FILTER Enum FILTER इंटरैक्शन के बारे में जानकारी देता है

sendInteraction का इस्तेमाल करना


// the actionID can either be hardcoded or parsed from the returned data
var actionId = "interactionConfigId";

// dscc provides enums for the interaction types
var FILTER = dscc.InteractionType.FILTER;

var fieldID = "qt_m9dtntutsb";
var dataValue = "Asia";

// sendInteraction expects data that tells you the concepts and the values of
// those concepts to use in constructing a filter.
var interactionData = {
  "concepts": [fieldId],
  "values": [[dataValue]]
}

dscc.sendInteraction(actionId, FILTER, interactionData);

interactionData

var interactionData = {
  "concepts": array(fieldId),
  "values": array(array(dataValue))
}
फ़ील्ड Type ब्यौरा
कॉन्सेप्ट Array fieldIds की कैटगरी
वैल्यू Array<Array> डेटा वैल्यू का नेस्ट किया गया कलेक्शन. हर सबअरे, concepts कलेक्शन की लंबाई होनी चाहिए. सबअरे की हर वैल्यू, एक डाइमेंशन वैल्यू से मेल खाती है.

नमूना interactionData:

var interactionData = {
  "concepts": ["dim1Id", "dim2Id"],
  "values": [
    ["dim1Val1", "dim2Val1"],
    ["dim1Val2", "dim2Val2"]
    ]
}

ऊपर दिए गए interactionData के साथ dscc.sendInteraction का इस्तेमाल करना, इस SQL स्टेटमेंट के बराबर है:

SELECT data WHERE
  (dim1 == dim1Val1 AND dim2 == dim2Val1)
  OR
  (dim1 == dim1Val2 AND dim2 == dim2Val2);

clearInteraction()

clearInteraction() फ़ंक्शन, इस विज़ुअलाइज़ेशन से पहले सेट किए गए फ़िल्टर को हटाने के लिए Looker Studio को एक मैसेज भेजता है.

पैरामीटर:

नाम Type ब्यौरा
actionID string ऐसी स्ट्रिंग जो कॉन्फ़िगरेशन में मौजूद actionId से जुड़ी है
इंटरैक्शन enum(InteractionType) यह Looker Studio को इंटरैक्शन के बारे में बताता है.

clearInteraction() का इस्तेमाल करना


// the actionID can either be hardcoded or parsed from the returned data
var actionId = "interactionConfigId";

// dscc provides enums for the interaction types
var FILTER = dscc.InteractionType.FILTER;

dscc.clearInteraction(actionId, FILTER);

subscribeToData(callback, options)

subscribeToData() फ़ंक्शन, Looker Studio के मैसेज की सदस्यता लेता है.

पैरामीटर:

नाम Type ब्यौरा
कॉलबैक(डेटा) function एक ऐसा फ़ंक्शन जो subscribeToData से मिला डेटा लेता है.
विकल्प object यह नीति दिखाता है कि आपको डेटा वापस पाने के लिए कौनसा फ़ॉर्मैट चाहिए

विकल्प ऑब्जेक्ट ऐसा दिखता है:

{
  transform: dscc.tableTransform | dscc.objectTransform
}

रिटर्न वैल्यू:

Type ब्यौरा
function Looker Studio के अगले मैसेज पाने के लिए, callback की सदस्यता छोड़ दें

subscribeToData() का इस्तेमाल करना

// define and use a callback
var unsubscribe = dscc.subscribeToData(function(data){
  // console.log the returned data
  console.log(data);
}, {transform: dscc.tableTransform});

// to unsubscribe

unsubscribe();

data

यह ऑब्जेक्ट, dscc.subscribeToData के साथ रजिस्टर किए गए callback को पास किया गया है. ये वे फ़ील्ड हैं जिन्हें dscc.objectFormat और dscc.tableFormat के बीच शेयर किया जाता है.

{
  fields: object(fieldsByConfigId),
  style: object(styleById),
  interactions: object(interactionsById),
  theme: object(themeStyle),
  tables: object(tablesById),
  dateRanges: object(dateRangesById)
}
फ़ील्ड Type ब्यौरा
फ़ील्ड्स object(fieldsByConfigId) ऐसा ऑब्जेक्ट जिसमें फ़ील्ड, उनके कॉन्फ़िगरेशन आईडी से इंडेक्स किए गए होते हैं
शैलीकृत करें object(styleById) ऐसा ऑब्जेक्ट जिसमें स्टाइल ऑब्जेक्ट हों, जिन्हें उनके कॉन्फ़िगरेशन आईडी से इंडेक्स किया गया हो
इंटरैक्शन object(interactionsById) ऐसा ऑब्जेक्ट जिसमें इंटरैक्शन ऑब्जेक्ट होते हैं
थीम themeStyle themeStyle ऑब्जेक्ट जिसमें रिपोर्ट के लिए थीम स्टाइलिंग की जानकारी होती है
टेबल object(tablesById) ऐसा ऑब्जेक्ट जिसमें tableObjects होना चाहिए
dateRanges object(dateRangesById) ऐसा ऑब्जेक्ट जिसमें dateRanges शामिल होती है

fieldsByConfigId

{
   configId: array(field)
}

fieldsByConfigId ऑब्जेक्ट में, फ़ील्ड ऑब्जेक्ट का कलेक्शन होता है. इसे विज़ुअलाइज़ेशन कॉन्फ़िगरेशन में बताए गए "id" के हिसाब से इंडेक्स किया जाता है. कॉन्फ़िगरेशन में बताए गए हर dataField के लिए, इस ऑब्जेक्ट में एक एंट्री है.

फ़ील्ड Type ब्यौरा
configId Array<field> डेटा फ़ील्ड से जुड़े फ़ील्ड का कलेक्शन

फ़ील्ड

{
  id: fieldId,
  name: string,
  description: string,
  type: fieldType,
  concept: enum(conceptType)
}

field ऑब्जेक्ट, उपयोगकर्ता के प्रॉपर्टी पैनल में चुने गए फ़ील्ड के बारे में जानकारी देता है.

फ़ील्ड Type ब्यौरा
id string फ़ील्ड के लिए, Looker Studio से जनरेट किया गया आईडी
नाम string उस फ़ील्ड का नाम जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है
ब्यौरा string फ़ील्ड की जानकारी
टाइप करें enum(fieldType) फ़ील्ड का semanticType
सिद्धान्त enum(conceptType) फ़ील्ड का conceptType

styleById

{
   configId: styleValue
}

styleById ऑब्जेक्ट, स्टाइल की जानकारी देता है. इस जानकारी को विज़ुअलाइज़ेशन कॉन्फ़िगरेशन में बताए गए "आईडी" से इंडेक्स किया गया है.

फ़ील्ड Type ब्यौरा
configId styleValue एक ऑब्जेक्ट, जिसमें स्टाइल वैल्यू और कॉन्फ़िगरेशन से तय की गई डिफ़ॉल्ट स्टाइल वैल्यू होती है

styleValue

{
  value: string | object | bool | number,
  defaultValue: string | object | bool | number
}

styleValue ऑब्जेक्ट, उपयोगकर्ता की चुनी गई स्टाइल वैल्यू और कॉन्फ़िगरेशन में तय की गई डिफ़ॉल्ट वैल्यू, दोनों उपलब्ध कराता है. value और defaultValue का टाइप, स्टाइल एलिमेंट पर निर्भर करता है.

फ़ील्ड Type ब्यौरा
value string OR object OR bool OR number प्रॉपर्टी पैनल में उपयोगकर्ता को चुनने से दिखाए गए स्टाइल एलिमेंट की वैल्यू
defaultValue string OR object OR bool OR number विज़ुअलाइज़ेशन कॉन्फ़िगरेशन में बताए गए स्टाइल एलिमेंट की डिफ़ॉल्ट वैल्यू

interactionsById

{

}

interactionsById ऑब्जेक्ट, इंटरैक्शन का डेटा उपलब्ध कराता है, जिसे interactionId विज़ुअलाइज़ेशन कॉन्फ़िगरेशन से इंडेक्स किया गया हो.

इंडेक्स Type ब्यौरा
configId interaction एक ऑब्जेक्ट, जिसमें किसी इंटरैक्शन से जुड़ा डेटा शामिल होता है.

interactionField

{
  value: object(interactionValue),
  supportedActions: array(InteractionType)
}

interactionField ऑब्जेक्ट में, कॉन्फ़िगरेशन में बताई गई काम करने वाली कार्रवाइयों की सूची होती है. साथ ही, इंटरैक्शन के लिए उपयोगकर्ता की चुनी गई वैल्यू भी होती हैं.

फ़ील्ड Type ब्यौरा
value string OR object OR bool OR number प्रॉपर्टी पैनल में उपयोगकर्ता को चुनने से दिखाए गए स्टाइल एलिमेंट की वैल्यू
supportedActions Array<InteractionType> जैसा कि कॉन्फ़िगरेशन में बताया गया है, इस इंटरैक्शन के ज़रिए काम करने वाली कार्रवाइयां

interactionValue

interactionValue ऑब्जेक्ट, इंटरैक्शन टाइप के लिए उपयोगकर्ता की चुनी गई वैल्यू दिखाता है. अगर data कुंजी मौजूद है, तो InteractionData ऑब्जेक्ट, फ़िल्टर की मौजूदा स्थिति दिखाता है. अगर data कुंजी मौजूद नहीं है, तो इसका मतलब है कि विज़ुअलाइज़ेशन को फ़िलहाल फ़िल्टर के तौर पर कॉन्फ़िगर नहीं किया गया है.

{
  type: enum(InteractionType)
  data: object(interactionData) | None
}
फ़ील्ड Type ब्यौरा
टाइप करें enum(InteractionType) उपयोगकर्ता का चुना गया InteractionType
डेटा object(InteractionData) फ़िल्टर की मौजूदा स्थिति से जुड़ा डेटा. अगर फ़िल्टर फ़िलहाल हटा दिया गया है, तो यह कुंजी मौजूद नहीं है.

थीम

{
  fillColor: {
    color: string,
    opacity: number
  },
  fontColor: {
    color: string,
    opacity: number
  },
  accentFillColor: {
    color: string,
    opacity: number
  },
  accentFontColor: {
    color: string,
    opacity: number
  },
  fontFamily: string,
  accentFontFamily: string,
  increaseColor: {
    color: string,
    opacity: number
  },
  decreaseColor: {
    color: string,
    opacity: number
  },
  gridColor: {
    color: string,
    opacity: number
  },
  seriesColor: [
    {
      color: string,
      opacity: number
    }
  ]
}

themeStyle ऑब्जेक्ट, विज़ुअलाइज़ेशन को रिपोर्ट थीम की जानकारी देता है.

फ़ील्ड Type ब्यौरा
fillColor object {color: string, opacity: number} फ़ॉर्मैट का कोई ऑब्जेक्ट
fontColor object {color: string, opacity: number} फ़ॉर्मैट का कोई ऑब्जेक्ट
accentFillColor object {color: string, opacity: number} फ़ॉर्मैट का कोई ऑब्जेक्ट
accentFontColor object {color: string, opacity: number} फ़ॉर्मैट का कोई ऑब्जेक्ट
fontFamily string फ़ॉन्ट फ़ैमिली की जानकारी देने वाली स्ट्रिंग
accentFontFamily string स्ट्रिंग, जिसमें ऐक्सेंट के फ़ॉन्ट फ़ैमिली के बारे में बताया गया है.
increaseColor object {color: string, opacity: number} फ़ॉर्मैट का कोई ऑब्जेक्ट
decreaseColor object {color: string, opacity: number} फ़ॉर्मैट का कोई ऑब्जेक्ट
gridColor object {color: string, opacity: number} फ़ॉर्मैट का कोई ऑब्जेक्ट
seriesColor Array<object> फ़ॉर्मैट के ऑब्जेक्ट की कैटगरी{color: string, opacity: number}

tablesById

{
  "DEFAULT": object(tableObject),
  "COMPARISON": object(tableObject) | undefined
}

tableObject हर पंक्ति के लिए शीर्षक और डेटा की जानकारी देता है. "डिफ़ॉल्ट" हमेशा डेटा दिखाएगा और "तुलना करें" सिर्फ़ तभी भरेगा, जब उपयोगकर्ता डेटा को तुलना वाली पंक्तियों के साथ कॉन्फ़िगर करेगा.

टेबलऑब्जेक्ट के फ़ॉर्मैट में ही, dscc.tableFormat और dscc.objectFormat के बीच का अंतर है.

फ़ील्ड Type ब्यौरा
"DEFAULT" object(tableObject) OR Array<objectRow> उपयोगकर्ता किसी विज़ुअलाइज़ेशन में जो डेटा जोड़ता है, उससे जुड़ा tableObject
"तुलना करें" object(tableObject) OR Array<objectRow> अगर लागू हो, तो तारीख की तुलना वाले डेटा से जुड़ा tableObject

dateRangesById

{
  "DEFAULT": object(dateRange),
  "COMPARISON": object(dateRange)
}

dateRangesById ऑब्जेक्ट, डिफ़ॉल्ट और तुलना के लिए तारीख की सीमाओं के बारे में जानकारी देता है. अगर तारीख की कोई सीमा नहीं है, तो ऑब्जेक्ट खाली रहेगा. DEFAULT और COMPARISON सिर्फ़ तब अपने-आप भरेंगे, जब उपयोगकर्ता ने तारीख की इन सीमाओं को कॉन्फ़िगर किया हो. तारीख की सीमाओं का डेटा, tablesById के मुताबिक डिफ़ॉल्ट और तुलना वाले डेटा से जुड़ा होता है.

फ़ील्ड Type ब्यौरा
"DEFAULT" object(dateRange) अगर लागू हो, तो डिफ़ॉल्ट तारीख की सीमा से जुड़ा dateRange.
"तुलना करें" object(dateRange) अगर लागू हो, तो तुलना के लिए इस्तेमाल की गई तारीख की सीमा से जुड़ा dateRange.

dateRange

{
  start: string,
  end: string
}

dateRange ऑब्जेक्ट, डिफ़ॉल्ट या तुलना वाली तारीख की सीमा के शुरू और खत्म होने की तारीखों की जानकारी देता है.

फ़ील्ड Type ब्यौरा
शुरू करें string तारीख की सीमा के शुरू होने की तारीख YYYYMMDD फ़ॉर्मैट में.
खत्म करें string YYYYMMDD फ़ॉर्मैट में तारीख की सीमा खत्म होने की तारीख.

tableFormat रेफ़रंस

tableObject

{
  headers: array(object),
  rows: array(array)
}
फ़ील्ड Type ब्यौरा
headers Array फ़ील्ड ऑब्जेक्ट का कलेक्शन. इन फ़ील्ड ऑब्जेक्ट में इसके अलावा एक configId प्रॉपर्टी भी होती है जो कॉन्फ़िगरेशन के आईडी से जुड़ी होती है.
लाइनें Array<Array> अरे का कलेक्शन: हर अरे, डेटा की एक पंक्ति होती है

tableFormat डेटा का सैंपल

यह data का सैंपल है, जिसे dscc.tableFormat विकल्प के साथ dscc.subscribeToData() का इस्तेमाल करके लौटाया गया है.

{
  "tables": {
    "DEFAULT": {
      "headers": [{
        "id": "qt_ky8sltutsb",
        "name": "dimension",
        "type": "TEXT",
        "concept": "DIMENSION",
        "configId": "configId1"
      }, {
        "id": "qt_b5bvmtutsb",
        "name": "second dim",
        "type": "TEXT",
        "concept": "DIMENSION"
        "configId": "configId1"
      }, {
        "id": "qt_m9dtntutsb",
        "name": "metric",
        "type": "NUMBER",
        "concept": "METRIC",
        "configId": "configId2"
      }],
      "rows": [
        ["Week 4", "lm", 55]
      ]
    },
    "COMPARISON": {
      "headers": [{
        "id": "qt_ky8sltutsb",
        "name": "dimension",
        "type": "TEXT",
        "concept": "DIMENSION",
        "configId": "configId1"
      }, {
        "id": "qt_b5bvmtutsb",
        "name": "second dim",
        "type": "TEXT",
        "concept": "DIMENSION"
        "configId": "configId1"
      }, {
        "id": "qt_m9dtntutsb",
        "name": "metric",
        "type": "NUMBER",
        "concept": "METRIC",
        "configId": "configId2"
      }],
      "rows": [
        ["Week 5", "no", 123]
      ]
    }
  },
  "fields": {
    "configId1": [
      {
        "id": "qt_ky8sltutsb",
        "name": "week",
        "type": "TEXT",
        "concept": "DIMENSION"
      },
      {
        "id": "qt_b5bvmtutsb",
        "name": "textId",
        "type": "TEXT",
        "concept": "DIMENSION"
      }
    ],
    "configId2": [
      {
        "id": "qt_m9dtntutsb",
        "name": "orders",
        "type": "NUMBER",
        "concept": "METRIC"
      }
    ]
  },
  "style": {
    "nodeColor": {
      "value": {
        "color": "#000000"
      }
    }
  },
  "theme": {},
  "dateRanges": {
    "DEFAULT": {
      "start": "20210501",
      "end": "20210531"
    },
    "COMPARISON": {
      "start": "20200501",
      "end": "20200531"
    }
  },
  "interactions": {
    "onClick": {
      "value": {
        "type": "FILTER",
        "data": {
          "concepts": [
            "qt_h6oibrb6wb",
            "qt_i6oibrb6wb"
          ],
          "values": [
            [
              "Afternoon",
              "Sunday"
            ],
            [
              "Afternoon",
              "Thursday"
            ],
            [
              "Morning",
              "Tuesday"
            ]
          ]
        }
      },
      "supportedActions": [
        "FILTER"
      ]
    }
  }
}

Objectफ़ॉर्मैट का रेफ़रंस

objectRow

{
  configId1: array(string | bool | number),
  configId2: array(string | bool | number)
}
फ़ील्ड Type ब्यौरा
configId श्रेणी किसी खास कॉन्फ़िगरेशन आईडी से जुड़े वैल्यू का कलेक्शन

ऑब्जेक्ट के फ़ॉर्मैट का सैंपल डेटा

यह data का सैंपल है, जिसे dscc.objectFormat विकल्प के साथ dscc.subscribeToData() का इस्तेमाल करके लौटाया गया है.

{
  "tables": {
    "COMPARISON": [
      {
        "configId1": ["Week 5", "cd"],
        "configId2": [123]
      }
    ],
    "DEFAULT": [
      {
        "configId1": ["Week 1", "ab"],
        "configId2": [24]
      }
    ]
  },
  "fields": {
    "configId1": [
      {
        "id": "qt_h6oibrb6wb",
        "name": "time of day",
        "type": "TEXT",
        "concept": "DIMENSION"
      },
      {
        "id": "qt_i6oibrb6wb",
        "name": "day",
        "type": "TEXT",
        "concept": "DIMENSION"
      }
    ],
    "configId2": [
      {
        "id": "qt_m9dtntutsb",
        "name": "metric",
        "type": "NUMBER",
        "concept": "METRIC"
      }
    ]
  },
  "style": {
    "nodeColor": {
      "value": {
        "color": "#000000"
      }
    }
  },
  "theme": {},
  "dateRanges": {
    "DEFAULT": {
      "start": "20210501",
      "end": "20210531"
    },
    "COMPARISON": {
      "start": "20200501",
      "end": "20200531"
    }
  },
  "interactions": {
    "onClick": {
      "value": {
        "type": "FILTER",
        "data": {
          "concepts": [
            "qt_h6oibrb6wb",
            "qt_i6oibrb6wb"
          ],
          "values": [
            [
              "Afternoon",
              "Sunday"
            ],
            [
              "Afternoon",
              "Thursday"
            ],
            [
              "Morning",
              "Tuesday"
            ]
          ]
        }
      },
      "supportedActions": [
        "FILTER"
      ]
    }
  }
}