Jeśli raport zawiera filtry, a społecznościowe oprogramowanie sprzęgające zwraca niefiltrowane dane dotyczące wszystkich żądanych pól, Looker Studio zastosuje filtry do odpowiedzi oprogramowania sprzęgającego. Filtry można jednak stosować na poziomie społecznościowego oprogramowania sprzęgającego, co w niektórych przypadkach może znacznie poprawić wydajność. Informacje o filtrze są przekazywane w obiekcie żądania getData(), a oprogramowanie sprzęgające może je wykorzystać do filtrowania danych przed ich wysłaniem z powrotem do Looker Studio.
Jeśli na przykład łączysz się z bazą danych SQL, zastosowanie filtrów bezpośrednio w klauzuli WHERE
(B3 na diagramie poniżej) może znacznie zmniejszyć liczbę wierszy zwracanych do Looker Studio. To z kolei ogranicza ilość danych, które muszą zostać przetworzone i wysłane do Looker Studio (B5).
Zasady stosowania filtrów
- Zastosuj wszystkie filtry lub żadny z nich. Zobacz Nieobsługiwane filtry
- Nie umieszczaj w odpowiedzi pól
forFilterOnly
. AND
razem po każdym wpisie w tablicyrequest.dimensionsFilters
.Na przykład w poniższym filtrze oprogramowanie sprzęgające powinno uwzględniać tylko wartości
country
o wartościUSA
ORAZsource
o wartościSocial
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
OR
razem każdej tablicy podrzędnej w tablicyrequest.dimensionsFilters
.Na przykład w poniższym filtrze oprogramowanie sprzęgające powinno uwzględniać tylko wartości, których
country
wynosiUSA
LUBcountry
o wartościCanada
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Przykład
Poniższy przykład ilustruje pełny proces od filtra definiowania przez użytkownika raportu do społecznościowego oprogramowania sprzęgającego zwracającego przefiltrowane dane.
Użytkownik raportu skonfigurował 2 filtry:
- Wartość w kolumnie „
country
”:IN_LIST
zCanada, USA
- Wartość w kolumnie „
source
”:IN_LIST
zSocial, Organic
- Wartość w kolumnie „
Użytkownik raportu skonfigurował komponent wykresu z wymiarem
source
i danymisessions
Looker Studio wykonuje żądanie
getData()
z użyciem tego obiektu żądania:{ "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" }] ] }
Oprogramowanie sprzęgające wysyła w odpowiedzi przefiltrowane dane.
W przykładowym żądaniu zwracaj wartości
source
isessions
, gdziecountry
to"Canada"
lub"USA"
ORAZsource
to"Social"
lub"Organic"
. UstawfiltersApplied
natrue
, ponieważ wszystkie filtry zostały zastosowane.
Oryginalne dane
source | sesje | country |
---|---|---|
Sieci społecznościowe | 60 | USA |
Sieci społecznościowe | 50 | Kanada |
Sieci społecznościowe | 40 | Wielka Brytania |
Bezpłatne wyniki | 90 | USA |
Bezpłatne wyniki | 80 | Kanada |
Bezpłatne wyniki | 70 | Wielka Brytania |
Gazeta | 30 | USA |
Gazeta | 20 | Kanada |
Gazeta | 10 | Wielka Brytania |
Przefiltrowane dane
source | sesje |
---|---|
Sieci społecznościowe | 60 |
Sieci społecznościowe | 50 |
Bezpłatne wyniki | 90 |
Bezpłatne wyniki | 80 |
getData()
odpowiedź
{
"schema": [
{"name": "source", "dataType": "STRING"},
{"name": "sessions", "dataType": "NUMBER"},
],
"rows": [
{"values": ["Social", 60]},
{"values": ["Social", 50]},
{"values": ["Organic", 90]},
{"values": ["Organic", 80]}
],
"filtersApplied": true
}
Nieobsługiwane filtry
Jeśli oprogramowanie sprzęgające nie może zastosować wszystkich filtrów z żądania, nie należy przeprowadzać filtrowania. Zwróć wszystkie wymagane pola (w tym pola forFilterOnly
) i ustaw klucz filtersApplied
w odpowiedzi na false
.
Przykład:
{
"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
}