Verwenden bestimmter Zeilenwerte zur Verwendung in einer Formel mit JSLIch würde gerne etwas tun, was ich vor langer Zeit in VB gelernt habe, habe aber Probleme mit der Skriptsprache JMP. Ich bin neu bei JMP.
Ich möchte eine For-Schleife in einer Formel ausführen, aber ein Zellenarray verwenden.
Ich weiß zum Beispiel, dass ich wie folgt auf eine Spalte verweisen kann: j = Column ("a");
Wenn ich dann sage j[4] = 77 + 2; Ich erhalte den Wert 79 in Spalte „a“, Zeile 4.
Was aber, wenn ich eine Schleife für Spalte „a“ ausführen wollte, zum Beispiel For(i=1,i<=20,i++, EINIGE FORMELVERWENDUNG j[i]);
Im Anhang möchte ich Spalte B, Zeile [1], mit den Zeilen 1 bis 5 von Spalte C verwenden. Und dann Spalte B, Zeile [6], mit den Zeilen 6 bis 10 von Spalte C. Mein Ziel ist es, die Sequenz in Spalte A als Bezeichner zu verwenden. Daher halte ich jedes Mal, wenn die Sequenz den Wert 1 hat, diesen Wert für fünf nachfolgende Verwendungen der Formel, wobei das, was in Spalte D geht, von der am Inhalt durchgeführten Arithmetik abhängt der Spalten B und C. (Zum Beispiel Spalte-D=Spalte-B-Wert + Spalte-C-Wert.) Sehen Sie sich den Anhang an, um in einem Bild zu sehen, was ich meine.
Jede Hilfe wäre großartig und sehr dankbar.
Betreff: Verwendung bestimmter Zeilenwerte zur Verwendung in einer Formel mit JSLAm Ende hat es eine Weile gedauert, bis ich herausgefunden habe, wie JMP-Skripte funktionieren. Die Anhänge zeigen, was ich getan habe, was für mich funktioniert. (Das Beispiel weicht von dem einfachen Beispiel ab, mit dem ich diese Diskussion begonnen habe.)
Wenn jemand Tipps hat, wie man diese Art von Problem anders angehen kann, kommentieren Sie bitte. Da ich so viele Jahre lang For-Schleifen und If-Bedingungen in der grundlegenden VB-Programmierung verwendet habe und neu bei JMP bin, benötige ich möglicherweise Anleitung, um besser zu verstehen, wie man JMP-Skripting angeht.
Betreff: Verwendung bestimmter Zeilenwerte zur Verwendung in einer Formel mit JSLDanke, Jim!
Betreff: Verwendung bestimmter Zeilenwerte zur Verwendung in einer Formel mit JSLGibt es eine Frage?
Betreff: Verwendung bestimmter Zeilenwerte zur Verwendung in einer Formel mit JSLIch verwende dieses Skript, um eine Zelle gelb zu färben, wenn der Durchschnitt der letzten 30 Tage mehr als +1 Sigma im Vergleich zum Ziel beträgt
Für ( ich = 1 , ich <= N-Reihe ( dt ) , ich ++,
Wenn ( Spalte ( dt , „Durchschnittlich 30 Tage“ )[ ich ] > (( Spalte ( dt , "Ziel" )[ ich ]) + Spalte ( dt , „Std“ )[ ich ] ) ,
Spalte ( dt , „Durchschnittlich 30 Tage“ ) << Farbzellen ( 9 , { ich } )
)
) ;
Betreff: Verwendung bestimmter Zeilenwerte zur Verwendung in einer Formel mit JSLDie folgende Formel funktioniert für Ihr beigefügtes Beispiel
targetrow = (Row() - :Name( "Column-A" )) + 1;
:Name( "Column-B" )[targetrow] + :Name( "Column-C" );
Denken Sie daran, dass die Formel immer alle Zeilen durchläuft und die Funktion Row() Ihnen immer die Zeile liefert, an der gerade gearbeitet wird. Wenn Sie eine Formel in JMP verwenden, müssen Sie darauf achten, welche Ergebnisse beim Betrachten einer bestimmten Zeile benötigt werden. Es ist ein anderes Paradigma als VB
Hier ist eine andere Version, die die gesuchte For-Schleife ausführt
If( :Name( "Column-A" ) == 5,
For( i = Row() - 4, i <= Row(), i++,
:Name( "Column-D" )[i] = :Name( "Column-B" )[Row() - 4] + :Name( "Column-C" )[i]
)
);
// The last value calculated will be the value for the current row,
// so it needs to be handled as a special case
:Name( "Column-B" )[Row() - 4] + :Name( "Column-C" )[Row()];
Ich vermute, dass man sich technisch gesehen einer VB-Welt annähern könnte, wenn man die gesamte Verarbeitung für alle Zeilen umgeht, bis die letzte Zeile erkannt wird, und dann zurückgehen und alle Zeilen unter Programmsteuerung durchlaufen könnte ... .das scheint eine Menge Arbeit zu sein
dt=current data table();
If(Row()==N Rows(dt),
<DO whatever="" processing="" you="" want="">
);
<PROCESS for="" the="" current=""></PROCESS></DO>