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