Filtry

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).

Schemat blokowy filtra

Zasady stosowania filtrów

  1. Zastosuj wszystkie filtry lub żadny z nich. Zobacz Nieobsługiwane filtry
  2. Nie umieszczaj w odpowiedzi pól forFilterOnly.
  3. AND razem po każdym wpisie w tablicy request.dimensionsFilters.

    Na przykład w poniższym filtrze oprogramowanie sprzęgające powinno uwzględniać tylko wartości country o wartości USA ORAZ source o wartości Social.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR razem każdej tablicy podrzędnej w tablicy request.dimensionsFilters.

    Na przykład w poniższym filtrze oprogramowanie sprzęgające powinno uwzględniać tylko wartości, których country wynosi USA LUB country o wartości Canada.

    {
      "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.

Przykładowy filtr

  1. Użytkownik raportu skonfigurował 2 filtry:

    1. Wartość w kolumnie „country”: IN_LIST z Canada, USA
    2. Wartość w kolumnie „source”: IN_LIST z Social, Organic
  2. Użytkownik raportu skonfigurował komponent wykresu z wymiarem source i danymi sessions

  3. 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"
        }]
      ]
    }
    
  4. Oprogramowanie sprzęgające wysyła w odpowiedzi przefiltrowane dane.

    W przykładowym żądaniu zwracaj wartości source i sessions, gdzie country to "Canada" lub "USA" ORAZ source to "Social" lub "Organic". Ustaw filtersApplied na true, 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
}