فیلترها به شما امکان میدهند دادههایی را که هنگام مشاهده صفحهگسترده میبینید مرتب و فیلتر کنید. فیلترها مقادیر داده ها را در صفحه گسترده شما تغییر نمی دهند. می توانید از فیلترها برای پنهان کردن یا مرتب کردن موقت اطلاعات استفاده کنید. وقتی فیلتر روشن است، دادههایی که با معیارهای فیلتر مشخص شده مطابقت دارند، ظاهر نمیشوند. با نماهای فیلتر ، همچنین میتوانید فیلترهای نامگذاری شده مختلف را ذخیره کنید و هر زمان که بخواهید بین آنها جابهجا شوید.
موارد زیر چند نمونه از موارد استفاده برای فیلترها هستند:
- مرتب سازی داده ها بر اساس یک ستون خاص به عنوان مثال، سوابق کاربر را بر اساس نام خانوادگی مرتب کنید.
- مخفی کردن داده هایی که شرایط خاصی را دارند. به عنوان مثال، تمام رکوردهای قدیمی تر از 2 سال را مخفی کنید.
- مخفی کردن داده هایی که با مقدار خاصی مطابقت دارند. به عنوان مثال، تمام مشکلات با وضعیت "بسته" را پنهان کنید.
فیلتر اصلی
BasicFilter
برای یک صفحه گسترده، فیلتر پیش فرضی است که هر زمان که هر کسی صفحه گسترده را مشاهده کند اعمال می شود. یک صفحه گسترده می تواند یک فیلتر اصلی در هر صفحه داشته باشد. با پاک کردن فیلتر اصلی می توانید آن را خاموش کنید. این فیلتر و تمام تنظیمات آن را از صفحه گسترده حذف می کند. اگر می خواهید همان فیلتر را دوباره روشن کنید، باید دوباره معیارها را تنظیم کنید.
فیلتر اصلی را مدیریت کنید
برای تنظیم یا پاک کردن فیلتر اصلی، از روش spreadsheets.batchUpdate
با نوع درخواست مناسب استفاده کنید:
- برای تنظیم فیلتر اصلی، از روش
SetBasicFilterRequest
استفاده کنید. - برای پاک کردن فیلتر اصلی، از روش
ClearBasicFilterRequest
استفاده کنید.
برای فهرست کردن فیلتر اصلی، از روش spreadsheets.get
استفاده کنید و پارامتر URL fields
را روی sheets/basicFilter
تنظیم کنید. نمونه کد spreadsheets.get
زیر نشانی اینترنتی کاربرگنگار Google را با ماسک فیلد نشان میدهد:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter)
نماها را فیلتر کنید
FilterView
یک فیلتر با نام است که می توانید هر زمان که بخواهید آن را خاموش و روشن کنید. یک صفحهگسترده میتواند چندین نمای فیلتر داشته باشد، اما شما میتوانید هر بار فقط یکی را اعمال کنید.
موارد زیر چند نمونه از موارد استفاده برای نماهای فیلتر هستند:
- شما چندین فیلتر مختلف دارید که می خواهید هنگام مشاهده داده ها بین آنها جابجا شوید.
- شما به صفحهگسترده دسترسی ویرایش ندارید اما همچنان میخواهید فیلتری اعمال کنید. در این حالت، می توانید یک نمای فیلتر موقت ایجاد کنید که فقط برای شما قابل مشاهده است.
شما می خواهید که هر فردی که صفحه گسترده خود را با آنها به اشتراک می گذارید، داده ها را به گونه ای متفاوت مشاهده کند. میتوانید نمای فیلتری را که میخواهید اعمال کنید، با ارائه
spreadsheetId
وfilterViewId
در URL صفحهگسترده مشخص کنید. برای انجام این کار، ازfilterViewId
که در پاسخ هنگام ایجاد نمای فیلتر بازگردانده شده است استفاده کنید.نمونه کد زیر یک URL کاربرگنگار Google را با نمای فیلتر نشان میدهد:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
نماهای فیلتر را مدیریت کنید
برای ایجاد، کپی، اصلاح یا حذف نماهای فیلتر، از روش spreadsheets.batchUpdate
با نوع درخواست مناسب استفاده کنید:
- برای ایجاد نمای فیلتر، از روش
AddFilterViewRequest
استفاده کنید. - برای کپی کردن یک نمای فیلتر، از روش
DuplicateFilterViewRequest
استفاده کنید. - برای تغییر خصوصیات نمای فیلتر، از روش
UpdateFilterViewRequest
استفاده کنید. - برای حذف نمای فیلتر، از روش
DeleteFilterViewRequest
استفاده کنید.
برای فهرست کردن همه نماهای فیلتر، از روش spreadsheets.get
استفاده کنید و پارامتر URL fields
را روی sheets/filterViews
تنظیم کنید. نمونه کد spreadsheets.get
زیر نشانی اینترنتی کاربرگنگار Google را با ماسک فیلد نشان میدهد:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews)
نمایندگی فیلتر
نمونه کد زیر نمایش JSON را برای یک شی FilterView
نشان می دهد. شی BasicFilter
یکسان است با این تفاوت که فاقد فیلدهای filterViewId
و title
است و نمی تواند از محدوده ای با نام استفاده کند.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
داده های نمونه
بقیه این سند به مثال جدول داده های فروش زیر اشاره دارد:
الف | ب | سی | D | E | اف | جی | |
1 | دسته بندی آیتم | شماره مدل | هزینه | مقدار | منطقه | فروشنده | تاریخ ارسال |
2 | چرخ | W-24 | 20.50 دلار | 4 | غرب | بث | 3/1/2016 |
3 | درب | D-01X | 15.00 دلار | 2 | جنوب | امیر | 1395/3/15 |
4 | قاب | FR-0B1 | 34.00 دلار | 8 | شرق | هانا | 3/12/2016 |
5 | پانل | P-034 | 6.00 دلار | 4 | شمال | دوین | 1395/3/15 |
6 | پانل | P-052 | 11.50 دلار | 7 | شرق | اریک | 1395/5/16 |
7 | چرخ | W-24 | 20.50 دلار | 11 | جنوب | شلدون | 30/4/2016 |
8 | موتور | ENG-0161 | 330.00 دلار | 2 | شمال | جسی | 7/2/2016 |
مشخصات مرتب سازی
یک فیلتر می تواند دارای مشخصات مرتب سازی چندگانه باشد. این مشخصات نحوه مرتبسازی دادهها را تعیین میکنند و به ترتیب مشخص اعمال میشوند. ویژگی SortSpec.dimensionIndex
نمایه ستونی را مشخص می کند که مرتب سازی باید روی آن اعمال شود.
نمونه کد زیر یک مشخصه مرتب سازی را نشان می دهد:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
وقتی برای مثال دادههای فروش اعمال میشود، این مشخصات ابتدا بر اساس «تعداد» و سپس، اگر 2 ردیف دارای مقدار یکسانی باشند، براساس «تاریخ ارسال» مرتبسازی میشود.
الف | ب | سی | D | E | اف | جی | |
1 | دسته بندی آیتم | شماره مدل | هزینه | مقدار | منطقه | فروشنده | تاریخ ارسال |
2 | درب | D-01X | 15.00 دلار | 2 | جنوب | امیر | 1395/3/15 |
3 | موتور | ENG-0161 | 330.00 دلار | 2 | شمال | جسی | 7/2/2016 |
4 | چرخ | W-24 | 20.50 دلار | 4 | غرب | بث | 3/1/2016 |
5 | پانل | P-034 | 6.00 دلار | 4 | شمال | دوین | 1395/3/15 |
6 | پانل | P-052 | 11.50 دلار | 7 | شرق | اریک | 1395/5/16 |
7 | قاب | FR-0B1 | 34.00 دلار | 8 | شرق | هانا | 3/12/2016 |
8 | چرخ | W-24 | 20.50 دلار | 11 | جنوب | شلدون | 30/4/2016 |
معیارهای فیلتر
روش FilterCriteria
تعیین میکند که چه دادههای صفحهگسترده در یک فیلتر یا نمای فیلتر اصلی نشان داده یا پنهان شود. هر معیار به مقادیر یک ستون خاص بستگی دارد. شما معیارهای فیلتر را به عنوان یک نقشه ارائه می کنید که در آن کلیدها شاخص های ستون هستند و مقادیر معیار هستند.
برای معیارهای مشخص شده با استفاده از یک condition
بولی، برای نمایش مقادیر، شرط باید True
باشد. شرط hiddenValues
لغو نمی کند. اگر مقداری در زیر hiddenValues
فهرست شده باشد، همه مطابقتهای یک مقدار همچنان پنهان هستند.
نمونه کد زیر یک نقشه معیار فیلتر را نشان می دهد:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
وقتی این معیار برای نمونه دادههای فروش اعمال میشود، فقط ردیفهایی را نشان میدهد که «رده کالا» «پانل» نیست و «تاریخ ارسال» قبل از 30 آوریل 2016 است.
الف | ب | سی | D | E | اف | جی | |
1 | دسته بندی آیتم | شماره مدل | هزینه | مقدار | منطقه | فروشنده | تاریخ ارسال |
2 | چرخ | W-24 | 20.50 دلار | 4 | غرب | بث | 3/1/2016 |
3 | درب | D-01X | 15.00 دلار | 2 | جنوب | امیر | 1395/3/15 |
4 | قاب | FR-0B1 | 34.00 دلار | 8 | شرق | هانا | 3/12/2016 |
نمونه
نمونه کد زیر نحوه ایجاد نمای فیلتر، کپی کردن آن و سپس به روز رسانی نسخه تکراری را با استفاده از نمونه داده های فروش بالا نشان می دهد.