Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Verwenden Sie dazu ein Beispiel in der Abbildung:
Danke!

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2::8,"height"]="";
dt[10::17,"height"]="";
dt[19::28,"height"]="";
dt[30::39,"height"]="";
New Column("new",Character,"Nominal",Width(5));SkripterstellungRe: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Es ist eine einfache Sache, Spaltendaten in eine Matrix zu verschieben und dann neue Matrizen in dem Format zu generieren, das die neuen Spalten haben sollen, und dann, sobald sie fertig sind, die Matrizen in die Datentabelle zu verschieben. Alle Matrixmanipulationen werden im Speicher durchgeführt.Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Danke!
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Ich möchte eine weitere Spalte von "new2" hinzufügen, um es zum nächsten Qualifikationsintervall zu bringen.

Wie können beide Spalten ("neu", "neu2") gleichzeitig berechnet und gedruckt werden? Wie VBA-Array, im Speicher um Betrieb, einmal in die Tabelle ausgegeben.
Danke!
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Danke Jim!
Ich verwende VBA und schreibe oft Schleifen, um meine eigenen Projekte abzuschließen.
Ich verwende oft mehr als ein paar Millionen Datenzeilen. Geschwindigkeit ist ein Schlüsselfaktor.
Ich habe das Gefühl, dass JMP schneller ist.
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Excel ist wie viele Sprachen, einschließlich JMP, die ihre eigenen eindeutigen Codierungsverknüpfungen haben.Einige von ihnen werden universeller in vielen Sprachen verwendet, aber die meisten bleiben nur eine einzigartige Syntax innerhalb ihrer eigenen Sprache.Solche syntaktischen Elemente in JMP werden alle im Scripting Guide behandelt.
Hier ist eine andere Möglichkeit, die Berechnung durchzuführen.Es funktioniert gut in einer kleinen Datentabelle, wird aber bei vielen Zeilen kostspielig.
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2 :: 8, "height"] = "";
dt[10 :: 17, "height"] = "";
dt[19 :: 28, "height"] = "";
dt[30 :: 39, "height"] = "";
New Column( "new",
formula(
If( Is Missing( :height ) == 0,
curRow = Row();
x = curRow - Max( Current Data Table() << get rows where( Row() < curRow & Is Missing( :height ) == 0 ) );
,
x = .
);
x;
)
)
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Ist die von mir bereitgestellte Formel nicht ausreichend?
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Ich verwende nur diese verarbeitete "Big Class. JMP-Daten zur Veranschaulichung:
Wenn die Höhenspalte einer Zeile nicht leer ist, suchen Sie das Intervall der Anzahl nicht leerer Zeilen in der letzten Zeile der Höhenspaltendaten über der Zeile.
Beispiel: dt[18," Höhe "] ist nicht leer, die letzte nicht leere Zeile am Anfang von Zeile 18 ist DT [9," Höhe "]. Also gibt dt[18,"neu"] zurück: 18 - 9 = 9
Danke!Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Was erwarten Sie mit dieser Formel?
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Parameter wie ">0" funktionieren in JMP nicht, Excel jedoch.
Contains(:[Index(1,Row())],">0",-1)
Contains(:[Index(1,Row())],!is Missing(:),-1)
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?Danke Jim!
Ich habe immer Excel verwendet, und diese einfachen Datenprozesse sind einfach.
Ich möchte keine Daten über Excel verarbeiten und dann ein professionelles Modul verwenden, das JMP VERWENDET. Verwenden Sie stattdessen JMP, um alle zu verarbeiten.
Ich denke, JMP kann mit dieser Formel durchgeführt werden. Aber wissen, wie man es schreibt
Contains(:[Index(1,Row())],,-1)
Re: Wie berechne ich das Intervall der letzten Zeile darüber, das nicht null ist?- Ich glaube nicht, dass Sie möchten, dass die neue Spalte mit dem Namen "Neu" eine Zeichenspalte ist, und Sie möchten auch nicht, dass sie "Nominal" ist. Daher habe ich meine Formel basierend auf diesen Annahmen geschrieben.
- Sie scheinen mit dem Konzept einer JMP-Formel zu kämpfen.Mehrere Ihrer Diskussionsbeiträge haben um Hilfe bei der Lösung einiger ziemlich einfacher Probleme gebeten.Was kann die Community tun, damit Sie diese Formeln erstellen können?
- Hier ist meine Lösung ... andere haben möglicherweise andere oder bessere Methoden
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2 :: 8, "height"] = "";
dt[10 :: 17, "height"] = "";
dt[19 :: 28, "height"] = "";
dt[30 :: 39, "height"] = "";
New Column( "new",
formula(
If( Row() == 1, last = 0 );
If( Is Missing( :height ) == 0,
If( last == 0,
x = .;
last = Row();
,
x = Row() - last
);
last = Row();
,
x = .
);
x;
)
);