فیلترها

اگر گزارشی حاوی فیلترها باشد و یک رابط انجمن داده های فیلتر نشده را برای همه فیلدهای درخواستی برمی گرداند، استودیو Looker فیلترهایی را برای پاسخ رابط اعمال می کند. با این حال، فیلترها را می توان در سطح اتصال دهنده جامعه اعمال کرد که می تواند عملکرد را در برخی موارد به طور قابل توجهی بهبود بخشد. اطلاعات فیلتر در شی درخواست getData() ارسال می‌شود و رابط می‌تواند از این اطلاعات برای فیلتر کردن داده‌ها قبل از ارسال مجدد به Looker Studio استفاده کند.

به عنوان مثال، اگر به یک پایگاه داده SQL متصل می شوید، اعمال فیلترها به طور مستقیم در عبارت WHERE (B3 در نمودار زیر) می تواند تعداد ردیف های بازگشتی به Looker Studio را به شدت کاهش دهد. این به نوبه خود، مقدار داده هایی را که باید پردازش و به Looker Studio (B5) ارسال شود، محدود می کند.

Filter flowchart

قوانین اعمال فیلترها

  1. همه فیلترها یا هیچ کدام را اعمال کنید. فیلترهای پشتیبانی نشده را ببینید
  2. فیلدهای forFilterOnly را در پاسخ وارد نکنید.
  3. AND هر ورودی در آرایه request.dimensionsFilters با هم.

    به عنوان مثال، برای فیلتر زیر، رابط فقط باید شامل مقادیری باشد که دارای country USA و 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 یا یک country Canada هستند.

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

مثال

مثال زیر یک جریان سرتاسری را از کاربر گزارشی که فیلترها را تعریف می‌کند به کانکتور انجمن که داده‌های فیلتر شده را برمی‌گرداند، نشان می‌دهد.

فیلتر مثال

  1. کاربر گزارش دو فیلتر را پیکربندی کرده است:

    1. country IN_LIST Canada, USA است
    2. source IN_LIST Social, Organic است
  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 تنظیم کنید زیرا همه فیلترها با موفقیت اعمال شدند.

داده های اصلی

منبع جلسات کشور
اجتماعی 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
}