Wenn ein Bericht Filter enthält und ein Community-Connector für alle angeforderten Felder ungefilterte Daten zurückgibt, wendet Looker Studio Filter auf die Antwort des Connectors an. Filter können jedoch auf Community-Connector-Ebene angewendet werden, was die Leistung in einigen Fällen erheblich verbessern kann. Filterinformationen werden im Anfrageobjekt "getData()" übergeben. Sie können vom Connector zum Filtern von Daten verwendet werden, bevor sie an Looker Studio zurückgesendet werden.
Wenn Sie beispielsweise eine Verbindung zu einer SQL-Datenbank herstellen und die Filter direkt in der WHERE
-Klausel (B3 im Diagramm unten) anwenden, kann die Anzahl der an Looker Studio zurückgegebenen Zeilen drastisch reduziert werden. Dadurch wird wiederum die Datenmenge begrenzt, die verarbeitet und an Looker Studio (B5) gesendet werden muss.
Regeln für die Anwendung von Filtern
- Wenden Sie alle oder keine Filter an. Siehe Nicht unterstützte Filter
- Fügen Sie keine
forFilterOnly
-Felder in die Antwort ein. AND
für jeden Eintrag im Arrayrequest.dimensionsFilters
zusammen.Beim folgenden Filter sollte der Connector beispielsweise nur Werte mit dem
country
-WertUSA
UND demsource
-WertSocial
enthalten.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
OR
jedes Teilarray im Arrayrequest.dimensionsFilters
zusammen.Beim folgenden Filter sollte der Connector beispielsweise nur Werte mit einem
country
vonUSA
ODER mit einemcountry
vonCanada
enthalten.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Beispiel
Das folgende Beispiel zeigt einen End-to-End-Ablauf vom Nutzer, der Filter definiert, zum Community-Connector, der gefilterte Daten zurückgibt.
Der Nutzer des Berichts hat zwei Filter konfiguriert:
country
istIN_LIST
vonCanada, USA
source
istIN_LIST
vonSocial, Organic
Der Nutzer des Berichts hat eine Diagrammkomponente mit der Dimension
source
und dem Messwertsessions
konfiguriert.getData()
wird von Looker Studio mit dem folgenden Anfrageobjekt ausgeführt:{ "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" }] ] }
Der Connector antwortet mit gefilterten Daten.
Geben Sie für die Beispielanfrage
source
undsessions
zurück, wobeicountry
"Canada"
oder"USA"
ist UNDsource
"Social"
oder"Organic"
ist. Legen SiefiltersApplied
auftrue
fest, da alle Filter erfolgreich angewendet werden konnten.
Ursprüngliche Daten
source | Sitzungen | country |
---|---|---|
Sozial | 60 | USA |
Sozial | 50 | Kanada |
Sozial | 40 | UK |
Bio | 90 | USA |
Bio | 80 | Kanada |
Bio | 70 | UK |
Tageszeitung | 30 | USA |
Tageszeitung | 20 | Kanada |
Tageszeitung | 10 | UK |
Gefilterte Daten
source | Sitzungen |
---|---|
Sozial | 60 |
Sozial | 50 |
Bio | 90 |
Bio | 80 |
getData()
Antwort
{
"schema": [
{"name": "source", "dataType": "STRING"},
{"name": "sessions", "dataType": "NUMBER"},
],
"rows": [
{"values": ["Social", 60]},
{"values": ["Social", 50]},
{"values": ["Organic", 90]},
{"values": ["Organic", 80]}
],
"filtersApplied": true
}
Nicht unterstützte Filter
Wenn der Connector nicht alle Filter in der Anfrage anwenden kann, sollte keine Filterung durchgeführt werden. Geben Sie alle angeforderten Felder zurück (einschließlich der forFilterOnly
-Felder) und legen Sie den Schlüssel filtersApplied
in Ihrer Antwort auf false
fest.
Beispiel:
{
"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
}