فیلترها

اگر گزارشی حاوی فیلتر باشد و یک رابط Community داده‌های فیلتر نشده را برای همه فیلدهای درخواستی برگرداند، Looker Studio فیلترها را بر روی پاسخ رابط اعمال می‌کند. با این حال، فیلترها را می‌توان در سطح رابط Community اعمال کرد که در برخی موارد می‌تواند عملکرد را به طور قابل توجهی بهبود بخشد. اطلاعات فیلتر در شیء درخواست getData() ارسال می‌شود و رابط می‌تواند از این اطلاعات برای فیلتر کردن داده‌ها قبل از ارسال مجدد آنها به Looker Studio استفاده کند.

برای مثال، اگر به یک پایگاه داده SQL متصل می‌شوید، اعمال مستقیم فیلترها در عبارت WHERE (B3 در نمودار زیر) می‌تواند تعداد ردیف‌های برگردانده شده به Looker Studio را به شدت کاهش دهد. این به نوبه خود، میزان داده‌هایی را که باید پردازش و به Looker Studio (B5) ارسال شوند، محدود می‌کند.

Filter flowchart

قوانین اعمال فیلترها

  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 تنظیم کنید زیرا همه فیلترها با موفقیت اعمال شدند.

داده‌های اصلی

منبع جلسات کشور
اجتماعی ۶۰ ایالات متحده آمریکا
اجتماعی ۵۰ کانادا
اجتماعی ۴۰ بریتانیا
ارگانیک ۹۰ ایالات متحده آمریکا
ارگانیک ۸۰ کانادا
ارگانیک ۷۰ بریتانیا
روزنامه ۳۰ ایالات متحده آمریکا
روزنامه ۲۰ کانادا
روزنامه ۱۰ بریتانیا

داده‌های فیلتر شده

منبع جلسات
اجتماعی ۶۰
اجتماعی ۵۰
ارگانیک ۹۰
ارگانیک ۸۰

پاسخ 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
}