Schleifen FrageHallo,
Ich möchte Reihen mit 1,2,3,4 füllen, ... Ich weiß, dass ich Zeilenfunktionen verwenden kann, aber ich praktiziere einige einfache Codierungen.
Ich schreibe den folgenden Code in die Spaltenformel und füllt die Zeilen meiner Testspalte 1,2,3, ... aber die letzte Reihe ist leer. Kann jemand bitte auf das Problem hinweisen? Ich werde schließlich ein Skript in ein Skriptfenster schreiben, aber gerade jetzt üben wir in der Spaltenformel ...
a = N Reihe ();
Für (i = 1, i <= a, i ++,
Zeile () = i;
: Test = i;
);
Vielen Dank!
Re: Loops FrageIch wiederholte, was Jim sagte. Spaltenformeln sind im Wesentlichen eine implizite Schleife über alle Zeilen in der Tabelle. Um in Ihrem Fall eine Spalte zu erstellen, die jede Zeile nummeriert, lautet die Spaltenformel für die Spalte TEST einfach:
Row()
Dadurch wird jede Zeile der Spalte TEST von 1 bis zum Ende der Tabelle nummeriert.
Wenn Sie direktes Skripting aus einem Skriptfenster verwenden würden:
For( i = 1, i <= N Row(), i++, :Test[i] = i );
Re: Loops FrageDanke für die Hilfe, Jim!Re: Loops FrageHier ist ein einfaches Beispiel, was Sie tun möchten:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt << New Column( "Test" );
a = N Row( dt );
For( i = 1, i <= a, i++,
dt:Test[i] = Floor( Mod( i, 4 ) );
If( Floor( Mod( i, 4 ) ) == 0,
dt:Test[i] = 4
);
);
Hier ist das Gleiche wie eine Formel
If( Floor( Mod( Row(), 4 ) ) == 0,
4,
Floor( Mod( Row(), 4 ) )
)
Formeln durchlaufen automatisch alle Zeilen