Ich vermisse die Daten in der letzten Zeile, während ich neue Spalte für Schleife hinzufügeHallo zusammen,
Ich verwende Formel, um eine neue Spalte hinzuzufügen, aber die Zelle in der letzten Zeile scheint leer zu sein.
Können Sie uns helfen zu überprüfen, was hier falsch ist?
Vielen Dank.
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dt << New Column( "test_col_loop",
character,
formula(
For( i = 1, i <= N Rows( dt ), i++,
If( Column( "Region" )[i] == "MW",
Column( "test_col_loop" )[i] = "IsMW",
Column( "test_col_loop" )[i] = "NotMW"
)
)
)
); Das Ergebnis ist so:
Re: Ich vermisse die Daten in der letzten Zeile, während ich neue Spalte für Schleife hinzufügeWenn keine andere Wahl besteht, sollten Sie die Verwendung einer For () - Schleife in einer Formelspalte vermeiden.
In einer Datentabelle wird die Formel für jede Zeile ausgewertet. In Ihrem Fall bedeutet dies, dass für jede Zeile Ihrer Tabelle die gesamte Schleife ausgeführt wird.
Ich würde vorschlagen, dass Sie einige Zeit interaktiv mit JMP arbeiten und Formeln mithilfe des Formel-Editors zu Spalten hinzufügen, um sicherzustellen, dass Sie wissen, wie es funktioniert, bevor Sie versuchen, Formeln mit Skripts hinzuzufügen.
Die Lösung von @melaniedrake ist der richtige.
Die Formel, die Sie der Datentabelle hinzugefügt haben, ist so ungewöhnlich und ineffektiv, dass es sich nicht lohnt, herauszufinden, warum sie sich in der letzten Zeile seltsam verhält. Selbst wenn wir es herausfinden könnten, wäre es nicht hilfreich.
Re: Ich vermisse die Daten in der letzten Zeile, während ich neue Spalte für Schleife hinzufügeVielen Dank.
Aber manchmal muss ich noch eine Spalte mit einer komplexen Formel hinzufügen. Ich nehme dieses Beispiel, um mein Problem zu vereinfachen.
Können Sie uns helfen zu sagen, warum die letzte Reihenzelle fehlt?
Re: Ich vermisse die Daten in der letzten Zeile, während ich neue Spalte für Schleife hinzufügeVersuchen Sie diese einfachere Spaltenformel:
If( :Region == "MW",
"IsMW",
"NotMW"
)