الفلاتر

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