JSL 行内の値を次の行と比較します。こんにちは、
「FOR」と「IF」を使用して条件列を作成しようとしています。
このテーブルがあり、「Con」列に、後の行の年齢が現在の行よりも低いかどうかを示したいと考えています。ある場合は「1」、そうでない場合は「0」
| 名前 | 年 | コン |
| デビッド | 23 | 0 |
| バーリ | 26 | 1 |
| ジェームス | 12 | 0 |
| ローラ | 14 | 0 |
これは私が持っているものです:(機能しません)
dt<< New Column( "Con", Formula( For( i = 1,i <= N Row( dt ), i++, If(:Age[i] >= :Age[i+1] , "0", "1", ))));
ご協力をよろしくお願いいたします。
実験計画法マスカスタマイゼーション品質およびプロセスエンジニアリングRe: JSL 行の値を次の行と比較します。これを行う 2 つの方法 (Row() と 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 行の値を次の行と比較します。ありがとう、これは機能する可能性がありますが、行3(ジェームズ)に「はい」とマークされるため、行2(バーリ)に「はい」をマークしようとしています
他の解決策はありますか?
Re: JSL 行の値を次の行と比較します。これがあなたが求めているものですか?
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 )
)
)