BookmarkSubscribeRSS Feed
anirudhs
Obsidian | Level 7

Hi I want to code the fllowing code in EG using the query builder, can anyone help for doing the same in EG.

 

If Substr(Agency_Name,1,7)= 'INHOUSE' then

do;

Agency_Name ='INHOUSE';

Agency_Code ='INHOUSE';

end;

Else If Substr(Agency_Name,1,7)= '' then

 

do;

Agency_Name = 'UNALLOCATED';

Agency_Code = 'UNALLOCATED';

End;

 

Thanks

5 REPLIES 5
anirudhs
Obsidian | Level 7

Hi please help want to code the following condition in EG  using the query builder.

 

 

If Substr(Agency_Name,1,7)= 'INHOUSE' then

do;

Agency_Name ='INHOUSE';

Agency_Code ='INHOUSE';

end;

Else If Substr(Agency_Name,1,7)= '' then

 

do;

Agency_Name = 'UNALLOCATED';

Agency_Code = 'UNALLOCATED';

End;

 

 

Thank you

anirudhs
Obsidian | Level 7
Agency _code & Agency_Name are two different variables... so when Agency_name is Unallocated then other variable be should also allocate the same value.
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Yes.  Please refer to SQL programming help, each variable is "selected" from a datasource so you need at the end:

 

select case when substr(agency_name,1,7)="INHOUSE" then "INHOUSE"
            else "UNALLOCATED" end as agency_name,
case when substr(agency_name,1,7)="INHOUSE" then "INHOUSE"
else "UNALLOCATED" end as agency_code
...

You cannot set the value of two output variables in one select <variable> line, you need to select data as variable, data as variable,...

 

gamotte
Rhodochrosite | Level 12

Hello,

 

It is not said in the question if substr(agency_name,1,7) can be somethng else than 'INHOUSE' or ' '.

Also, substrn should be used instead of substr if the length of agency_name can be shorter than 7.

 

select case when substrn(agency_name,1,7)="INHOUSE" then "INHOUSE"
            when substrn(agency_name,1,7)=' ' then "UNALLOCATED" 
       else agency_name end as agency_name,
RW9
Diamond | Level 26 RW9
Diamond | Level 26

I assume the "query builder" creates SQL, so:

case when substr(agency_name,1,7)="INHOUSE" then "INHOUSE"
         else "UNALLOCATED" end

For the first variable and then for the second (as each variable is separate in a select clause):

case when substr(agency_name,1,7)="INHOUSE" then "INHOUSE"
         else "UNALLOCATED" end

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 5 replies
  • 1895 views
  • 0 likes
  • 3 in conversation