Filtri

Se un report contiene filtri e un connettore della community restituisce dati non filtrati per tutti i campi richiesti, Looker Studio applicherà filtri alla risposta del connettore. Tuttavia, è possibile applicare filtri a livello di connettore della community, il che può migliorare notevolmente le prestazioni in alcuni casi. Le informazioni del filtro vengono passate nell'oggetto di 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. Questo, a sua volta, limita la quantità di dati che devono essere elaborati e inviati a Looker Studio (B5).

Filtra diagramma di flusso

Regole per l'applicazione di filtri

  1. Applica tutti i filtri o nessuno. Consulta Filtri non supportati
  2. Non includere campi forFilterOnly nella risposta.
  3. AND insieme a ciascuna voce nell'array request.dimensionsFilters.

    Ad esempio, per il seguente filtro, il connettore deve includere solo i valori che hanno country pari a USA E source pari a Social.

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

    Ad esempio, per il seguente filtro, il connettore deve includere solo i valori che hanno country pari a USA OPPURE country pari a Canada.

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

Esempio

L'esempio seguente illustra un flusso end-to-end dall'utente del report che definisce i filtri al connettore della community che restituisce 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 di 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 dati filtrati.

    Per la richiesta di esempio, restituisci source e sessions dove country è "Canada" o "USA" E il source è "Social" o "Organic". Imposta filtersApplied su true perché è stato possibile applicare correttamente tutti i filtri.

Dati originali

origine sessioni country
Social 60 Stati Uniti
Social 50 Canada
Social 40 UK
Biologico 90 Stati Uniti
Biologico 80 Canada
Biologico 70 UK
Giornale 30 Stati Uniti
Giornale 20 Canada
Giornale 10 UK

Dati filtrati

origine sessioni
Social 60
Social 50
Biologico 90
Biologico 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 filtro. 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
}