BookmarkSubscribeRSS Feed
Oscarboots
Quartz | Level 8

Hi Forum, I'm out of ideas on this one. I've tried everything I can find but I'm still getting the error as shown on the attached file ... What can I do to add a new column with various conditions using the expression builder? Thanks

case_Expr_Error.gif


case_Expr_Error.gif
6 REPLIES 6
Reeza
Super User

The word Source shouldn't be in quotes AFAIK

Oscarboots
Quartz | Level 8

Thanks Reeza, but I've tried it with, without you name it...

Reeza
Super User

Couple of things

1. In SAS you refer to dates as '01Mar2009'd instead of 2009-03-01

2. <> is not a valid operator in SAS, it gets interpreted as max, when you probably mean NE, replace it with NE

3. Remove the as "Source" from the code. Notice the bracket after the calculation and the "as calculation" SAS is automatically naming it calculation.

I'm not sure how you're creating the case statement, it may be more helpful to show a screenshot of that.

Hope some of the above helpful.

Oscarboots
Quartz | Level 8

Thanks Reeza,

Now my script is;

CASE      WHEN t1.Date_Created < '01Mar2009'd THEN 'Infield Sales'


               WHEN t1.SalesRepID IS NOT NULL THEN 'Infield sales'


               WHEN t1.CreatedByUserID = 1 AND t1.Date_Created >= '01Mar2009d' THEN 'Online'


               WHEN t1.CreatedByUserID NE 1 THEN 'CallCentre'


ELSE 'Other'


            END

The only error I'm getting is the '<' comparison is on different data types.

I've converted the Original 'Date Time' format to 'DDMMYYN8' so it seems I now have an issue with the date Formats?

Thanks for your help so far Reeza, I think you've nearly got it !

Reeza
Super User

If your original variable in the database is date time you'll need to convert it to a date variable first or wrap all the date_created variables in the datepart function to get just the date portion. Datepart(t1.date_created)

Oscarboots
Quartz | Level 8

Thanks Reeza, I had done the DATEPART bit but then saw that I had written the second date with the apostrophe after the 'd' instead of in front of it.

Now it works fine. Thanks heaps :  >

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

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
  • 6 replies
  • 1636 views
  • 1 like
  • 2 in conversation