如何有條件地為 JSL 中的新列設置數據類型?您好,如何有條件地以編程方式為新列設置數據類型? 我有一個涵蓋數字/字符的解決方法,它可以擴展到其他類型,但我正在嘗試讓下面的方法(標記為“不工作”)工作。 日誌顯示它無法識別類型變量。 我已經嘗試了一些類似 parse() 的方法,但到目前為止都沒有成功。
Names Default To Here( 1 );
dt = open( "$SAMPLE_DATA\Big Class.jmp");
colType = column(dtData,"Name") << get data type;
// doesn't work, error on colType
dt << add multiple columns("New Column", 1, After("Name"), colType);
// works
dt << add multiple columns("New Column", 1, After("Name"), Numeric);
if(colType == "Character", column(dt, "New Column") << data type ("Character"));
謝謝,
麥克風
回复:如何有條件地為 JSL 中的新列設置數據類型?謝謝!
回复:如何有條件地為 JSL 中的新列設置數據類型?感謝您報告此問題。 原始帖子揭示了 JSL 中的一個缺陷。 提供了一些聰明的解決方案,這是很好的解決方法。 我現在可以報告說,在 JMP 14 中,原始代碼(在示例腳本中標記為“不起作用”)現在可以按預期正常工作。
回复:如何有條件地為 JSL 中的新列設置數據類型?謝謝!回复:如何有條件地為 JSL 中的新列設置數據類型?你是對的。 這通常是填充表達式的最佳方式
回复:如何有條件地為 JSL 中的新列設置數據類型?謝謝吉姆。 這很好用。 eval(substitute(expr(...))) 總是讓我困惑何時使用它,因為它似乎是一種將變量獲取到需要去的地方的過於復雜的方法。 如果我試圖將變量放入這樣的表達式中,那麼可以說它總是需要的嗎?
謝謝,
麥克風
回复:如何有條件地為 JSL 中的新列設置數據類型?這將為您解決問題
Eval(
Substitute(
Expr(
dt << add multiple columns( "New Column", 1, After( "Name" ), __coltype__ )
),
Expr( __colType__ ), Parse( coltype )
)
)