Filtreler

Bir rapor filtreler içeriyorsa ve bir topluluk bağlayıcısı, istenen tüm alanlar için filtrelenmemiş veriler döndürürse Looker Studio, bağlayıcı yanıtına filtreler uygular. Ancak filtreler topluluk bağlayıcısı düzeyinde uygulanabilir ve bu da bazı durumlarda performansı önemli ölçüde iyileştirebilir. Filtre bilgileri getData() istek nesnesinde iletilir ve bağlayıcı bu bilgileri kullanarak verileri Looker Studio'ya geri göndermeden önce filtreleyebilir.

Örneğin, bir SQL veritabanına bağlanıyorsanız filtreleri doğrudan WHERE yan tümcesinde (aşağıdaki şemada B3) uygulamak, Looker Studio'ya döndürülen satır sayısını önemli ölçüde azaltabilir. Bu da Looker Studio'ya (B5) gönderilmesi ve işlenmesi gereken veri miktarını sınırlar.

Akış şemasını filtrele

Filtre uygulama kuralları

  1. Filtrelerin tümünü veya hiçbirini uygulayın. Desteklenmeyen filtreler bölümüne bakın
  2. Yanıta forFilterOnly alanlarını eklemeyin.
  3. AND toplamını request.dimensionsFilters dizisindeki her bir girişi birlikte getirir.

    Örneğin, aşağıdaki filtre için bağlayıcının yalnızca country değeri USA VE source olan değerleri Social içermesi gerekir.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR tüm alt diziyi request.dimensionsFilters dizisinde bir araya getirir.

    Örneğin, aşağıdaki filtrede bağlayıcı yalnızca country değeri USA VEYA Canada olan country olan değerleri içermelidir.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
yapısına sahiptir

Örnek

Aşağıdaki örnekte, filtre tanımlayan rapor kullanıcısından, filtrelenmiş veriler döndüren topluluk bağlayıcısına giden uçtan uca akış gösterilmektedir.

Örnek Filtre

  1. Rapor kullanıcısı iki filtre yapılandırmıştır:

    1. country: IN_LIST/Canada, USA
    2. source: IN_LIST/Social, Organic
  2. Rapor kullanıcısı, source boyutu ve sessions metriğiyle bir grafik bileşeni yapılandırmış olmalıdır

  3. getData(), Looker Studio tarafından aşağıdaki istek nesnesiyle yürütülür:

    {
      "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. Bağlayıcı, filtrelenmiş verilerle yanıt verir.

    Örnek istek için, country "Canada" veya "USA" VE source "Social" veya "Organic" olacak şekilde source ve sessions değerlerini döndürün. Tüm filtreler başarıyla uygulandığından filtersApplied değerini true olarak ayarlayın.

Orijinal veriler

source oturum sayısı country
Sosyal 60 ABD
Sosyal 50 Kanada
Sosyal 40 Birleşik Krallık
Organik 90 ABD
Organik 80 Kanada
Organik 70 Birleşik Krallık
Gazete 30 ABD
Gazete 20 Kanada
Gazete 10 Birleşik Krallık

Filtrelenen veriler

source oturum sayısı
Sosyal 60
Sosyal 50
Organik 90
Organik 80

getData() yanıt

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

Desteklenmeyen filtreler

Bağlayıcı, istekteki tüm filtreleri uygulayamıyorsa filtreleme yapılmamalıdır. İstenen tüm alanları (forFilterOnly alanları dahil) döndürün ve yanıtınızdaki filtersApplied anahtarını false olarak ayarlayın.

Örnek:

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