Bộ lọc

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).

Lưu đồ quy trình bộ lọc

Quy tắc áp dụng bộ lọc

  1. Á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ợ
  2. Đừng thêm trường forFilterOnly vào câu trả lời.
  3. AND cùng nhau với từng mục nhập trong mảng request.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ó countryUSA sourceSocial.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR kết hợp từng mảng con trong mảng request.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ó countryUSA HOẶC countryCanada.

    {
      "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.

Bộ lọc mẫu

  1. Người dùng báo cáo đã định cấu hình 2 bộ lọc:

    1. countryIN_LIST/Canada, USA
    2. sourceIN_LIST/Social, Organic
  2. 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

  3. 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"
        }]
      ]
    }
    
  4. 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ề sourcesessions, trong đó country"Canada" hoặc "USA" source"Social" hoặc "Organic". Đặt filtersApplied thành true 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
}