BookmarkSubscribeRSS Feed
TurnTheBacon
Fluorite | Level 6

I'm working in an SQL Join transformation in DI Studio, and need to make sure that all rows for one specific bank get the flag-variable set to "N".

Why can't I just map the BANK_ID and BANK_FLAG from the source table, into BANK_FLAG in the target table, then use the following expression?

if BANK_ID = "123456" then do;

  BANK_FLAG = "N";

end;

I also tried this:

case BANK_FLAG

     when BANK_ID = "123456" then "N"

     else BANK_FLAG

end;

I'd appreciate any aid on this rookie problem. Thanks for your time. Smiley Happy

2 REPLIES 2
LinusH
Tourmaline | Level 20

Well, these expression have errors, which you probably encountered!

IF-THEN-ELSE-logic belongs to the data step, not "permitted" in SQL.

A case statement should not end with a ;, that will end the whole CREATE VIEW/TABLE statement.

Is that correct that you already have a BANK_FLAG in the source table, and you just want to change it's value for a specific bank?

Data never sleeps
TurnTheBacon
Fluorite | Level 6

Thanks. Yes, that's correct. I know how to do it in user written code, but apparently not in an SQL Join expression.

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 900 views
  • 3 likes
  • 2 in conversation