列名的有趣問題我想知道一個腳本沒有做它應該做的事情 - 根本沒有!
只需開啟附加的資料表並執行腳本: THE_BUG
Caption(
"column \!"File Name\!"
values: " || Char((current data table():file Name << Get values));
)
結果令人驚訝:

為什麼不是“A”和“B”?

人們可以輕鬆修復腳本......
但深入挖掘,有一個相當令人驚訝的根本原因...
請欣賞:)
自動化和腳本編寫回覆:表名的討厭問題我很困惑。這是我使用 JMP 18.1.0 得到的結果:

我錯過了什麼嗎?
回覆:表名的討厭問題抱歉,在更新帖子時,我不小心刪除了根本原因。
現在奇蹟再次發生.....
回覆:表名的討厭問題在原始資料表中你可能已經得到

看更多...My guess is that it is caused by using translated column name and same name in other column + relying on JMP's loose name rules (file Name instead of File Name for column referencing)
New Table("where_is_the_bug",
Add Rows(2),
Compress File When Saved(1),
New Script(
"THE BUG", JSL Quote(Caption(
"column \!"File Name\!"
name: "|| (current data table():file Name << Get Name)||"
values: " || Char((current data table():file Name << Get values));
)
) ,
As String(1)
),
New Column("File Name",
Character,
"Nominal",
Compact(),
Set Values({"A", "B"}),
Set Display Width(71)
),
New Column(["de" => "Dateiname", "en" => "File Name"],
Character,
"Nominal",
Compact(),
Set Selected,
Set Values({"C", "C"}),
Set Display Width(83)
)
)
Most definitely a bug considering JMP's rules for names but there are easy workarounds.
回覆:表名的討厭問題不只是猜測:)
很有趣...
- JMP 在內部為第二列保留列名稱「檔案名稱」 - 儘管與其他列衝突
只需保存表格腳本,您就會看到類似@jthi的帖子中的內容 - JMP 使用此內部名稱來尋找列 - 儘管表格檢視中的“檔案名稱 2”
除了「檔案名稱」之外,您還可以透過「檔案名稱2」存取該欄 - JMP 首先掃描本地化的列名稱,然後掃描原始列名稱(否則它將找到第一列)。
順序似乎是:
1) 列名a: 完全匹配
2) 本地化的列名 - 甚至近似匹配
3)列名b:近似匹配 - 附加列來自哪裡。
我嘗試使用英語和德語設定連接和更新...使用 JMP 18.1 和 JMP19EA4。
回覆:表名的討厭問題因此,如果列名的編寫方式與實際列名略有不同,JSL 程式碼就非常「脆弱」:
有人可以新增具有替代值的新欄位。如果本地化名稱之一與原始列名稱相似/腳本 JMP 中的參考將優先考慮新列。這可能會導致令人驚訝的情節 - 也許比這個更不明顯:
<- 圖形產生器將會使用這個
列名稱:重量
JSL 腳本:權重
alternative column (at the end of the table): wEiGhT <- Graph Builder will use this one

dt = Open("$SAMPLE_IMPORT_DATA/Bigclass.xlsx");
expr = Expr(dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :Weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
));
expr;
Wait(1);<BR />
caption("and with some magic ...");
New Column( ["x-id" => "wEiGhT", "en" => "innocent column"], Set Values( 100::61) );
expr;
回覆:表名的討厭問題使用@hogi提供的數據表,它獲得最初顯示的空白值。然後我注意到有一列名為「檔案名稱 2」的列,其中 2 行具有空白值。然後我刪除了“檔案名稱 2”列並重新運行腳本,並且顯示了腳本

如果更改檔案名稱 2 列的名稱,腳本也會正確執行