如果报告包含过滤条件,但社区连接器返回未过滤的数据 请求的所有字段,Looker Studio 会将过滤条件应用于连接器 响应。不过,您可以在社区连接器级别应用过滤器,这在某些情况下可以显著提高性能。过滤条件信息现为 getData() 请求对象中传递,且连接器可以使用此 信息来过滤数据,然后再将其发送回 Looker Studio。
例如,如果您要连接到 SQL 数据库,
直接放在 WHERE 子句中(下图中的 B3)可能会大幅降低
返回 Looker Studio 的行数。这反过来又限制了
数据,必须进行处理并发送到 Looker Studio (B5)。

应用过滤器的规则
- 要么应用全部过滤器,要么一个也不应用。请参阅不支持的过滤器
- 请勿在响应中包含
forFilterOnly字段。 将
request.dimensionsFilters数组中的每个条目通过AND运算结合到一起。例如,对于下面的过滤器,连接器应仅包含
country为USA且source为Social的值。{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }将
request.dimensionsFilters数组中的每个子数组通过OR运算结合到一起。例如,对于下面的过滤器,连接器应仅包含
country为USA或country为Canada的值。{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
示例
以下示例演示了从报告用户定义过滤器到社区连接器返回过滤后的数据的端到端流程。

报告用户已配置两个过滤器:
country是Canada, USA的IN_LISTsource是Social, Organic的IN_LIST
报告用户已使用“
source”维度配置了图表组件 和sessions指标getData()由 Looker Studio 使用以下请求对象执行:{ "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" }] ] }连接器做出响应,返回过滤后的数据。
对于示例请求,返回
source和sessions,其中country为"Canada"或"USA",并且source为"Social"或"Organic"。 将filtersApplied设置为true,因为所有过滤器都可以 已成功应用。
原始数据
| 来源 | 会话数 | 国家/地区 |
|---|---|---|
| Social | 60 | USA |
| Social | 50 | Canada |
| Social | 40 | UK |
| Organic | 90 | USA |
| Organic | 80 | Canada |
| Organic | 70 | UK |
| Newspaper | 30 | USA |
| Newspaper | 20 | Canada |
| Newspaper | 10 | UK |
过滤后的数据
| 来源 | 会话数 |
|---|---|
| Social | 60 |
| Social | 50 |
| Organic | 90 |
| Organic | 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
字段),并将响应中的 filtersApplied 键设为 false。
示例:
{
"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
}