Verwendung von Schleifen in der FormelHallo,
Ist es möglich, eine Schleife in der Spaltenformel zu verwenden? Ich habe zum Beispiel eine Spalte mit dem Namen TEST und schreibe für (i=1, i<5, i++, :TEST=char(i)) ... aber ich erhalte nichts, diese Spalte ist leer, nachdem ich getroffen habe anwenden/OK. Ich hoffe, dass jede Zeile in der Spalte aus der Schleife 4 ergibt.
Es tut mir leid, dass ich eine so einfache Frage stelle, aber ich konnte die Antwort nicht finden, indem ich schnell Anhang A des Handbuchs „Verwenden von JMP“ durchging.
Danke,
Ahmad
Betreff: Schleifen in der Formel verwendenIch denke, dass Ihr derzeitiges Verständnis der Formelverwendung falsch ist.Ich bin besonders verwirrt über die von Ihnen erwarteten Ergebnisse für die Formel
For( i=0, i<=5, i++, :Strain )
Standardmäßig werden Formeln einmal für jede Zeile ausgeführt.Daher wird in den meisten Fällen keine For()-Schleife verwendet.
Ich habe eine Datentabelle mit 4 verschiedenen angewendeten Formeln angehängt.Ich hoffe, dass Ihnen die Betrachtung der verschiedenen Formeln dabei hilft, Ihr Verständnis für die Funktionsweise von Formeln anzupassen.
Betreff: Schleifen in der Formel verwendenVielen Dank für Ihre Hilfe/Antwort.
Was die einfache for-Schleife betrifft, mit der ich versucht habe, die ersten fünf Zeilen in der Spalte „%elongation“ zu füllen, bin ich neugierig, warum die Spalte unverändert/leer bleibt. Liege ich mit der Verwendung der Formel und/oder der Definition der Argumente völlig daneben?
In den sehr frühen Phasen des Erlernens von JMP und JSL versuche ich, aus meinen Fehlern zu lernen.
Nochmals vielen Dank für die Hilfe!
Betreff: Schleifen in der Formel verwendenHier ist eine Formel für die Erzeugung von % Dehnung.Es ist keine sehr effiziente Formel, aber sie findet den Wert unabhängig von der Reihenfolge der Daten.
curForm = :Formulation;
curStrip = :Strip;
theRow = (Current Data Table() << get rows where(
:Formulation == curForm & :Strip == curStrip & :Stress == :Tensile Strength
))[1];
:Strain[theRow];
Wenn die Daten nach Formulierung und Streifen sortiert sind, kann die effizientere Formel unten verwendet werden.
If( Row() == 1 | :Formulation != Lag( :Formulation ) | :Strip != Lag( :Strip ),
curForm = :Formulation;
curStrip = :Strip;
theRow = (Current Data Table() << get rows where(
:Formulation == curForm & :Strip == curStrip & :Stress == :Tensile Strength
))[1];
);
:Strain[theRow];
Betreff: Schleifen in der Formel verwendenVielen Dank für Ihre Antwort.
Das letzte Problem, das ich zu lösen versuche, ist das Folgende: Ich habe Spannungs-Dehnungs-Daten für mehrere Teststreifen für mehrere Formulierungen ( Bitte beachten Sie die beigefügte JMP-Datendatei ). Die beigefügte Tabelle enthält 4 verschiedene Formulierungs- und Streifen-„Gruppen“, d. h.) FormA/Streifen1, FormA/Streifen2, FormB/Streifen1, FormB/Streifen2 ... Für jede Gruppe muss ich 1) die maximale Spannung (Zugfestigkeit) und 2) die mit der maximalen Spannung verbundene Dehnung ermitteln. Um die maximale Spannung zu ermitteln, habe ich eine Spalte „Zugfestigkeit“ erstellt und im Formeleditor einfach „Col Max()“ verwendet (siehe Abbildung unten).

Jetzt möchte ich die Spalte „%Dehnung“ mit den Dehnungswerten füllen, die mit der maximalen Spannung (Zugfestigkeit) für jede Gruppe verbunden sind, und hier liegt mein Problem .Anstatt die Tabelle durchzugehen, um diese Dehnungswerte manuell zu identifizieren und die Spalte „%Dehnung“ auszufüllen, frage ich mich, ob es eine Möglichkeit gibt, dies mit einer Spaltenformel (oder einem JSL-Skript) zu erreichen. .
Ich dachte, dass dies eine Kombination aus Schleifen und/oder bedingten Funktionen sein könnte.
Zunächst habe ich damit experimentiert, die Spalte „Spannung“ mit einer for-Schleife zu durchlaufen, um zu überprüfen, ob Spannung = Zugfestigkeit in einer bestimmten Zeile ist (wenn ja, füllen Sie die Spalte „%Dehnung“ mit dem zugehörigen Dehnungswert). Die erste Spalte „Formel/Versuch“ finden Sie in der angehängten JPG-Datei „stress-strain data_jmp community help_iteration try“. Die Spalte blieb unverändert/leer.
Ich habe dann versucht, einfach die ersten 5 Zeilen in der Spalte „%elongation“ mit den Dehnungswerten in den angegebenen Zeilen zu füllen (siehe angehängte JPG-Datei „stress-strain data_jmp community help_for loop“). Die Spalte blieb leer, und das war der Auslöser für meinen ersten Beitrag. Ich gehe davon aus, dass es bei der Verwendung der Funktionen wesentliche Fehler gibt.
**Außerdem erkenne ich, dass meine ursprüngliche Formel für mein Endziel viel zu einfach ist.
Entschuldigung für den langen Beitrag und falls mir etwas unklar war. Gerne gebe ich Auskunft. Ich bin ziemlich neu bei JMP und wäre daher für jeden Rat/Hilfe sehr dankbar. Vielen Dank im Voraus.
Betreff: Schleifen in der Formel verwendenWas ist Ihr spezifisches Problem?Können Sie posten, welche Formel Sie derzeit verwenden und die bei Ihnen nicht funktioniert?
Betreff: Schleifen in der Formel verwendenHallo, ich versuche zum ersten Mal, Schleifen in der Spaltenformel zu verwenden, und scheine auf Ihr ursprüngliches Problem zu stoßen.
Könnten Sie klarstellen, wie Sie das Problem gelöst haben und was Sie damit meinten, dass die Aufgabe außerhalb der Schleife liegen sollte?
Danke!
Betreff: Schleifen in der Formel verwendenKeine Notwendigkeit zu antworten. Ich habe das Problem herausgefunden, danke! Die Zuweisung sollte außerhalb der Schleife erfolgen.