如何使用 JSL 实现像 VLOOKUP 这样的 excel?如何根据“Big Class families.jmp”表中的学生姓名查找“big class families.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)
);