pp [k] << Ausgewählte Ergebnisse als Fehler festlegen Senden erwartet Skriptfähiges Objekt {1} @Craige_Hales Ich habe ein ähnliches Problem, nachdem ich kürzlich ein Upgrade von JMP 10 auf JMP 13 durchgeführt habe. Das
Folgendes wird mehrmals in einem Skript bereitgestellt, um ausgewählte Spalten zu komprimieren.
pp=dt<<GET column="" names=""></GET>
Dies funktioniert gut in JMP 10, aber mit JMP 13 und ich erhalte den folgenden Fehler:
Send Expects Scriptable Object{1} in access or evaluation of 'Send' , pp[k] << /*###*/Set Selected( 1 ) /*###*/
Ich kann von oben sehen, dass ich dies in zwei Schritte trennen muss, aber ich kann die Syntax nicht ganz herausfinden - können Sie mir bitte helfen? Danke vielmals
Re: pp [k] << Set Ausgewählte Ergebnisse in Fehler setzen Send Expects Scriptable Object {1}Jim hat die Antwort. Hier ist der Grund:
height=7;
dt=open("$sample_data/big class.jmp");
pp=dt<<GETCOLUMNNAMES></GETCOLUMNNAMES>
Im globalen JMP-Namespace gibt es eine Variable mit demselben Namen wie eine der Tabellenspalten. Verwenden als Spalte weist JMP an, den Namen mit der aktuellen Datentabelle aufzulösen. Sie können die Datentabelle auch in angeben eine Spalte (dt, pp [k]) (Sehr empfehlenswert, wenn Sie mehr als einen Tisch geöffnet haben!)
Re: pp [k] << Set Ausgewählte Ergebnisse in Fehler setzen Send Expects Scriptable Object {1}Perfekt - vielen Dank!
Re: pp [k] << Set Ausgewählte Ergebnisse in Fehler setzen Send Expects Scriptable Object {1}Wenn Sie der Spaltenreferenz ein As Column () hinzufügen, sollte es funktionieren
Names Default To Here( 1 );
dt = Current Data Table();
pp = dt << Get Column Names();
Show( pp );
ncols = N Items( pp );
For( k = 1, k <= ncols, k++,
As Column( pp[k] ) << Set Selected( 1 )
);
dt << Compress Selected Columns();
dt << Clear Column Selection;
Re: pp [k] << Set Ausgewählte Ergebnisse in Fehler setzen Send Expects Scriptable Object {1}Show hinzugefügt (pp); Das Protokoll zeigt zwar, dass die Spaltennamen zurückgegeben werden, aber die Spalten werden immer noch nicht ausgewählt - siehe das vollständige Protokoll unten. Irgendwelche Ideen? Danke vielmals.
//:*/
dt=current data table();
pp=dt<<Get Column Names();
show (pp);
ncols = N Items(pp); for(k=1, k<=ncols, k++, pp[k] << Set Selected(1));
dt << Compress Selected Columns();
dt << Clear Column Selection;
/*:
pp = {id, yr, rgC, rtC, ptC, cmdC, qtC, TdeQ, NetW, TdeV};
Send Expects Scriptable Object{1} in access or evaluation of 'Send' , pp[k] << /*###*/Set Selected( 1 ) /*###*/
In the following script, error marked by /*###*/
dt = Current Data Table();
pp = dt << Get Column Names();
Show( pp );
ncols = N Items( pp );
For( k = 1, k <= ncols, k++,
pp[k] << /*###*/Set Selected( 1 ) /*###*/
);
dt << Compress Selected Columns();
dt << Clear Column Selection;Re: pp [k] << Set Ausgewählte Ergebnisse in Fehler setzen Send Expects Scriptable Object {1}Ihr Skript sieht in JMP 10,11,12,13 in Ordnung aus. Ich denke, etwas anderes hat sich geändert. Fügen Sie möglicherweise show (pp) hinzu; und überprüfen Sie das Protokoll, um zu sehen, was los ist. pp [k] ist eine Spalte (alle 5 Mal), wenn ich es mit Big Class.jmp für das dt-Programm ausführe.