JSL Vergleichen Sie den Wert in der Zeile mit der nächsten Zeile.Hallo,
Ich versuche, mit "FOR" und "IF" eine Bedingungsspalte zu erstellen.
Ich habe diese Tabelle und möchte, dass in der Spalte "Con" angegeben wird, ob das Alter in der nachfolgenden Zeile niedriger ist als die aktuelle Zeile. wenn ja "1" wenn nicht "0"
| Name | Alter | Con |
| David | 23 | 0 |
| Bari | 26 | 1 |
| James | 12 | 0 |
| Lora | 14 | 0 |
Das habe ich: (funktioniert nicht)
dt<< New Column( "Con", Formula( For( i = 1,i <= N Row( dt ), i++, If(:Age[i] >= :Age[i+1] , "0", "1", ))));
Ihre Hilfe wird geschätzt.
SkriptingBetreff: JSL Vergleichen Sie den Wert in der Zeile mit der nächsten Zeile.Ist es das, wonach du suchst?
New Table( "Ages",
Add Rows( 4 ),
New Column( "Age",
Numeric,
"Ordinal",
Format( "Best", 12 ),
Set Values( [23, 26, 12, 14] )
),
New Column( "Younger than Previous",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( If( :Age < Lag( :Age, 1 ), 1, 0 ) ),
Value Labels( {0 = "No", 1 = "Yes"} ),
Use Value Labels( 1 ),
Set Display Width( 125 )
)
)Betreff: JSL Vergleichen Sie den Wert in der Zeile mit der nächsten Zeile.Danke, das könnte funktionieren, aber es wird die Zeile 3 (James) als "Ja" markieren und ich versuche, die Zeile 2 (Bari) mit einem "Ja" zu markieren.
Irgendeine andere Lösung?
Betreff: JSL Wert in Zeile mit nächster Zeile vergleichen.Hier sind zwei Möglichkeiten, dies zu tun (Row() und Lag():
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
Compress File When Saved(1),
New Column("Name", Character, "Nominal", Set Values({"David", "Bari", "James", "Lora"})),
New Column("Age", Numeric, "Continuous", Format("Best", 12), Set Values([23, 26, 12, 14])),
New Column("Con", Numeric, "Continuous", Format("Best", 12), Set Values([0, 1, 0, 0]))
);
dt << New Column("Younger than Next_Row", Character, "Nominal",
Formula(If(:Age > :Age[Row() + 1], "Yes", "No")));
dt << New Column("Younger than Next_Lag", Character, "Nominal",
Formula(If(:Age > Lag(:Age, -1), "Yes", "No"))
);