BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
kelchenk
Calcite | Level 5

I am trying to use the loc function to subset a matrix but it is not working how I would like it to. I have a column of data that can contain up to 10 characters and I want to subset based on whether or not a set of 2 characters is within that string. Example: Entire variable contents could be "YAPTGR" and I want to keep that observation if that variable contains "PT." I have tried just doing loc(Variable = 'PT') but that only keeps the observation if 'PT' is the only contents of the variable. Is this possible using the loc function or do I need to use something else within IML? Thanks for the help!

1 ACCEPTED SOLUTION

Accepted Solutions
IanWakeling
Barite | Level 11

Try combining the INDEX and LOC functions like this:

  a = {'AAA','BPT','PTC','PDT'};

  b = a[ loc(index(a, 'PT')) ];

View solution in original post

1 REPLY 1
IanWakeling
Barite | Level 11

Try combining the INDEX and LOC functions like this:

  a = {'AAA','BPT','PTC','PDT'};

  b = a[ loc(index(a, 'PT')) ];

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
From The DO Loop
Want more? Visit our blog for more articles like these.
Discussion stats
  • 1 reply
  • 1786 views
  • 0 likes
  • 2 in conversation