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

permit is a text field with length 40.
facility is a text field with length 60.
facility_hmbp_3 = scan(facility,3,'') with length 40.

 

If facility_hmbp_3 is equal to Lewis then the variable find_hmbp should be 6 for permit="OCEH Lewis Sub" where find_hmbp=find(permit,facility_hmbp_3,'i').
However, I'm currently getting 0.
If I change find_hmbp=find(permit,"Lewis",'i') then I do get 6.
Why am I not getting 6 with find_hmbp=find(permit,facility_hmbp_3,'i')?

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
jklaverstijn
Rhodochrosite | Level 12

Likely the trailing spaces that are implicitly present in your strings play a role. You can omit them from the comparison by adding the t modeifier to the third parameter.

 

find_hmbp=find(permit,facility_hmbp_3,'it')

Hope this helps,

- Jan.

View solution in original post

1 REPLY 1
jklaverstijn
Rhodochrosite | Level 12

Likely the trailing spaces that are implicitly present in your strings play a role. You can omit them from the comparison by adding the t modeifier to the third parameter.

 

find_hmbp=find(permit,facility_hmbp_3,'it')

Hope this helps,

- Jan.

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 1 reply
  • 767 views
  • 0 likes
  • 2 in conversation