Filter

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

Misalnya, jika Anda terhubung ke database SQL, menerapkan filter langsung di klausa WHERE (B3 dalam diagram di bawah) dapat secara drastis mengurangi jumlah baris yang ditampilkan ke Looker Studio. Pada akhirnya, 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 filter. Lihat Filter yang tidak didukung
  2. Jangan sertakan kolom forFilterOnly dalam respons.
  3. AND bersama-sama setiap entri dalam array request.dimensionsFilters.

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

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

    Misalnya, untuk filter berikut, konektor hanya boleh menyertakan nilai yang memiliki country dari 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 end-to-end dari pengguna laporan penentuan filter ke konektor komunitas yang menampilkan data yang difilter.

Contoh Filter

  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 sessions metrik

  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 permintaan contoh, tampilkan source dan sessions dengan country adalah "Canada" atau "USA" DAN source adalah "Social" atau "Organic". Setel filtersApplied ke true karena semua filter dapat berhasil diterapkan.

Data asli

source sesi 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 sesi
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 yang tidak didukung

Jika konektor tidak dapat menerapkan semua filter dalam permintaan, pemfilteran tidak boleh dilaksanakan. Tampilkan semua kolom yang diminta (termasuk forFilterOnly kolom) dan setel 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
}