I have a list of values in column A in a Google sheet. I'm attempting to write a script that will create a filter view for each unique value in the column.
I've written the below code, however I create a list of filter views for every value in the column rather than each unique value.
Is there a better way to write the script? How can I limit the filter views to unique values rather than every value?
function create_filter_view_test() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssId = ss.getId();
var sheet1 = ss.getSheetByName("Sheet1");
var sheetId1 = sheet1.getSheetId();
var range1 = sheet1.getRange("A2:A" + sheet1.getLastRow());
var values1 = range1.getValues();
var requests = values1.map(([a]) => ({ addFilterView: { filter: { title: a, range: { sheetId: sheetId1, startRowIndex: 0, startColumnIndex: 0 }, filterSpecs: [{ columnIndex: 0, filterCriteria: { condition: { type: "TEXT_EQ", values: [{ userEnteredValue: a }] } } }] } } }));
var response = Sheets.Spreadsheets.batchUpdate({ requests }, ssId);
}