फ़िल्टर

अगर किसी रिपोर्ट में फ़िल्टर मौजूद हैं और कम्यूनिटी कनेक्टर, अनुरोध किए गए सभी फ़ील्ड के लिए बिना फ़िल्टर किया गया डेटा दिखाता है, तो Looker Studio, कनेक्टर के जवाब पर फ़िल्टर लागू करेगा. हालांकि, फ़िल्टर को कम्यूनिटी कनेक्टर लेवल पर लागू किया जा सकता है. इससे कुछ मामलों में परफ़ॉर्मेंस में काफ़ी सुधार हो सकता है. फ़िल्टर की जानकारी, getData() अनुरोध ऑब्जेक्ट में पास की जाती है. कनेक्टर इस जानकारी का इस्तेमाल करके, Looker Studio को डेटा वापस भेजने से पहले उसे फ़िल्टर कर सकता है.

उदाहरण के लिए, अगर आपको किसी एसक्यूएल डेटाबेस से कनेक्ट करना है, तो फ़िल्टर को सीधे WHERE क्लॉज़ (नीचे दिए गए डायग्राम में B3) में लागू करने से, Looker Studio को मिलने वाली पंक्तियों की संख्या में काफ़ी कमी आ सकती है. इससे, प्रोसेस किए जाने वाले डेटा की मात्रा सीमित हो जाती है और Looker Studio (B5) को भेजा जाने वाला डेटा भी सीमित हो जाता है.

फ़िल्टर फ़्लोचार्ट

फ़िल्टर लागू करने के नियम

  1. सभी फ़िल्टर लागू करें या कोई नहीं. काम न करने वाले फ़िल्टर देखें
  2. जवाब में forFilterOnly फ़ील्ड शामिल न करें.
  3. AND को request.dimensionsFilters कलेक्शन में मौजूद हर एंट्री के साथ जोड़ता है.

    उदाहरण के लिए, इस फ़िल्टर के लिए कनेक्टर को सिर्फ़ वे वैल्यू शामिल करनी चाहिए जिनमें country की वैल्यू USA AND source की वैल्यू Social हो.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR, request.dimensionsFilters कलेक्शन में मौजूद हर सब-कलेक्शन को एक साथ जोड़ता है.

    उदाहरण के लिए, इस फ़िल्टर के लिए कनेक्टर को सिर्फ़ वे वैल्यू शामिल करनी चाहिए जिनमें country की वैल्यू USA OR country की वैल्यू Canada हो.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    

उदाहरण

यहां दिए गए उदाहरण में, रिपोर्ट का इस्तेमाल करने वाले व्यक्ति के फ़िल्टर तय करने से लेकर कम्यूनिटी कनेक्टर के फ़िल्टर किया गया डेटा वापस भेजने तक का पूरा फ़्लो दिखाया गया है.

फ़िल्टर का उदाहरण

  1. रिपोर्ट के उपयोगकर्ता ने दो फ़िल्टर कॉन्फ़िगर किए हैं:

    1. country, Canada, USA का IN_LIST है
    2. source, Social, Organic का IN_LIST है
  2. रिपोर्ट के उपयोगकर्ता ने चार्ट कॉम्पोनेंट को source डाइमेंशन और sessions मेट्रिक के साथ कॉन्फ़िगर किया है

  3. getData() को Looker Studio, इस अनुरोध ऑब्जेक्ट के साथ लागू करता है:

    {
      "fields": [
        {"name": "source"},
        {"name": "sessions"},
        {"name": "country", "forFilterOnly": true}
      ],
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada", "USA"],
          "type": "INCLUDE",
          "operator": "IN_LIST"
        }],
        [{
          "fieldName": "source",
          "values": ["Social", "Organic"],
          "type": "INCLUDE",
          "operator": "IN_LIST"
        }]
      ]
    }
    
  4. कनेक्टर, फ़िल्टर किए गए डेटा के साथ जवाब देता है.

    उदाहरण के तौर पर दिए गए अनुरोध के लिए, source और sessions दिखाएं. इनमें country की वैल्यू "Canada" या "USA" AND source की वैल्यू "Social" या "Organic" हो. filtersApplied को true पर सेट करें, क्योंकि सभी फ़िल्टर सही तरीके से लागू किए जा सके.

ओरिजनल डेटा

सोर्स सत्र देश
सोशल 60 यूएसए
सोशल 50 कनाडा
सोशल 40 यूके
ऑर्गैनिक 90 यूएसए
ऑर्गैनिक 80 कनाडा
ऑर्गैनिक 70 यूके
समाचारपत्र 30 यूएसए
समाचारपत्र 20 कनाडा
समाचारपत्र 10 यूके

फ़िल्टर किया गया डेटा

सोर्स सत्र
सोशल 60
सोशल 50
ऑर्गैनिक 90
ऑर्गैनिक 80

getData() जवाब

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
  ],
  "rows": [
    {"values": ["Social", 60]},
    {"values": ["Social", 50]},
    {"values": ["Organic", 90]},
    {"values": ["Organic", 80]}
  ],
  "filtersApplied": true
}

ऐसे फ़िल्टर जिनका इस्तेमाल नहीं किया जा सकता

अगर कनेक्टर, अनुरोध में दिए गए सभी फ़िल्टर लागू नहीं कर सकता, तो फ़िल्टर करने की प्रोसेस नहीं होनी चाहिए. अनुरोध किए गए सभी फ़ील्ड (forFilterOnly फ़ील्ड भी शामिल हैं) की वैल्यू दिखाएं. साथ ही, अपने जवाब में filtersApplied कुंजी को false पर सेट करें.

उदाहरण:

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
    {"name": "country",  "dataType": "STRING"}
  ],
  "rows": [
    {"values": ["Social", 60, "USA"]},
    {"values": ["Social", 50, "Canada"]},
    {"values": ["Social", 40, "UK"]},
    {"values": ["Organic", 90, "USA"]},
    {"values": ["Organic", 80, "Canada"]},
    {"values": ["Organic", 70, "UK"]},
    {"values": ["Newspaper", 30, "USA"]},
    {"values": ["Newspaper", 20, "Canada"]},
    {"values": ["Newspaper", 10, "UK"]},
  ],
  "filtersApplied": false
}