Pregunta basica. Convertir una tabla a arreglo.

16 views
Skip to first unread message

Luz Adriana

unread,
Nov 22, 2010, 4:45:30 PM11/22/10
to Lasug
Buenas tardes a todos.
Quisiera saber si alguien me puede orientar. Estoy investigando como
cambiar columnas de SAS a formato de arreglo. Por ejemplo, tengo una
tabla "soldata" con dos campos:
1) day_of_month (un numero unico que sirve como indice)
2) scores.
Quisiera crear un arreglo que contenga "scores" (marcadores), y que
cuando me refiero a cada score por su indice score[i], lo que obtenga
coincida con lo que sale en la tabla "soldata" en el reglon en que
"day_of_month"=i.

Como lo hago? Estoy probando codigo, pero no logro mi objetivo.


proc optmodel;
*set LOCS = {'New York', 'Washington', 'Boston'}; /* locations */
set DOM = 1..30; /* day of week */
var s{DOM} init 5; /*initialize
variables with 1 within optmodel*/
create data soldata from [day_of_month]={DOM} sale=s; /*save
results to throw them to regular SAS data sets*/



data arrayTest;
set soldata;
array scores[*] day_of_month;
/*array index [30] index-index30;*/
/*array index [30] day_of_month1-day_of_month30;*/

do i=1 to 30;
scores[i]=sale;
/*index[i]=_n_;*/

*scores[day_of_month]=scores[day_of_month]+day_of_month;
*output;
end;
/*drop i*/
run;

Altons

unread,
Nov 23, 2010, 6:58:49 AM11/23/10
to Lasug
Hola,

Para ser honesto contigo no entiendo mucho tu pregunta pero basado en
tu ultimo comentario me parece que lo necesitas es una especie de
lookup table donde dado un dia x del mes te devuelva el score
correspondiente a ese dia. Estoy en lo correcto??? De ser asi una
forma de hacerlo es usando hash tables. Revisa el siguiente link
donde hay bastantes ejemplos que te pueden ayudar a solventar este
problema.

http://www.lexjansen.com/

Cualquier cosa pega un grito y te ayudaremos con mucho gusto.

SASludos,

Alberto

Luz Adriana

unread,
Nov 23, 2010, 2:28:35 PM11/23/10
to Lasug
Gracias!
> >            run;- Hide quoted text -
>
> - Show quoted text -
Reply all
Reply to author
Forward
0 new messages