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

I have a dataset sorted by three variables, and I'm trying to copy another variable from the previous observation within each grouping conditional on whether the variable has a value or not. So far, here's the code that I have:

DATA test3;

length V1 8;

Set FuelCost11;

By PlantID PMStd Fuel;

Retain V1;

if first.Fuel then V1 = .;

if HeatRate ^=. then V1 = HeatRate;

HeatRate = V1;

Run;

When I run this code, I get the following error:

"ERROR: Variable V1 has been defined as both character and numeric."

I don't know why this would happen, since I'm defining the variable V1 as a numerical variable in the first statement of the data step. The variable V1 doesn't exist prior to this data step. I've run this same code with a character variable (after defining V1 as $5), and it works perfectly. Thanks in advance for any help you can provide.

1 ACCEPTED SOLUTION

Accepted Solutions
ebowen
Quartz | Level 8

It turns out I had defined V1 previously as a character variable. After fixing that, the code works great. Sorry for the mix-up.

View solution in original post

4 REPLIES 4
Reeza
Super User

What variable type is HeatRate? Your missing a period after the eight in the length statement, not sure if thats an issue as well.

Can you post proc contents results on FuelCost11?

ebowen
Quartz | Level 8

It turns out I had defined V1 previously as a character variable. After fixing that, the code works great. Sorry for the mix-up.

data_null__
Jade | Level 19

Why would you need a period after 8 in the length statement.

Reeza
Super User

I realized that and deleted it...but the forums are having issues today...or maybe I am.

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
  • 4 replies
  • 1484 views
  • 3 likes
  • 3 in conversation