Berechnung über Zeilen hinweg<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ist es möglich, zeilenübergreifende Berechnungen durchzuführen? Wie mache ich zum Beispiel:
- Eine Zahl in Spalte A, Zeile 1 durch eine Zahl in Spalte B, Zeile 2 dividieren?
- Berechnen Sie die Standardabweichung der Zahlen in Spalte A, die ein Kriterium erfüllen, basierend auf dem Inhalt in Spalte B (nicht über „X By Y“, sondern direkt in der Tabelle).
- Konvertieren Sie die Zeile in Spalten, d. h. erstellen Sie für jeden Wert in Spalte A eine Spalte mit dem Wert in Spalte B.
Betreff: Berechnung über Zeilen hinweg@pmroz:
Danke schön. Es tut mir leid, aber ich habe keine Erfahrung mit der Skripterstellung von JMP. Ich verstehe deine Antwort nicht ganz. Gibt es eine Möglichkeit, die oben genannten Aktionen direkt im Formeleditor auszuführen?
Betreff: Berechnung über Zeilen hinwegBenutzen Sie die Holen Sie sich Zeilen wo Fähigkeit:
dt = offen ( „$sample_data\Big Class.jmp“ ) ;
match_rows = dt << Holen Sie sich Zeilen wo ( : Sex == "F" ) ;
drucken ( match_rows ) ;
[1, 2, 3, 4, 5, 9, 10, 11, 16, 17, 18, 19, 20, 28, 29, 35, 36, 38]
Die Variable match_rows ist eine Matrix, auf die Sie über den Index verweisen können.Dh match_rows[1] ist das erste Element usw.
Betreff: Berechnung über Zeilen hinweg@ms:
Danke für Ihre Antwort. Das hat mir sehr geholfen. Allerdings bin ich auf ein neues Problem gestoßen:
Ich benötige eine Funktion, um die Zeilennummer einer Zeile zurückzugeben, in der eine Zelle in einer bestimmten Spalte ein bestimmtes Kriterium erfüllt. Z.B:
- Gibt die Zeilennummer der Zelle in Spalte 1 mit dem Wert „A“ zurück. Angenommen, „A“ erscheint nur einmal im Datensatz.
- Gibt die Zeilennummer der vorherigen (oder nächsten) Zeile zurück, relativ zu der Zeile, in der das Formelergebnis angezeigt wird, in der der Wert in Spalte 1 „A“ ist. „A“ kann im Datensatz mehrfach vorkommen.
- Gibt die Zeilennummer der Zelle in Spalte 1 zurück, deren Wert einer bestimmten Zahl am nächsten kommt.
Betreff: Berechnung über Zeilen hinwegObwohl die JMP-Datentabelle keine „Freiform“-Tabelle wie eine Excel-Tabelle ist (z. B. kann eine Spalte nur Daten eines einzigen Datentyps enthalten und Formeln werden auf die gesamte Spalte angewendet), ist alles oben Genannte möglich.
- Eine Zahl in Spalte A, Zeile 1 durch eine Zahl in Spalte B, Zeile 2 dividieren?
Die Spaltenformel :A[1] / :B[2] wendet dieses bestimmte Verhältnis auf alle Zeilen an.
Die Spaltenformel :A / :B[Zeile() + 1] Geben Sie jeder Zeile das Verhältnis zwischen dem aktuellen Wert von A und dem Wert von B in der nächsten Zeile.
- Berechnen Sie die Standardabweichung der Zahlen in Spalte A, die ein Kriterium erfüllen, basierend auf dem Inhalt in Spalte B (nicht über „X By Y“, sondern direkt in der Tabelle).
Die Spaltenformel Col Std Dev( :A, :B ) gibt die Standardabweichung der Werte in A für jede Ebene von B an. Komplexere Kriterien können durchgeführt werden, erfordern jedoch möglicherweise eine Zwischenspalte, die B kategorisiert.
- Konvertieren Sie die Zeile in Spalten, d. h. erstellen Sie für jeden Wert in Spalte A eine Spalte mit dem Wert in Spalte B.
Verwenden Sie den Befehl „Transponieren“ im Menü „Tabellen“.
Mit dem JSL-Skript haben Sie viel mehr Optionen als die oben genannten Beispiele, die auf Spaltenformeln basieren.
Betreff: Berechnung über Zeilen hinwegDies sind keine spezifischen Antworten, aber hier sind einige möglicherweise hilfreiche Ideen, die Ihnen den Einstieg erleichtern:
- Schauen Sie sich die Operatoren Dif() und Lag() an, die Sie in einer Formel verwenden können
- Erstellen Sie Spalte C mit einer Formel, die den Wert in Spalte A kopiert, wenn eine Bedingung in Spalte B erfüllt ist. Andernfalls lassen Sie das Feld leer.
- Verwenden Sie die Split()-Funktion