Filter

Wenn ein Bericht Filter enthält und ein Community-Connector ungefilterte Daten zurückgibt werden die Filter in Looker Studio auf den Connector angewendet. Antwort. Filter können jedoch auch auf Community-Connector-Ebene angewendet werden, kann die Leistung in einigen Fällen erheblich verbessern. Filterinformationen sind werden im getData()-Anfrageobjekt übergeben. um Daten zu filtern, bevor sie an Looker Studio zurückgesendet werden.

Wenn Sie beispielsweise eine Verbindung zu einer SQL-Datenbank herstellen und die Filter direkt in der WHERE-Klausel (B3 im Diagramm unten) kann drastisch abnehmen Anzahl der an Looker Studio zurückgegebenen Zeilen Dadurch wird wiederum der Betrag begrenzt, die verarbeitet und an Looker Studio (B5) gesendet werden müssen.

Flussdiagramm filtern

Regeln für die Anwendung von Filtern

  1. Wenden Sie alle oder keinen Filter an. Siehe Nicht unterstützte Filter
  2. Die Antwort darf keine forFilterOnly-Felder enthalten.
  3. AND die einzelnen Einträge im Array request.dimensionsFilters zusammenfügen.

    Für den folgenden Filter sollte der Connector beispielsweise nur -Werte, die country von USA UND source Social haben.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR-Teile zusammen jedes Teilarray im request.dimensionsFilters-Array.

    Für den folgenden Filter sollte der Connector beispielsweise nur Werte mit einem country von USA ODER einem country von Canada.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    

Beispiel

Das folgende Beispiel zeigt einen End-to-End-Ablauf vom Nutzer des Berichts Sie definieren Filter für den Community-Connector, der gefilterte Daten zurückgibt.

Beispielfilter

  1. Der Nutzer des Berichts hat zwei Filter konfiguriert:

    1. country ist IN_LIST von Canada, USA
    2. source ist IN_LIST von Social, Organic
  2. Der Nutzer des Berichts hat eine Diagrammkomponente mit der Dimension „source“ konfiguriert und Messwert „sessions

  3. getData() wird von Looker Studio mit dem folgenden Anfrageobjekt ausgeführt:

    {
      "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. Der Connector antwortet mit gefilterten Daten.

    Geben Sie für die Beispielanfrage source und sessions zurück, wobei country ist "Canada" oder "USA" UND der source ist "Social" oder "Organic". Legen Sie filtersApplied auf true fest, da alle Filter erfolgreich angewendet.

Originaldaten

source Sitzungen country
Sozial 60 USA
Sozial 50 Kanada
Sozial 40 UK
Bio 90 USA
Bio 80 Kanada
Bio 70 UK
Zeitung 30 USA
Zeitung 20 Kanada
Zeitung 10 UK

Gefilterte Daten

source Sitzungen
Sozial 60
Sozial 50
Bio 90
Bio 80

getData() Antwort

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
  ],
  "rows": [
    {"values": ["Social", 60]},
    {"values": ["Social", 50]},
    {"values": ["Organic", 90]},
    {"values": ["Organic", 80]}
  ],
  "filtersApplied": true
}

Nicht unterstützte Filter

Wenn der Connector nicht alle Filter in der Anfrage anwenden kann, sollte keine Filterung durchgeführt wurde. Gibt alle angeforderten Felder zurück (einschließlich forFilterOnly). Felder) und legen Sie den Schlüssel filtersApplied in Ihrer Antwort auf false fest.

Beispiel:

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