Filter

Jika laporan berisi filter dan konektor komunitas menampilkan data yang tidak difilter untuk semua kolom yang diminta, Looker Studio akan menerapkan filter ke respons konektor. Namun, filter dapat diterapkan di tingkat konektor komunitas yang dapat meningkatkan performa secara signifikan dalam beberapa kasus. Informasi filter diteruskan dalam objek permintaan getData(), dan konektor dapat menggunakan informasi ini untuk memfilter data sebelum mengirimkannya kembali ke Looker Studio.

Misalnya, jika Anda terhubung ke database SQL, menerapkan filter secara langsung dalam klausa WHERE (B3 dalam diagram di bawah) dapat mengurangi jumlah baris yang ditampilkan ke Looker Studio secara drastis. Hal ini akan membatasi jumlah data yang harus diproses dan dikirim ke Looker Studio (B5).

Diagram alir filter

Aturan penerapan filter

  1. Terapkan semua filter, atau tidak satu pun. Lihat Filter yang tidak didukung
  2. Jangan sertakan kolom forFilterOnly dalam respons.
  3. AND menggabungkan setiap entri dalam array request.dimensionsFilters.

    Misalnya, untuk filter berikut, konektor hanya boleh menyertakan nilai yang memiliki country USA DAN source dari Social.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR menggabungkan setiap sub-array dalam array request.dimensionsFilters.

    Misalnya, untuk filter berikut, konektor hanya boleh menyertakan nilai yang memiliki country USA ATAU country dari Canada.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    

Contoh

Contoh berikut mengilustrasikan alur menyeluruh dari filter yang menentukan pengguna ke konektor komunitas yang menampilkan data yang difilter.

Filter Contoh

  1. Pengguna laporan telah mengonfigurasi dua filter:

    1. country adalah IN_LIST dari Canada, USA
    2. source adalah IN_LIST dari Social, Organic
  2. Pengguna laporan telah mengonfigurasi komponen diagram dengan dimensi source dan metrik sessions

  3. getData() dijalankan oleh Looker Studio dengan objek permintaan berikut:

    {
      "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. Konektor merespons dengan data yang difilter.

    Untuk contoh permintaan, tampilkan source dan sessions dengan country adalah "Canada" atau "USA" DAN source adalah "Social" atau "Organic". Tetapkan filtersApplied ke true karena semua filter dapat berhasil diterapkan.

Data asli

source sessions country
Sosial 60 AS
Sosial 50 Kanada
Sosial 40 Inggris Raya
Organik 90 AS
Organik 80 Kanada
Organik 70 Inggris Raya
Koran 30 AS
Koran 20 Kanada
Koran 10 Inggris Raya

Data yang difilter

source sessions
Sosial 60
Sosial 50
Organik 90
Organik 80

getData() tanggapan

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
  ],
  "rows": [
    {"values": ["Social", 60]},
    {"values": ["Social", 50]},
    {"values": ["Organic", 90]},
    {"values": ["Organic", 80]}
  ],
  "filtersApplied": true
}

Filter tidak didukung

Jika konektor tidak dapat menerapkan semua filter dalam permintaan, pemfilteran tidak boleh dilakukan. Tampilkan semua kolom yang diminta (termasuk kolom forFilterOnly) dan tetapkan kunci filtersApplied dalam respons Anda terhadap false.

Contoh:

{
  "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
}