2016-09-21 1 views
1

После разработав кучу других ошибок, я оставил следующуюОШИБКА: P не имеет числовой суффикс (SAS, переименовывать)

ERROR: P does not have a numeric suffix. 

От всей информации я был в состоянии найти это очень часто при использовании PROC TRANSPOSE, однако я не использую это здесь (и нигде в этом коде).

Data Spillover_HE (rename=(F1=FY F2=BN F3=employeeID F4=grade_subject_ID 
F5=AsmtID_agg F6=linkB F7=subgroupID F8=w F9=MGP_SE F10=Residual_SE 
F11=Residual_Var F12=mgp_var F13=student_n F14=calcID F15=sumwt F16=MGP 
F17=ave_prescore F18=p_imp F19=p_postImp F20=p_sped F21=p_sped_rs 
F22=p_sped_se_ss F23=p_sped_st F24=p_sped_tt F25=P-ell F26=p_ed 
F27=p_hispanic F28=p_black F29=p_white F30=p_asian F31=p_other 
F32=p_blahispmale F33=p_overaundcred F34=p_retained F35=p_transfer 
F36=p_top10 F37=p_top5 F38=p_top1 F39=p_bot10 F40=p_bot5 F41=p_bot1 
F42=target_population F43=mean_residual_var F44=P_0_5)); run; 

Очевидно, у меня есть куча переменных, которые начинаются с «p». Ни один из них не подчеркивается в журнале. Я использую базу SAS и получил ту же ошибку в SAS Enterprise Guide.

Не уверен, каким должен быть мой следующий шаг. Благодарю.

+1

Чтобы отладить такие вещи, используйте двоичный метод. Удалите половину переименования, если нет ошибки, затем ее в другую половину. Вернитесь к этой половине и повторите, пока вы не сузите ее. – Reeza

+0

И напишите свой код более организованно - каждый из этих переименований должен быть на отдельной строке, выстроенный аккуратно, чтобы вы могли четко видеть каждое имя переменной. – Joe

ответ

2

Черта не является правильным символом в имени переменной.

Заменить F25=P-ell на F25=P_ell.

Вы можете использовать тире, чтобы указать диапазон переменных, например. rename=(x1-x100=y1-y100). Этот код переименовывает 100 переменных с префиксом x в y.

+0

Большое спасибо за ловушку, о которой я, видимо, пропустил последние 3 часа хаха. – LMGagne