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