Jeśli raport zawiera filtry, a społecznościowe oprogramowanie sprzęgające zwraca niefiltrowane dane dla wszystkich żądanych pól, Looker Studio zastosuje filtry do oprogramowania sprzęgającego . Filtry można jednak stosować na poziomie społecznościowego oprogramowania sprzęgającego, może w niektórych przypadkach znacznie poprawić wydajność. Obecne informacje o filtrze przekazywane w obiekcie żądania getData(), a oprogramowanie sprzęgające może go użyć aby filtrować dane przed ich przesł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 się znacznie zmniejszyć.
liczbę wierszy zwróconych do Looker Studio. To z kolei ogranicza ilość informacji
danych, które trzeba przetworzyć i wysłać do Looker Studio (B5).
Zasady stosowania filtrów
- Zastosuj wszystkie filtry lub żadne z nich. Zobacz Nieobsługiwane filtry
- Nie umieszczaj w odpowiedzi pól
forFilterOnly
. AND
łącznie każdy wpis w tablicyrequest.dimensionsFilters
.Na przykład w przypadku tego filtra oprogramowanie sprzęgające powinno zawierać tylko z wartościami
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żdą tablicę podrzędną w tablicyrequest.dimensionsFilters
.Na przykład w przypadku tego filtra oprogramowanie sprzęgające powinno zawierać tylko wartości, które mają
country
o wartościUSA
LUBcountry
o wartościCanada
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Przykład
Przykład poniżej przedstawia pełny przepływ informacji od użytkownika raportu w celu zdefiniowania filtrów dla społecznościowego oprogramowania sprzęgającego, które zwracają przefiltrowane dane.
Użytkownik raportu skonfigurował 2 filtry:
country
toIN_LIST
zCanada, USA
source
toIN_LIST
zSocial, Organic
Użytkownik raportu skonfigurował komponent wykresu z wymiarem
source
isessions
wskaźnikNarzędzie
getData()
jest wykonywane przez Looker Studio z tym obiektem żą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 przesyła przefiltrowane dane.
Dla przykładowego żądania zwróć
source
isessions
, gdziecountry
to"Canada"
lub"USA"
ORAZsource
to"Social"
lub"Organic"
. UstawfiltersApplied
natrue
, ponieważ wszystkie filtry mogły zostać zastosowano.
Oryginalne dane
źródło | – 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
źródło | – 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 w żądaniu, nie należy stosować filtrowania
przeprowadzonych przez nas działań. Zwróć wszystkie wymagane pola (w tym forFilterOnly
)
pola) 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
}