Si un rapport contient des filtres et qu'un connecteur de communauté renvoie des données non filtrées pour tous les champs demandés, Looker Studio applique des filtres à la réponse du connecteur. Toutefois, vous pouvez appliquer des filtres au niveau du connecteur de communauté, ce qui peut considérablement améliorer les performances dans certains cas. Les informations de filtrage sont transmises dans l'objet de requête getData(). Le connecteur peut s'en servir pour filtrer les données avant de les renvoyer à Looker Studio.
Par exemple, si vous vous connectez à une base de données SQL, l'application des filtres directement dans la clause WHERE
(B3 dans le schéma ci-dessous) peut considérablement réduire le nombre de lignes renvoyées à Looker Studio. Cela limite la quantité de données à traiter et à envoyer à Looker Studio (B5).
Règles d'application des filtres
- Appliquer tous les filtres ou aucun d'entre eux. Consultez la section Filtres non compatibles.
- N'incluez pas de champs
forFilterOnly
dans la réponse. AND
ensemble chaque entrée du tableaurequest.dimensionsFilters
.Par exemple, pour le filtre suivant, le connecteur ne doit inclure que les valeurs dont l'
country
USA
est ET lesource
Social
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
OR
ensemble chaque sous-tableau du tableaurequest.dimensionsFilters
.Par exemple, pour le filtre suivant, le connecteur ne doit inclure que les valeurs dont l'
country
estUSA
OU que lecountry
estCanada
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Exemple
L'exemple suivant illustre un flux de bout en bout depuis l'utilisateur du rapport qui définit des filtres vers le connecteur de communauté et qui renvoie des données filtrées.
L'utilisateur du rapport a configuré deux filtres:
- "
country
" estIN_LIST
surCanada, USA
- "
source
" estIN_LIST
surSocial, Organic
- "
L'utilisateur du rapport a configuré un composant de graphique avec la dimension
source
et la métriquesessions
.getData()
est exécuté par Looker Studio avec l'objet de requête suivant:{ "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" }] ] }
Le connecteur renvoie des données filtrées.
Pour l'exemple de requête, renvoyez
source
etsessions
, oùcountry
est"Canada"
ou"USA"
ETsource
est"Social"
ou"Organic"
. DéfinissezfiltersApplied
surtrue
, car tous les filtres ont pu être appliqués.
Données d'origine
source | sessions | country |
---|---|---|
Réseau social | 60 | États-Unis |
Réseau social | 50 | Canada |
Réseau social | 40 | UK |
Bio | 90 | États-Unis |
Bio | 80 | Canada |
Bio | 70 | UK |
Journal | 30 | États-Unis |
Journal | 20 | Canada |
Journal | 10 | UK |
Données filtrées
source | sessions |
---|---|
Réseau social | 60 |
Réseau social | 50 |
Bio | 90 |
Bio | 80 |
getData()
réponse
{
"schema": [
{"name": "source", "dataType": "STRING"},
{"name": "sessions", "dataType": "NUMBER"},
],
"rows": [
{"values": ["Social", 60]},
{"values": ["Social", 50]},
{"values": ["Organic", 90]},
{"values": ["Organic", 80]}
],
"filtersApplied": true
}
Filtres incompatibles
Si le connecteur ne peut pas appliquer tous les filtres de la requête, aucun filtrage ne doit être effectué. Renvoyez tous les champs demandés (y compris les champs forFilterOnly
) et définissez la clé filtersApplied
dans votre réponse sur false
.
Exemple :
{
"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
}