في حال كان التقرير يحتوي على فلاتر وعرضت موصِّل المنتدى بيانات لم تتم فلترتها لجميع الحقول المطلوبة، ستطبّق أداة Looker Studio الفلاتر على الموصِّل الاستجابة. ومع ذلك، يمكن تطبيق الفلاتر على مستوى رابط المنتدى الذي تحسين الأداء بشكل كبير في بعض الحالات. معلومات الفلتر هي تمريره في كائن طلب 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
}