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

قوانین اعمال فیلترها
- همه فیلترها یا هیچ کدام را اعمال کنید. فیلترهای پشتیبانی نشده را ببینید
- فیلدهای
forFilterOnlyرا در پاسخ وارد نکنید. ANDهر ورودی در آرایهrequest.dimensionsFiltersبا هم.به عنوان مثال، برای فیلتر زیر، رابط فقط باید شامل مقادیری باشد که دارای
countryUSAوsourceSocialهستند.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }ORهر آرایه فرعی در آرایهrequest.dimensionsFiltersبا هم.به عنوان مثال، برای فیلتر زیر، کانکتور فقط باید شامل مقادیری باشد که دارای یک
countryUSAیا یکcountryCanadaهستند.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
مثال
مثال زیر یک جریان سرتاسری را از کاربر گزارشی که فیلترها را تعریف میکند به کانکتور انجمن که دادههای فیلتر شده را برمیگرداند، نشان میدهد.

کاربر گزارش دو فیلتر را پیکربندی کرده است:
-
countryIN_LISTCanada, USAاست -
sourceIN_LISTSocial, Organicاست
-
کاربر گزارش یک جزء نمودار را با متریک بعد
sourceوsessionsپیکربندی کرده است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" }] ] }رابط با داده های فیلتر شده پاسخ می دهد.
برای درخواست مثال،
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
}