Nếu báo cáo chứa bộ lọc và trình kết nối cộng đồng trả về dữ liệu chưa được lọc đối với tất cả các trường được yêu cầu, sau đó Looker Studio sẽ áp dụng bộ lọc cho trình kết nối của bạn. Tuy nhiên, bộ lọc có thể được áp dụng ở cấp trình kết nối cộng đồng, có thể cải thiện đáng kể hiệu suất trong một số trường hợp. Thông tin bộ lọc là được truyền vào đối tượng yêu cầu getData() và trình kết nối có thể sử dụng đối tượng này để lọc dữ liệu trước khi gửi lại dữ liệu đó về Looker Studio.
Ví dụ: nếu bạn đang kết nối với cơ sở dữ liệu SQL, việc áp dụng các bộ lọc
ngay trong mệnh đề WHERE
(B3 trong sơ đồ bên dưới) có thể giảm đáng kể
số lượng hàng được trả về Looker Studio. Sau đó, việc này sẽ giới hạn số lượng
dữ liệu cần được xử lý và gửi đến Looker Studio (B5).
Quy tắc áp dụng bộ lọc
- Áp dụng tất cả bộ lọc hoặc không bộ lọc nào. Xem Các bộ lọc không được hỗ trợ
- Không đưa các trường
forFilterOnly
vào câu trả lời. AND
kết hợp từng mục nhập trong mảngrequest.dimensionsFilters
.Ví dụ: đối với bộ lọc sau đây, trình kết nối chỉ bao gồm các giá trị có
country
làUSA
VÀsource
làSocial
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
OR
với nhau từng mảng con trong mảngrequest.dimensionsFilters
.Ví dụ: đối với bộ lọc sau đây, trình kết nối chỉ bao gồm các giá trị có
country
làUSA
HOẶCcountry
làCanada
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Ví dụ:
Ví dụ sau minh hoạ quy trình toàn diện từ người dùng báo cáo xác định các bộ lọc cho trình kết nối cộng đồng trả về dữ liệu đã lọc.
Người dùng báo cáo đã thiết lập 2 bộ lọc:
country
làIN_LIST
/Canada, USA
source
làIN_LIST
/Social, Organic
Người dùng báo cáo đã định cấu hình một thành phần biểu đồ bằng phương diện
source
vàsessions
chỉ sốgetData()
được Looker Studio thực thi với đối tượng yêu cầu sau:{ "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" }] ] }
Trình kết nối sẽ phản hồi bằng dữ liệu đã lọc.
Đối với yêu cầu mẫu, hãy trả về
source
vàsessions
, trong đócountry
là"Canada"
hoặc"USA"
VÀsource
là"Social"
hoặc"Organic"
. ĐặtfiltersApplied
thànhtrue
vì tất cả bộ lọc đều có thể đã áp dụng thành công.
Dữ liệu gốc
nguồn | phiên | country |
---|---|---|
Xã hội | 60 | USA |
Xã hội | 50 | Canada |
Xã hội | 40 | Vương quốc Anh |
Thực phẩm hữu cơ | 90 | USA |
Thực phẩm hữu cơ | 80 | Canada |
Thực phẩm hữu cơ | 70 | Vương quốc Anh |
Báo | 30 | USA |
Báo | 20 | Canada |
Báo | 10 | Vương quốc Anh |
Dữ liệu đã lọc
nguồn | phiên |
---|---|
Xã hội | 60 |
Xã hội | 50 |
Thực phẩm hữu cơ | 90 |
Thực phẩm hữu cơ | 80 |
getData()
câu trả lời
{
"schema": [
{"name": "source", "dataType": "STRING"},
{"name": "sessions", "dataType": "NUMBER"},
],
"rows": [
{"values": ["Social", 60]},
{"values": ["Social", 50]},
{"values": ["Organic", 90]},
{"values": ["Organic", 80]}
],
"filtersApplied": true
}
Các bộ lọc không được hỗ trợ
Nếu trình kết nối không thể áp dụng tất cả các bộ lọc trong yêu cầu, thì không nên lọc
thực hiện. Trả về tất cả các trường được yêu cầu (bao gồm cả forFilterOnly
trường) và đặt khoá filtersApplied
trong phản hồi của bạn thành false
.
Ví dụ:
{
"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
}