اگر گزارشی حاوی فیلترها باشد و یک رابط انجمن داده های فیلتر نشده را برای همه فیلدهای درخواستی برمی گرداند، استودیو Looker فیلترهایی را برای پاسخ رابط اعمال می کند. با این حال، فیلترها را می توان در سطح اتصال دهنده جامعه اعمال کرد که می تواند عملکرد را در برخی موارد به طور قابل توجهی بهبود بخشد. اطلاعات فیلتر در شی درخواست getData() ارسال میشود و رابط میتواند از این اطلاعات برای فیلتر کردن دادهها قبل از ارسال مجدد به Looker Studio استفاده کند.
به عنوان مثال، اگر به یک پایگاه داده SQL متصل می شوید، اعمال فیلترها به طور مستقیم در عبارت WHERE
(B3 در نمودار زیر) می تواند تعداد ردیف های بازگشتی به Looker Studio را به شدت کاهش دهد. این به نوبه خود، مقدار داده هایی را که باید پردازش و به Looker Studio (B5) ارسال شود، محدود می کند.
قوانین اعمال فیلترها
- همه فیلترها یا هیچ کدام را اعمال کنید. فیلترهای پشتیبانی نشده را ببینید
- فیلدهای
forFilterOnly
را در پاسخ وارد نکنید. AND
هر ورودی در آرایهrequest.dimensionsFilters
با هم.به عنوان مثال، برای فیلتر زیر، رابط فقط باید شامل مقادیری باشد که دارای
country
USA
وsource
Social
هستند.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
OR
هر آرایه فرعی در آرایهrequest.dimensionsFilters
با هم.به عنوان مثال، برای فیلتر زیر، کانکتور فقط باید شامل مقادیری باشد که دارای یک
country
USA
یا یکcountry
Canada
هستند.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
مثال
مثال زیر یک جریان سرتاسری را از کاربر گزارشی که فیلترها را تعریف میکند به کانکتور انجمن که دادههای فیلتر شده را برمیگرداند، نشان میدهد.
کاربر گزارش دو فیلتر را پیکربندی کرده است:
-
country
IN_LIST
Canada, USA
است -
source
IN_LIST
Social, 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
}