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

Hi everyone,

I have a problem when I was developing an optimization model.

I have a data set in hand which has four columns: ID, frt_val, mid_val and bck_val, and I want to create another data set which is the parameters table for the optimization problem. The length of the parameters table can dynamically change based on number of &Vol. Suppose we set %let Vol = 8; how can I create a table which has &Vol + 1 columns (one for ID), such that the second column stores value of frt_val, the last column stores value of bck_val, and values from columns 3 to 7 are equivalent to mid_val?

Thank you a lot for your help!

YH Fung

As an example:

table 1:

ID        frt_val      mid_val      bck_val

101       100           99               109

102        -10          20                 -9

...          ...            ...                 ...

how can I create table 2 as following?

table 2:

ID       vol1     vol2   vol3    vol4     vol5      vol6    vol7    vol8 

101    100       99     99      99       99        99      99       109

102    -10        20     20      20       20        20      20       -9

...        ...       ...      ...       ...       ...        ...        ...       ...

1 ACCEPTED SOLUTION

Accepted Solutions
RobPratt
SAS Super FREQ

Here's one way:

data want(keep=ID vol:);

   set have;

   array vol[&Vol];

   vol1 = frt_val;

   do j = 2 to &Vol-1;

      vol = mid_val;

   end;

   vol&Vol = bck_val;

run;

View solution in original post

3 REPLIES 3
RobPratt
SAS Super FREQ

Here's one way:

data want(keep=ID vol:);

   set have;

   array vol[&Vol];

   vol1 = frt_val;

   do j = 2 to &Vol-1;

      vol = mid_val;

   end;

   vol&Vol = bck_val;

run;

YH
Calcite | Level 5 YH
Calcite | Level 5

Hi RobPratt,

It works! Thank you so much for your help!

YH Fung

RobPratt
SAS Super FREQ

Glad to help.  Please mark this question Answered.

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

Discussion stats
  • 3 replies
  • 1383 views
  • 0 likes
  • 2 in conversation