Anzahl der Zeilen bis zum EreignisGibt es eine Möglichkeit, ohne JSL eine Spalte zu berechnen, die angibt, wie viele Zeilen noch übrig sind, bis ein Ereignis eintritt?
Die folgende Formel funktioniert, erfordert jedoch, dass der Benutzer n-mal auf „Übernehmen“ klickt.
Können wir diese Formel in eine for-Schleife einfügen, die sie n-mal „anwendet“?

Erweiterte statistische ModellierungAutomatisierung und SkripterstellungQualitäts- und VerfahrenstechnikBetreff: Anzahl der Zeilen bis zum EreignisMir fällt nichts Einfaches ein, das nicht JSL erfordern würde und es Ihnen ermöglichen würde, die ursprüngliche Formel zu verwenden, ohne auf „Anwenden“ zu klicken oder Formeln mehrmals erneut auszuführen. Sogar das Erstellen von Formeln ist etwas schwierig, da in diesem Fall keine Variablen vorhanden sind (selbst die for-Schleife hat eine Variable für den Index).
Dies kann zum Beispiel nicht einfach mit den letzten Zeilen umgehen, wenn nach ihnen keine Ereignisse folgen (auch die Formel ist nicht einfach zu erklären):
If(:Event == 1,
0,
For(i = 1, i <= N Rows() - Row(), i++,
If(Lag(:Event, -1*i) == 1,
Break();
);
);
i;
);
Betreff: Anzahl der Zeilen bis zum EreignisIch bin auf der Suche nach einer Formel, die neuen JMP-Benutzern sehr einfach zu erklären ist.
- Am einfachsten zu erklären ist es, meine ursprüngliche Formel in eine Schleife einzufügen, sodass Sie nicht auf „Anwenden“ klicken müssen.
- Das Umkehren der Reihenfolge ist intuitiv, erfordert jedoch zusätzliche Schritte (siehe oben).
- Eine Lösung, die temporäre Variablen erstellt, sieht aus wie ein in eine Formel umgewandeltes Skript (Denkweise eines Programmierers, nicht ideal für neue Benutzer).
Vielleicht ist es also so einfach wie die Frage: Wie kann ich eine Formel so schleifen, dass sie N-mal angewendet wird?
Betreff: Anzahl der Zeilen bis zum EreignisAn dieser Stelle muss ich fragen: Was suchen wir hier? Eine einzige Formel, die auch selbsterklärend ist?
Die von mir bereitgestellte Formel ist eine einzelne Formel (erfordert eine kleine Änderung, um Fälle zu behandeln, wenn nach einem bestimmten Punkt keine Ereignisse mehr auftreten), die jedoch kaum selbsterklärend ist, aber durch die Verwendung unterstützender Variablen mit guten Namen einer solchen angenähert werden kann.
Betreff: Anzahl der Zeilen bis zum EreignisVielleicht können wir die Tatsache nutzen, dass die Lösung, wenn die Zeilenreihenfolge umgekehrt wird, in JMP selbst ausgefüllt wird?

Dadurch wird beispielsweise die Reihenfolge der Ereignisse umgekehrt.
Ereignis rückgängig gemacht:
:Event[(N Rows() - Row()) + 1]
Jetzt füllen sich die Werte automatisch aus, während die Berechnung von oben nach unten erfolgt
n Zeilen nach dem umgekehrten Ereignis:
If( :Event inverted == 1, 0,
Lag( :n rows after inverted event, 1 ) + 1
)
Schließlich haben wir diese Spalte umgekehrt.
:n rows after reversed event[(N Rows() - Row()) + 1]
Irgendwelche Ideen, wie man dies in einer Formel umsetzen kann, die leicht zu interpretieren ist?
Betreff: Anzahl der Zeilen bis zum EreignisSie könnten eine kompliziertere Formel verwenden. So etwas könnte funktionieren (möglicherweise werden nicht alle Sonderfälle korrekt behandelt):
If(Row() == 1,
m_events = Loc(:Event << get as matrix, 1);
);
smallerRows = Loc(Row() <= m_events);
If(N Items(smallerRows) == 0,
0,
rowNextEvent = m_events[smallerRows[1]];
If(rowNextEvent,
rowNextEvent - Row();
);
);