الفلاتر

إذا كان التقرير يتضمّن فلاتر وكان موصّل بيانات من إنشاء المنتدى يعرض بيانات غير مفلترة لجميع الحقول المطلوبة، ستطبّق Looker Studio الفلاتر على استجابة الموصّل. ومع ذلك، يمكن تطبيق الفلاتر على مستوى أداة ربط خاصة بالمنتدى، ما يمكن أن يحسّن الأداء بشكل كبير في بعض الحالات. يتم تمرير معلومات الفلتر في عنصر طلب getData()، ويمكن للموصل استخدام هذه المعلومات لفلترة البيانات قبل إرسالها مرة أخرى إلى Looker Studio.

على سبيل المثال، إذا كنت بصدد الربط بقاعدة بيانات SQL، يمكن أن يؤدي تطبيق الفلاتر مباشرةً في عبارة WHERE (B3 في الرسم التوضيحي أدناه) إلى تقليل عدد الصفوف المعروضة في Looker Studio بشكل كبير. يؤدي ذلك بدوره إلى الحدّ من كمية البيانات التي يجب معالجتها وإرسالها إلى Looker Studio (B5).

المخطط الانسيابي للفلتر

قواعد تطبيق الفلاتر

  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
}