2017-06-16 7 views
-1

Ich bin der Array Index Fehler außerhalb des Bereichs erhalten:SAS Array Index außerhalb des zulässigen Bereichs

ERROR: Array subscript out of range at line 408 column 169. 
SYM_ROOT=FSV DATE=. TIME_M=. BID=. BIDSIZ=. ASK=. ASKSIZ=. EXN=. 
FIRST.SYM_ROOT=1 LAST.SYM_ROOT=1 FIRST.DATE=1 LAST.DATE=1 FIRST.TIME_M=1 
LAST.TIME_M=1 nexb1=. nexb2=. nexb3=. nexb4=. nexb5=. nexb6=. nexb7=. nexb8=. 
nexb9=. nexb10=. nexb11=. nexb12=. nexb13=. nexb14=. nexb15=. nexb16=. nexb17=. 
nexo1=. nexo2=. nexo3=. nexo4=. nexo5=. nexo6=. nexo7=. nexo8=. nexo9=. nexo10=. 
nexo11=. nexo12=. nexo13=. nexo14=. nexo15=. nexo16=. nexo17=. sexb1=. sexb2=. 
sexb3=. sexb4=. sexb5=. sexb6=. sexb7=. sexb8=. sexb9=. sexb10=. sexb11=. 
sexb12=. sexb13=. sexb14=. sexb15=. sexb16=. sexb17=. sexo1=. sexo2=. sexo3=. 
sexo4=. sexo5=. sexo6=. sexo7=. sexo8=. sexo9=. sexo10=. sexo11=. sexo12=. 
sexo13=. sexo14=. sexo15=. sexo16=. sexo17=. _I_=. i=18 BB=. BO=. MIDPRICE=. 
BBSize=. BOSize=. NUMEX=. _ERROR_=1 _N_=6417740 

Ich bin aber nicht sicher, was passiert ist, weil der Code vorher auf einem anderen Daten-Set gearbeitet.

Das einzige, was ich mir vorstellen kann, ist, dass, weil das Dataset, mit dem ich Probleme habe, die Teilmenge des Originals ist (was funktionierte), könnte es nicht den vollständigen Bereich von exn haben (ich benutze eine Variable benannte exn als der Index des Arrays).

I definiert das Array als:

array nexb nexb:; array nexo nexo:; array sexb sexb:; array sexo sexo:; 

Die Variable ich rede EXN genannt wird, und wird verwendet, um das Array zu verweisen:

nexb(exn)=bid;nexo(exn)=ofr;sexb(exn)=bidsiz;sexo(exn)=ofrsiz; 

Die Arrays in der folgenden initialisiert weg:

Ursprünglich erstreckt sich exn von 1 bis 17. Jetzt denke ich einige der Zahlen in b Möglicherweise fehlt im Datensatz ein Zwischenschritt. Aber warum ist das ein Problem? Sie sind sowieso initialisiert.

+0

Wenn Sie EXN als Index verwenden, hätte ich angenommen, dass es in der Fehlermeldung auch sein würde. Es ist nicht. Sie sollten auch die Codezeile, auf die im Protokoll verwiesen wird, veröffentlichen, Zeile 408 - sie teilt Ihnen genau mit, wo es Probleme mit dem Index gibt. – Reeza

+0

Ich habe nicht einmal Zeile 408 in meinem Code ... –

+0

Es läuft auf einem Cluster Ich denke, das ist, warum –

Antwort

1

Sie können keinen fehlenden Wert als Index für ein Array verwenden. Ihr Protokoll zeigt, dass EXN fehlt.

Verwandte Themen