SAS Enterprise Guide

Desktop productivity for business analysts and programmers
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


undefined
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-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

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