在1月16日將以下錯誤發送給JMP支持。 回應是,此問題已發送給開發團隊,以供將來JMP版本中可能包含。 在我們的產品研究團隊中,這種情況可能相當普遍,因為他們通常使用非常長的列名-列名越長,發生一次MS重新編碼(例如,創建...字符)的可能性就越大。
您好JMP支持,
通常,我不會在列名下面創建數據表。 但是,在從MS Excel導入文件時,我遇到了這種情況,我將對其進行描述,因為我需要與正在以這種方式創建數據的其他人打交道。
假設我有以下簡單表:
New Table( "untitled 727",
Add Rows( 0 ),
New Column( "Column with …",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [] )
)
)
然後,我創建以下非常簡單的公式。

關注1。 如果我嘗試通過雙擊公式的這一部分來編輯它,則“…”消失:
關注2。 如果我不嘗試編輯公式的這一部分,而只是將公式保存到數據表中,那麼一切似乎都很好。 但是,如果我隨後使用JSL <<在數據表上獲取腳本,或者使用紅色三角形複製表腳本,則結果是:
New Table( "untitled 727",
Add Rows( 0 ),
New Column( "Column with …",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [] )
),
New Column( "Formula on dot dot dot column",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :Column with )
)
)
請注意,公式無法正確傳輸(點號點特殊字符不會出現)。
問題3:如果嘗試使用<<獲取公式在JSL中讀取公式,則會得到錯誤的答案(從“日誌”窗口復制):
Data Table("untitled 727"):Formula on dot dot dot column << Get Formula
/*:
:Column with
無論哪種考慮,是否都存在一種解決方法,以確保在有人嘗試在“公式編輯器”中編輯該列以及我作為腳本編寫者嘗試讀取“公式”的值的情況下,該列均保持有效?
我的用例是,我正在創建“當前數據表”的不可見副本,以便可以作為腳本編寫者對其進行一些操作,而無需實際更改用戶的基礎數據並觸發“未保存表”標誌。 因此,我的理想解決方案將不涉及遍歷和重命名壞列,因為這將觸發“表未保存”標誌。
至少在某些情況下,我們很高興為您提供解決方法。 同時,我們已將問題報告給開發人員,並且該問題已在JMP 15中解決(今年晚些時候可用)。
我收到了以下人員的跟進@溫迪·墨菲表示我可以通過使用子集來獲得所需的信息(數據表的私有副本,以便在腳本執行期間無需通過操作觸發“表未保存”),如下所示:
new = Data Table( "untitled 727" ) << Subset(
Private,
Suppress formula evaluation( 0 ),
All rows,
Selected columns only( 0 )
);
這確實可以滿足我的需要,並且可能比我一直在做的效率更高(<<在數據表上獲取腳本,然後評估結果以獲取副本)。
因此,有一種解決方法在我的情況下不需要<<獲取腳本。
我仍然希望最終能解決該問題,因為我確實有其他使用<<獲取公式的腳本表現不佳。 Wendy表示開發團隊可能會解決這個問題。