篩選器

如果報表包含篩選器,且社群連接器傳回未篩選的資料 ,Looker Studio 就會對連接器套用篩選器 回應。但可以在社群連接器層級套用篩選器 在某些情況下可大幅改善效能篩選器資訊為 getData() request 物件中傳遞,連接器可以使用這個方法 瞭解篩選資料,再傳回 Looker Studio。

舉例來說,如果您要連線至 SQL 資料庫,即可套用篩選器 加入 WHERE 子句中 (下圖中的 B3) 可能會大幅減少 傳回至 Looker Studio 的列數。進而限制 的規模資料。這些資料必須處理並傳送至 Looker Studio (B5)。

篩選流程圖

篩選器套用規則

  1. 套用「所有」篩選器,或套用「無」篩選器。請參閱不支援的篩選器
  2. 請勿在回應中加入 forFilterOnly 欄位。
  3. AND 會將 request.dimensionsFilters 陣列中的每個項目加總。

    舉例來說,在下列篩選器中,連接器應該只包括 值為 USAcountry sourceSocial

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR 可將 request.dimensionsFilters 陣列中的每個子陣列合併。

    舉例來說,在下列篩選器中,連接器應該只包括 值為 USAcountry 「或」countryCanada

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
,瞭解如何調查及移除這項存取權。

範例

以下範例說明報表使用者的端對端流程 定義篩選器,讓社群連接器傳回篩選過的資料。

範例篩選器

  1. 報表使用者設定了兩個篩選器:

    1. countryCanada, USAIN_LIST
    2. sourceSocial, OrganicIN_LIST
  2. 報表使用者設定了含「source」維度的圖表元件 和 sessions 個指標

  3. getData() 會透過下列要求物件執行:

    {
      "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. 連接器會依據篩除的資料回應。

    針對要求範例,傳回 sourcesessions,其中 country"Canada""USA" source"Social""Organic"。 將 filtersApplied 設為 true,因為所有篩選器皆可 已成功套用。

原始資料

來源 sessions country
社群媒體 60 USA
社群媒體 50 加拿大
社群媒體 40 英國
有機 90 USA
有機 80 加拿大
有機 70 英國
報紙 30 USA
報紙 20 加拿大
報紙 10 英國

經過篩選的資料

來源 sessions
社群媒體 60
社群媒體 50
有機 90
有機 80

getData() 則回應

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

不支援的篩選器

如果連接器無法套用要求中的所有篩選器,則不應套用任何篩選條件 執行任務傳回所有必要的欄位 (包括 forFilterOnly) 欄位),並在對 false 的回應中設定 filtersApplied 鍵。

範例:

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