फ़िल्टर

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

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

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

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

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

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

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. request.dimensionsFilters कलेक्शन में हर सब-ऐरे को एक साथ OR करेगा.

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

    {
      "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" है और source "Social" या "Organic" है. filtersApplied को true पर सेट करें, क्योंकि सभी फ़िल्टर लागू हो गए थे.

मूल डेटा

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

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

source सत्र
सोशल 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 फ़ील्ड भी शामिल हैं) और false के जवाब में filtersApplied कुंजी सेट करें.

उदाहरण:

{
  "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
}