Filtry

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

Schemat blokowy filtra

Zasady stosowania filtrów

  1. Zastosuj wszystkie filtry lub żaden z nich. Zobacz Nieobsługiwane filtry
  2. Nie uwzględniaj w odpowiedzi pól forFilterOnly.
  3. AND każdy wpis w tablicy request.dimensionsFilters.

    Na przykład w przypadku tego filtra łącznik powinien zawierać tylko wartości, które mają 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żdą podtablicę w tablicy request.dimensionsFilters.

    Na przykład w przypadku tego filtra łącznik powinien uwzględniać tylko wartości, które mają country o wartości 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 przepływ danych od użytkownika raportu, który definiuje filtry, do złącza społecznościowego, które zwraca przefiltrowane dane.

Przykładowy filtr

  1. Użytkownik raportu skonfigurował 2 filtry:

    1. country to IN_LIST z Canada, USA
    2. source to IN_LIST z Social, Organic
  2. Użytkownik raportu skonfigurował komponent wykresu z wymiarem source i danymi sessions.

  3. 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"
        }]
      ]
    }
    
  4. Łącznik odpowiada przefiltrowanymi danymi.

    W przypadku przykładowego żądania zwróć sourcesessions, gdzie country to "Canada" lub "USA" ORAZ source to "Social" lub "Organic". Ustaw wartość filtersApplied na true, 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
}