보고서에 필터가 포함되어 있고 커뮤니티 커넥터가 요청된 모든 필드에 대해 필터링되지 않은 데이터를 반환하면 Looker Studio는 커넥터 응답에 필터를 적용합니다. 하지만 커뮤니티 커넥터 수준에서 필터를 적용할 수 있으므로 경우에 따라 성능이 크게 개선될 수 있습니다. 필터 정보는 getData() 요청 객체에 전달되며 커넥터는 이 정보를 사용하여 데이터를 Looker Studio로 다시 전송하기 전에 필터링할 수 있습니다.
예를 들어 SQL 데이터베이스에 연결하는 경우 WHERE
절 (아래 다이어그램의 B3)에 직접 필터를 적용하면 Looker Studio로 반환되는 행 수가 크게 줄어들 수 있습니다. 그러면 처리되어 Looker Studio (B5)로 전송해야 하는 데이터의 양이 제한됩니다.
필터 적용 규칙
- 필터를 모두 적용하거나 모두 적용하지 않음을 선택합니다. 지원되지 않는 필터를 참고하세요.
- 응답에
forFilterOnly
필드를 포함하지 마세요. AND
는request.dimensionsFilters
배열의 각 항목을 함께 표시합니다.예를 들어 다음 필터의 경우 커넥터는
country
가USA
및source
이Social
인 값만 포함해야 합니다.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
OR
는request.dimensionsFilters
배열의 각 하위 배열을 포함합니다.예를 들어 다음 필터의 경우 커넥터에는
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_LIST
입니다.source
은(는)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
로 설정합니다.
원본 데이터
소스 | sessions | country |
---|---|---|
소셜 | 60 | 미국 |
소셜 | 50 | 캐나다 |
소셜 | 40 | 영국 |
자연 검색 | 90 | 미국 |
자연 검색 | 80 | 캐나다 |
자연 검색 | 70 | 영국 |
신문 | 30 | 미국 |
신문 | 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
필드 포함)를 반환하고 응답에서 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
}