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 odpowiedzi oprogramowania sprzęgającego. Filtry można jednak stosować na poziomie złącza społecznościowego, co w niektórych przypadkach może znacznie zwiększyć wydajność. Informacje o filtrze są przekazywane w obiekcie żądania getData(), a oprogramowanie sprzęgające może ich używać do filtrowania danych przed odesłaniem ich 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ą być przetwarzane i wysyłane do Looker Studio (B5).
Zasady stosowania filtrów
- Zastosuj wszystkie filtry lub żaden z nich. Zobacz Nieobsługiwane filtry
- Nie uwzględniaj w odpowiedzi pól
forFilterOnly. ANDkażdy wpis w tablicyrequest.dimensionsFilters.Na przykład w przypadku tego filtra łącznik powinien zawierać tylko wartości, które mają
countryo wartościUSAORAZsourceo wartościSocial.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }ORrazem każdą podtablicę w tablicyrequest.dimensionsFilters.Na przykład w przypadku tego filtra łącznik powinien uwzględniać tylko wartości, które mają
countryo wartościUSALUBcountryo 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 przepływ danych od użytkownika raportu, który definiuje filtry, do złącza społecznościowego, które zwraca przefiltrowane dane.
Użytkownik raportu skonfigurował 2 filtry:
countrytoIN_LISTzCanada, USAsourcetoIN_LISTzSocial, Organic
Użytkownik raportu skonfigurował komponent wykresu z wymiarem
sourcei danymisessions.getData()jest wykonywana 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" }] ] }Łącznik odpowiada przefiltrowanymi danymi.
W przypadku przykładowego żądania zwróć
sourceisessions, gdziecountryto"Canada"lub"USA"ORAZsourceto"Social"lub"Organic". Ustaw wartośćfiltersAppliednatrue, ponieważ wszystkie filtry zostały zastosowane.
Dane pierwotne
| źródło | – sesje | kraj |
|---|---|---|
| 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 powinno przeprowadzać filtrowania. Zwróć wszystkie żądane pola (w tym pola forFilterOnly) i ustaw w odpowiedzi klucz filtersApplied 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
}