turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- JMP User Community
- :
- Discussions
- :
- How to filter a list based on another list

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

Highlighted

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 17, 2017 1:54 AM
(963 views)

Hello

it should be easy but I cannot figure out by myself.

I have 2 lists and I would like to filter the first 1 based on the second

- ColList --> contain my table column names
- CompList --> contain extractant

**For example **

ColList = ("aa_Lio", "aa_Leo", "ab_Lio", "ab_Leo", "ac_Lio", "ac_Leo", "ad_Lio", "ad_Leo" )

CompList = ("Lio")

**Goal**

create a list which I call extractCol whichwould be in my example extractCol = ("aa_Lio", "ab_Lio", "ac_Lio", "ad_Lio")

**here is my script. If i dont use the For loop it works ...**

For( k = 1, k <= 1, k++,

For( i = 1, i <= 3, i++,

If( Contains( ColList[i], CompList[k]) >=1 ,

Insert Into( extractCol, ColList[i] )

)

);

);

Best regards

Lionel

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 17, 2017 2:09 AM
(1894 views)

Solution

```
NamesDefaultToHere(1);
ColList = {"aa_Lio", "aa_Leo", "ab_Lio", "ab_Leo", "ac_Lio", "ac_Leo", "ad_Lio", "ad_Leo" };
CompList = {"Lio"};
extractCol = {};
for(k=1, k<=NItems(CompList), k++,
for(i=1, i<=NItems(ColList), i++,
if(EndsWith(ColList[i], CompList[k]), InsertInto(extractCol, colList[i]));
);
);
extractCol;
```

2 REPLIES

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 17, 2017 2:09 AM
(1895 views)

```
NamesDefaultToHere(1);
ColList = {"aa_Lio", "aa_Leo", "ab_Lio", "ab_Leo", "ac_Lio", "ac_Leo", "ad_Lio", "ad_Leo" };
CompList = {"Lio"};
extractCol = {};
for(k=1, k<=NItems(CompList), k++,
for(i=1, i<=NItems(ColList), i++,
if(EndsWith(ColList[i], CompList[k]), InsertInto(extractCol, colList[i]));
);
);
extractCol;
```

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 17, 2017 7:42 PM
(933 views)

Ian

thank you,

the EndsWith function works perfectly ...

best regards

Lionel

thank you,

the EndsWith function works perfectly ...

best regards

Lionel