Hi Art, Are there limitations as to the number of variables you can perform this macro on? I'm getting several errors when I run this on my data set. I tried running it on the test data set included in my original post (now added as a data step), and it works on that. However, my actual data set has a lot more variables (all with the prefix child1-child4) - some of which are character and others are numeric. Here's the log with my code as well as all the errors I got (sorry, I know it's a little long). Any ideas on how to fix this? Thank you again for your help! -R %untranspose(data=SG.NonSPKv2, out=SG.NonSPKv3, libname_in=SG, libname_out=SG, by=classroom_id program_id,
530! id=childnumber,
531 var=CCAP
532 datedisenrolled
533 dateenrolled
534 daysperweek
535 english
536 enrolled
537 hoursperweek
538 id
539 Kknown
540 Kname
541 liveswithyou
542 name
543 newteacher
544 notattendingK
545 otherlanguage
546 otherlanguage_specify
547 PLBS1
548 PLBS10
549 PLBS11
550 PLBS12
551 PLBS13
552 PLBS14
553 PLBS15
554 PLBS16
555 PLBS17
556 PLBS18
557 PLBS19
558 PLBS2
559 PLBS20
560 PLBS21
561 PLBS22
562 PLBS23
563 PLBS24
564 PLBS25
565 PLBS26
566 PLBS27
567 PLBS28
568 PLBS29
569 PLBS3
570 PLBS4
571 PLBS5
572 PLBS6
573 PLBS7
574 PLBS8
575 PLBS9
576 related
577 relationship
578 SCBE1
579 SCBE10
580 SCBE11
581 SCBE12
582 SCBE13
583 SCBE14
584 SCBE15
585 SCBE16
586 SCBE17
587 SCBE18
588 SCBE19
589 SCBE2
590 SCBE20
591 SCBE21
592 SCBE22
593 SCBE23
594 SCBE24
595 SCBE25
596 SCBE26
597 SCBE27
598 SCBE28
599 SCBE29
600 SCBE3
601 SCBE30
602 SCBE4
603 SCBE5
604 SCBE6
605 SCBE7
606 SCBE8
607 SCBE9
608 spanish,
609 prefix=child, var_first=no, delimiter=_)
NOTE: The data set WORK.T_E_M_P has 1 observations and 78 variables.
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
NOTE: The query as specified involves ordering by an item that doesn't appear in its SELECT clause.
NOTE: The query as specified involves ordering by an item that doesn't appear in its SELECT clause.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.03 seconds
cpu time 0.03 seconds
NOTE: There were 1 observations read from the data set SG.NONSPKV2.
NOTE: The data set WORK.T_E_M_P has 1 observations and 247 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
NOTE: Table WORK.T_E_M_P created, with 247 rows and 6 columns.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
NOTE: There were 247 observations read from the data set WORK.T_E_M_P.
NOTE: The data set WORK.T_E_M_P has 247 observations and 9 variables.
NOTE: DATA statement used (Total process time):
real time 0.03 seconds
cpu time 0.01 seconds
NOTE: There were 247 observations read from the data set WORK.T_E_M_P.
NOTE: The data set WORK.T_E_M_P has 247 observations and 9 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
WARNING: The quoted string currently being processed has become more than 262 characters long. You might have
unbalanced quotation marks.
WARNING: The quoted string currently being processed has become more than 262 characters long. You might have
unbalanced quotation marks.
NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column).
32:194
WARNING: In a call to the CATX function, the buffer allocated for the result was not long enough to contain the
concatenation of all the arguments. The correct result would contain 2007 characters, but the actual
result might either be truncated to 255 character(s) or be completely blank, depending on the calling
environment. The following note indicates the left-most argument that caused truncation.
NOTE: Argument 3 to function CATX at line 30 column 20 is invalid.
forexec=childnumber=.; lastone=0 name=Campaign format= informat= label= length=16 type=char var=id id_value=
order=8 FIRST.id_value=0 LAST.id_value=1 counter=2 makeid=. _ERROR_=1 _N_=4
WARNING: In a call to the CATX function, the buffer allocated for the result was not long enough to contain the
concatenation of all the arguments. The correct result would contain 2007 characters, but the actual
result might either be truncated to 255 character(s) or be completely blank, depending on the calling
environment. The following note indicates the left-most argument that caused truncation.
NOTE: Argument 3 to function CATX at line 30 column 20 is invalid.
forexec=childnumber=1; lastone=0 name=child1_spanish format= informat= label= length=7 type=char var=spanish
id_value=1 order=78 FIRST.id_value=0 LAST.id_value=1 counter=3 makeid=1 _ERROR_=1 _N_=82
WARNING: In a call to the CATX function, the buffer allocated for the result was not long enough to contain the
concatenation of all the arguments. The correct result would contain 2007 characters, but the actual
result might either be truncated to 255 character(s) or be completely blank, depending on the calling
environment. The following note indicates the left-most argument that caused truncation.
NOTE: Argument 3 to function CATX at line 30 column 20 is invalid.
forexec=childnumber=2; lastone=0 name=child2_spanish format= informat= label= length=7 type=char var=spanish
id_value=2 order=78 FIRST.id_value=0 LAST.id_value=1 counter=4 makeid=2 _ERROR_=1 _N_=160
WARNING: In a call to the CATX function, the buffer allocated for the result was not long enough to contain the
concatenation of all the arguments. The correct result would contain 2007 characters, but the actual
result might either be truncated to 255 character(s) or be completely blank, depending on the calling
environment. The following note indicates the left-most argument that caused truncation.
NOTE: Argument 3 to function CATX at line 30 column 20 is invalid.
forexec=childnumber=3; lastone=0 name=child3_spanish format= informat= label= length=3 type=num var=spanish
id_value=3 order=78 FIRST.id_value=0 LAST.id_value=1 counter=5 makeid=3 _ERROR_=1 _N_=238
WARNING: In a call to the CATX function, the buffer allocated for the result was not long enough to contain the
concatenation of all the arguments. The correct result would contain 2007 characters, but the actual
result might either be truncated to 255 character(s) or be completely blank, depending on the calling
environment. The following note indicates the left-most argument that caused truncation.
NOTE: Further warning from this call to CATX will be suppressed.
NOTE: Argument 3 to function CATX at line 30 column 20 is invalid.
forexec=childnumber=4; lastone=0 name=child4_newteacher format= informat= label= length=9 type=char
var=newteacher id_value=4 order=13 FIRST.id_value=0 LAST.id_value=1 counter=6 makeid=4 _ERROR_=1 _N_=246
NOTE: Argument 3 to function CATX at line 30 column 20 is invalid.
NOTE: Invalid argument to function INPUT at line 32 column 69.
forexec=childnumber=.; lastone=1 name=SGContactID format= informat= label= length=6 type=num var=id
id_value=tac order=8 FIRST.id_value=1 LAST.id_value=1 counter=7 makeid=. _ERROR_=1 _N_=247
NOTE: Mathematical operations could not be performed at the following places. The results of the operations
have been set to missing values.
Each place is given by: (Number of times) at (Line):(Column).
1 at 32:69
NOTE: There were 247 observations read from the data set WORK.T_E_M_P.
NOTE: DATA statement used (Total process time):
real time 0.03 seconds
cpu time 0.03 seconds
NOTE: CALL EXECUTE generated line.
1 + data SG.NonSPKv3
2 + ( keep=classroom_id program_id childnumber CCAP datedisenrolled dateenrolled daysperweek english enrolled
hoursperweek id Kknown Kname liveswithyou name newteacher notattendingK otherlanguage otherlanguage_specify
PLBS1 PLBS10 PLBS11 PLBS12 PLBS13 PLBS14
3 + PLBS15 PLBS16 PLBS17 PLBS18 PLBS19 PLBS2 PLBS20 PLBS21 PLBS22 PLBS23 PLBS24 PLBS25 PLBS26 PLBS27 PLBS28
PLBS29 PLBS3 PLBS4 PLBS5 PLBS6 PLBS7 PLBS8 PLBS9 related relationship SCBE1 SCBE10 SCBE11 SCBE12 SCBE13 SCBE14
SCBE15 SCBE16 SCBE17 SCBE18 SCBE19
4 + SCBE2 SCBE20 SCBE21 SCBE22 SCBE23 SCBE24 SCBE25 SCBE26 SCBE27 SCBE28 SCBE29 SCBE3 SCBE30 SCBE4 SCBE5
SCBE6 SCBE7 SCBE8 SCBE9 spanish );
5 + set SG.NonSPKv2;
6 + informat childnumber 8. ;
7 + format childnumber 8. ;
8 + length id $ 8 ;
9 + id=Status;
NOTE: Line generated by the CALL EXECUTE routine.
10 + format id DATETIME16. ;
-----------
48
ERROR 48-59: The format $DATETIME was not found or could not be loaded.
11 + length id 8 ;
ERROR: Numeric length cannot be used with character variable id.
12 + id=DateCompleted;
13 + length id 3 ;
ERROR: Numeric length cannot be used with character variable id.
14 + id=children_in_room;
15 + length id $ 16 ;
WARNING: Length of character variable id has already been set.
Use the LENGTH statement as the very first statement in the DATA STEP to declare the length of a
character variable.
16 + id=Campaign;
17 + childnumber=.;
18 + output;
NOTE: Line generated by the CALL EXECUTE routine.
19 + end;
---
161
ERROR 161-185: No matching DO/SELECT statement.
... View more