Filtri

Se un report contiene filtri e un connettore della community restituisce dati non filtrati per tutti i campi richiesti, Looker Studio applicherà i filtri alla risposta del connettore. Tuttavia, i filtri possono essere applicati a livello di connettore della community, il che può migliorare notevolmente il rendimento in alcuni casi. Le informazioni sui filtri vengono trasmesse nell'oggetto richiesta getData() e il connettore può utilizzare queste informazioni per filtrare i dati prima di inviarli di nuovo a Looker Studio.

Ad esempio, se ti connetti a un database SQL, l'applicazione dei filtri direttamente nella clausola WHERE (B3 nel diagramma seguente) può ridurre drasticamente il numero di righe restituite a Looker Studio. Ciò, a sua volta, limita la quantità di dati da elaborare e inviare a Looker Studio (B5).

Diagramma di flusso del filtro

Regole per l'applicazione dei filtri

  1. Applica tutti i filtri o nessuno. Vedi Filtri non supportati
  2. Non includere i campi forFilterOnly nella risposta.
  3. AND ogni voce dell'array request.dimensionsFilters.

    Ad esempio, per il seguente filtro, il connettore deve includere solo valori con un country di USA E un source di Social.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR ogni sottoarray nell'array request.dimensionsFilters.

    Ad esempio, per il seguente filtro, il connettore deve includere solo valori con un country di USA OR un country di Canada.

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

Esempio

Il seguente esempio illustra un flusso end-to-end dall'utente del report che definisce i filtri al connettore della community che restituisce i dati filtrati.

Filtro di esempio

  1. L'utente del report ha configurato due filtri:

    1. country è IN_LIST di Canada, USA
    2. source è IN_LIST di Social, Organic
  2. L'utente del report ha configurato un componente grafico con la dimensione source e la metrica sessions

  3. getData() viene eseguito da Looker Studio con il seguente oggetto richiesta:

    {
      "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. Il connettore risponde con i dati filtrati.

    Per la richiesta di esempio, restituisci source e sessions dove country è "Canada" o "USA" E source è "Social" o "Organic". Imposta filtersApplied su true poiché tutti i filtri sono stati applicati correttamente.

Dati originali

origine sessioni country
Social 60 USA
Social 50 Canada
Social 40 Regno Unito
Organico 90 USA
Organico 80 Canada
Organico 70 Regno Unito
Giornale 30 USA
Giornale 20 Canada
Giornale 10 Regno Unito

Dati filtrati

origine sessioni
Social 60
Social 50
Organico 90
Organico 80

getData() risposta

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

Filtri non supportati

Se il connettore non può applicare tutti i filtri nella richiesta, non deve essere eseguito alcun filtraggio. Restituisci tutti i campi richiesti (inclusi i campi forFilterOnly) e imposta la chiave filtersApplied nella risposta su false.

Esempio:

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