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 cho tất cả các trường được yêu cầu, thì Looker Studio sẽ áp dụng các bộ lọc cho phản hồi của trình kết nối. Tuy nhiên, bạn có thể áp dụng bộ lọc ở cấp trình kết nối cộng đồng để cải thiện đáng kể hiệu suất trong một số trường hợp. Thông tin bộ lọc sẽ được truyền vào đối tượng yêu cầu getData() và trình kết nối có thể dùng thông tin này để lọc dữ liệu trước khi gửi lại Looker Studio.
Ví dụ: nếu bạn đang kết nối với cơ sở dữ liệu SQL, thì việc áp dụng các bộ lọc trực tiếp trong mệnh đề WHERE
(B3 trong sơ đồ bên dưới) có thể làm giảm đáng kể số lượng hàng được trả về Looker Studio. Đổi lại, điều này sẽ giới hạn lượng dữ liệu phải đượ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 áp dụng bộ lọc nào. Xem Bộ lọc không được hỗ trợ
- Đừng thêm trường
forFilterOnly
vào câu trả lời. AND
cùng nhau với 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ỉ nên 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
kết hợp 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ỉ nên 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ạ một luồng từ đầu đến cuối từ báo cáo người dùng xác định 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 đã định cấu hình 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 đồ có phương diện
source
và chỉ sốsessions
getData()
được Looker Studio thực thi bằng đố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 phản hồi bằng dữ liệu đã lọc.
Trong 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ả các bộ lọc có thể áp dụng thành công.
Dữ liệu gốc
source | số phiên hoạt động | quốc gia |
---|---|---|
Xã hội | 60 | Hoa Kỳ |
Xã hội | 50 | Canada |
Xã hội | 40 | Vương quốc Anh |
Thực phẩm hữu cơ | 90 | Hoa Kỳ |
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 | Hoa Kỳ |
Báo | 20 | Canada |
Báo | 10 | Vương quốc Anh |
Dữ liệu đã lọc
source | số phiên hoạt động |
---|---|
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
}
Không hỗ trợ bộ lọc
Nếu không thể áp dụng tất cả bộ lọc trong yêu cầu thì trình kết nối không nên thực hiện lọc. Trả về tất cả các trường được yêu cầu (bao gồm cả các trường forFilterOnly
) và đặt khoá filtersApplied
trong phản hồi 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
}