Tài liệu này trình bày về cách sử dụng bộ lọc để sắp xếp và lọc dữ liệu xuất hiện trong a bảng tính.
Bộ lọc cho phép bạn sắp xếp và lọc dữ liệu mà bạn thấy khi xem bảng tính. Bộ lọc không thay đổi giá trị dữ liệu trong bảng tính. Bạn có thể sử dụng bộ lọc để tạm thời ẩn hoặc sắp xếp thông tin. Dữ liệu khớp với tiêu chí bộ lọc đã chỉ định sẽ không xuất hiện khi bộ lọc đang bật. Với chế độ xem bộ lọc, bạn cũng có thể lưu nhiều bộ lọc có tên và chuyển đổi giữa các bộ lọc đó bất cứ khi nào bạn muốn.
Để lọc dữ liệu được trả về trong yêu cầu API Google Trang tính, hãy sử dụng đối tượng
DataFilter. Để biết thêm thông tin, hãy xem bài viết Đọc, ghi và tìm kiếm siêu dữ liệu.
Trường hợp sử dụng bộ lọc
Dưới đây là một số trường hợp sử dụng bộ lọc:
- Sắp xếp dữ liệu theo một cột cụ thể. Ví dụ: sắp xếp bản ghi người dùng theo họ.
- Ẩn dữ liệu đáp ứng một điều kiện cụ thể. Ví dụ: ẩn tất cả bản ghi cũ hơn 2 năm.
- Ẩn dữ liệu khớp với một giá trị nhất định. Ví dụ: ẩn tất cả vấn đề có trạng thái "đã đóng".
Bộ lọc cơ bản
Đối tượng
BasicFilter
cho bảng tính là bộ lọc mặc định được áp dụng bất cứ khi nào có người
xem bảng tính. Một bảng tính chỉ có thể có một bộ lọc cơ bản cho mỗi
trang tính. Bạn có thể tắt bộ lọc cơ bản bằng cách xoá bộ lọc đó. Thao tác này sẽ xoá bộ lọc và tất cả chế độ cài đặt của bộ lọc đó khỏi bảng tính. Nếu muốn bật lại cùng một bộ lọc, bạn phải đặt lại tiêu chí.
Quản lý bộ lọc cơ bản
Để đặt hoặc xoá bộ lọc cơ bản, hãy sử dụng phương thức
spreadsheets.batchUpdate
với loại yêu cầu thích hợp:
- Để đặt bộ lọc cơ bản, hãy sử dụng phương thức
SetBasicFilterRequest. - Để xoá bộ lọc cơ bản, hãy sử dụng
ClearBasicFilterRequestphương thức.
Để liệt kê bộ lọc cơ bản, hãy sử dụng
spreadsheets.get
phương thức và đặt tham số URL fields thành sheets/basicFilter. Mã mẫu
spreadsheets.get sau đây cho thấy một URL Google Trang tính có mặt nạ
trường:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter
Chế độ xem dạng lọc
A
FilterView
là một bộ lọc có tên mà bạn có thể bật và tắt bất cứ khi nào bạn muốn. Một trang tính có thể lưu nhiều chế độ xem bộ lọc, nhưng bạn chỉ có thể áp dụng một chế độ xem bộ lọc tại một thời điểm. Một trang tính cũng có thể chứa cả bộ lọc cơ bản và nhiều chế độ xem bộ lọc, nhưng bạn không thể áp dụng cả hai cùng lúc trên cùng một phạm vi dữ liệu.
Trường hợp sử dụng chế độ xem bộ lọc
Dưới đây là một số trường hợp sử dụng chế độ xem bộ lọc:
- Bạn có một số bộ lọc khác nhau mà bạn muốn chuyển đổi giữa các bộ lọc đó khi xem dữ liệu.
- Bạn không có quyền chỉnh sửa đối với một bảng tính nhưng vẫn muốn áp dụng bộ lọc. Trong trường hợp này, bạn có thể tạo một chế độ xem bộ lọc tạm thời mà chỉ bạn mới nhìn thấy.
Bạn muốn mỗi người mà bạn chia sẻ bảng tính đều xem dữ liệu theo cách khác nhau. Bạn có thể chỉ định chế độ xem bộ lọc mà bạn muốn áp dụng bằng cách cung cấp the
spreadsheetIdandfilterViewIdtrong URL bảng tính. Để thực hiện việc này, hãy sử dụngfilterViewIdđược trả về trong phản hồi khi bạn tạo chế độ xem bộ lọc.Mã mẫu sau đây cho thấy một URL Sheets có chế độ xem bộ lọc:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Quản lý chế độ xem bộ lọc
Để tạo, sao chép, sửa đổi hoặc xoá chế độ xem bộ lọc, hãy sử dụng phương thức
spreadsheets.batchUpdate
với loại yêu cầu thích hợp:
- Để tạo chế độ xem bộ lọc, hãy sử dụng
AddFilterViewRequestphương thức. - Để tạo bản sao của chế độ xem bộ lọc, hãy sử dụng
DuplicateFilterViewRequestphương thức. - Để sửa đổi các thuộc tính của chế độ xem bộ lọc, hãy sử dụng
UpdateFilterViewRequestphương thức. - Để xoá chế độ xem bộ lọc, hãy sử dụng
DeleteFilterViewRequestphương thức.
Để liệt kê tất cả chế độ xem bộ lọc, hãy sử dụng
spreadsheets.get
phương thức và đặt tham số URL fields thành sheets/filterViews. Mã mẫu
spreadsheets.get sau đây cho thấy một URL Sheets có mặt nạ
trường:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews
Biểu diễn bộ lọc dưới dạng JSON
Mã mẫu sau đây cho thấy biểu diễn JSON cho đối tượng
FilterView. Đối tượng
BasicFilter
cũng tương tự, ngoại trừ việc đối tượng này thiếu các trường filterViewId và title,
đồng thời không thể sử dụng dải ô được đặt tên.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Dữ liệu bán hàng mẫu
Phần còn lại của tài liệu này tham chiếu đến bảng dữ liệu bán hàng mẫu sau đây:
| A | B | C | D | E | F | G | |
| 1 | Danh mục mặt hàng | Số kiểu máy | Chi phí | Số lượng | Vùng | Nhân viên bán hàng | Ngày giao hàng |
| 2 | Bánh xe | W-24 | 20,50 USD | 4 | Tây | Beth | 1/3/2016 |
| 3 | Cửa ra vào | D-01X | 15,00 USD | 2 | Nam | Amir | 15/3/2016 |
| 4 | Khung | FR-0B1 | 34,00 USD | 8 | Đông | Hannah | 12/3/2016 |
| 5 | Bảng điều khiển | P-034 | 6 USD | 4 | Bắc | Devyn | 15/3/2016 |
| 6 | Bảng điều khiển | P-052 | 11,50 USD | 7 | Đông | Erik | 16/5/2016 |
| 7 | Bánh xe | W-24 | 20,50 USD | 11 | Nam | Sheldon | 30/4/2016 |
| 8 | Công cụ | ENG-0161 | 330,00 USD | 2 | Bắc | Jessie | 2/7/2016 |
Thông số sắp xếp
Một bộ lọc có thể có nhiều thông số sắp xếp. Các thông số này xác định cách sắp xếp dữ liệu và được áp dụng theo thứ tự đã chỉ định. Thuộc tính
SortSpec.dimensionIndex
chỉ định chỉ mục cột mà thao tác sắp xếp sẽ được áp dụng.
Mã mẫu sau đây cho thấy một thông số sắp xếp:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
Khi áp dụng cho dữ liệu bán hàng mẫu, thông số này sẽ sắp xếp theo cột "Số lượng" trước, sau đó, nếu 2 hàng có cùng số lượng, thì sẽ sắp xếp theo "Ngày giao hàng".
| A | B | C | D | E | F | G | |
| 1 | Danh mục mặt hàng | Số kiểu máy | Chi phí | Số lượng | Vùng | Nhân viên bán hàng | Ngày giao hàng |
| 2 | Cửa ra vào | D-01X | 15,00 USD | 2 | Nam | Amir | 15/3/2016 |
| 3 | Công cụ | ENG-0161 | 330,00 USD | 2 | Bắc | Jessie | 2/7/2016 |
| 4 | Bánh xe | W-24 | 20,50 USD | 4 | Tây | Beth | 1/3/2016 |
| 5 | Bảng điều khiển | P-034 | 6 USD | 4 | Bắc | Devyn | 15/3/2016 |
| 6 | Bảng điều khiển | P-052 | 11,50 USD | 7 | Đông | Erik | 16/5/2016 |
| 7 | Khung | FR-0B1 | 34,00 USD | 8 | Đông | Hannah | 12/3/2016 |
| 8 | Bánh xe | W-24 | 20,50 USD | 11 | Nam | Sheldon | 30/4/2016 |
Tiêu chí bộ lọc
Đối tượng
FilterCriteria
xác định dữ liệu bảng tính nào được hiển thị hoặc ẩn trong bộ lọc cơ bản hoặc
chế độ xem bộ lọc. Mỗi tiêu chí phụ thuộc vào các giá trị trong một cột cụ thể. Bạn cung cấp tiêu chí bộ lọc dưới dạng bản đồ, trong đó các khoá là chỉ mục cột và các giá trị là tiêu chí.
Đối với tiêu chí được chỉ định bằng cách sử dụng boolean
condition,
điều kiện phải là true để các giá trị được hiển thị. Điều kiện không ghi đè hiddenValues.
Nếu một giá trị được liệt kê trong hiddenValues, thì tất cả kết quả khớp cho một giá trị vẫn bị ẩn.
Mã mẫu sau đây cho thấy bản đồ tiêu chí bộ lọc:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
Khi áp dụng cho dữ liệu bán hàng mẫu, tiêu chí này chỉ hiển thị các hàng có giá trị cột "Danh mục mặt hàng" không phải là "Bảng điều khiển" và giá trị cột "Ngày giao hàng" là trước "Ngày 30 tháng 4 năm 2016".
| A | B | C | D | E | F | G | |
| 1 | Danh mục mặt hàng | Số kiểu máy | Chi phí | Số lượng | Vùng | Nhân viên bán hàng | Ngày giao hàng |
| 2 | Bánh xe | W-24 | 20,50 USD | 4 | Tây | Beth | 1/3/2016 |
| 3 | Cửa ra vào | D-01X | 15,00 USD | 2 | Nam | Amir | 15/3/2016 |
| 4 | Khung | FR-0B1 | 34,00 USD | 8 | Đông | Hannah | 12/3/2016 |
Mã mẫu chế độ xem bộ lọc
Mã mẫu sau đây cho thấy cách tạo chế độ xem bộ lọc, sao chép chế độ xem đó, và sau đó cập nhật phiên bản đã sao chép bằng dữ liệu bán hàng mẫu.