JSL Comparez la valeur de la ligne avec la ligne suivante.Bonjour,
J'essaie d'utiliser "FOR" et "IF" pour créer une colonne de condition.
J'ai ce tableau et je veux que la colonne "Con" indique si l'âge dans la ligne suivante est inférieur à la ligne actuelle. si oui "1" sinon "0"
| Nom | Âge | Con |
| David | 23 | 0 |
| Bari | 26 | 1 |
| James | 12 | 0 |
| Lorraine | 14 | 0 |
Voilà ce que j'ai : (ne fonctionne pas)
dt<< New Column( "Con", Formula( For( i = 1,i <= N Row( dt ), i++, If(:Age[i] >= :Age[i+1] , "0", "1", ))));
Votre aide sera appréciée.
Conception d'expériencesPersonnalisation de masseIngénierie Qualité et ProcédésRe : JSL Comparez la valeur de la ligne avec la ligne suivante.Voici deux façons de procéder (Row() et 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"))
);Re : JSL Comparez la valeur de la ligne avec la ligne suivante.Merci, cela pourrait fonctionner mais cela marquera comme "Oui" la ligne 3 (James) et j'essaie de marquer la ligne 2 (Bari) avec un "Oui".
Une autre solution ?
Re : JSL Comparez la valeur de la ligne avec la ligne suivante.Est-ce ce que vous recherchez ?
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 )
)
)