如何使用 JSL 實作類似 VLOOKUP 的 Excel?如何根據「Big Class.jmp」表中學生的姓名,找到「big class family.jmp」表中學生的運動名稱。
並在“Big Class.jmp”表中添加要顯示的列。非常感謝!
d2 = Open( "$SAMPLE_DATA/big class families.jmp" );
d1 = Open( "$SAMPLE_DATA/Big Class.jmp" );

回覆:如何使用 JSL 實作像 VLOOKUP 這樣的 Excel?好方法,謝謝!回覆:如何使用 JSL 實作像 VLOOKUP 這樣的 Excel?有幾種方法。 一種是簡單地從堆疊表中刪除不需要的行。
d1 = Open("$SAMPLE_DATA/Big Class.jmp");
d2 = d1 << Stack(Columns(:age, :sex, :height, :weight));
d2 << delete rows(d2 << get rows where(:name != "MARION" & :name != "JUDY"));
或只是製作一個子集。 下面的範例沒有堆疊(在 JMP 中,在同一列中混合廣泛不同的變數很少是一個好主意)。
d1 = Open("$SAMPLE_DATA/Big Class.jmp");
d1 << Subset(rows(d1 << get rows where(:name == "MARION" | :name == "JUDY")));
回覆:如何使用 JSL 實作像 VLOOKUP 這樣的 Excel?謝謝。 這是一個非常有效的方法。 我會記住這一點。
但是,如果我只需要程式碼來提取我給出的八個行名稱的資料怎麼辦?想學習另一種方法。
打擾您了,謝謝!
回覆:如何使用 JSL 實作像 VLOOKUP 這樣的 Excel?看起來您想要堆疊列。 探索堆()命令。 但是,在您的範例中,您堆疊了不同資料類型(字元和數字)的列,除非先協調資料類型,否則這將不起作用。
d1 = Open("$SAMPLE_DATA/Big Class.jmp");
For(i = 1, i <= N Col(d1), i++,
Column(d1, i) << data type("Character")
);
d1 << Stack(Columns(:age, :sex, :height, :weight));
回覆:如何使用 JSL 實作像 VLOOKUP 這樣的 Excel?請繼續指導:如何透過同時匹配兩個名稱來提取值,就像excel中的偏移函數一樣。非常感謝!
d1 = Open("$SAMPLE_DATA/Big Class.jmp");
d2 = New Table( "offset",
Add Rows( 8 ),
New Column( "name",
Character,
"Nominal",
Set Values( {"MARION", "MARION","MARION","MARION", "JUDY", "JUDY", "JUDY", "JUDY"} )
),
New Column( "obj",
Character,
"Nominal",
Set Values( {"sex", "age", "weight", "height", "sex", "age", "weight", "height"} )
)
);

回覆:如何使用 JSL 實作像 VLOOKUP 這樣的 Excel?這非常有用。 非常感謝!回覆:如何使用 JSL 實作像 VLOOKUP 這樣的 Excel?透過符合列的 Update() 方法非常適合此任務。 手動(表格選單)或透過腳本。
例子:
d2 = Open("$SAMPLE_DATA/big class families.jmp");
d1 = Open("$SAMPLE_DATA/Big Class.jmp");
d1 << Update(
With(d2),
Match Columns(:name = :name),
Add Columns from Update table(:sports)
);