腳本:檢索列數據表的某些名稱<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好
我有一個數據表(從Excel導入),其中某些列名具有日期格式(例如9月14日)。 但是也有其他專欄。 附件中找到jmp數據表Example1。 有兩個問題。
首要問題:
我需要將日期列堆疊起來,例如在Graph Builder分析中將其作為X。這並不是很困難(Example1中的腳本,但是該表將成為活動文檔,隨著月份的進展將添加新列,因此我無法將自動腳本與硬編碼列一起使用。
我需要提取具有此類日期結構(月份YY)的列名稱,並將其堆疊。 我嘗試使用獲取列名來提取列列表:
colNames =數據表( “示例1” ) <<獲取列名;
節目(colN艾姆斯) ;
但是我不能僅提取我感興趣的堆棧。 我考慮過Regex(),但無法按照我喜歡的方式運行它。
第二期:
然後出現下一期。 數據類型將是字符和標稱值。 我希望它是數字和序數的(或者至少是字符和序數的,但順序正確)。 將屬性更改為數字時,我會丟失很多值,但不是全部。
不知道我在這裡做錯了什麼。
謝謝你的幫助,
馬丁
回复:腳本:檢索列數據表的某些名稱嗨,唐,
現在,我更了解您使用過的regexp公式。 我想我可以通過添加條件來將其調整為通用目的,例如,在變量名與“月YY”,“ DD月YY”,“ DD.MM.YY”等混合使用的情況下,將其調整為最終格式。
最好的辦法是使JMP知道的變量名稱具有一致的輸入格式。
感謝您的幫助,您使我的示例步入正軌。 謝謝!
馬丁
回复:腳本:檢索列數據表的某些名稱嗨,唐,
我通過使用if構造作為Count一詞來繞過日期Transfer,這取決於是否有前導數字:
當前數據表() <<新專欄( “新日期” ,
數字,
序數,
格式( “ ddMonYYYY” ) ,
式(
如果(不見了(數詞(字( 1個, :基準) ) ) ,
日期DMY (
1個,
比賽(字( 1個, :基準) ,
“ Januar” , 1個,
“二月” , 2 ,
“März” , 3 ,
“四月” , 4 ,
“麥” , 5 ,
“朱尼” , 6 ,
“朱莉” , 7 ,
“八月” , 8 ,
“九月” , 9 ,
“十月” , 10 ,
“十一月” , 11 ,
“ Dezember” , 12 ,
13
) ,
2000 +數詞(字( 2 , :基準) )
) ,
日期DMY (
數詞(字( 1個, :基準) ) ,
比賽(字( 2 , :基準) ,
“ Januar” , 1個,
“二月” , 2 ,
“März” , 3 ,
“四月” , 4 ,
“麥” , 5 ,
“朱尼” , 6 ,
“朱莉” , 7 ,
“八月” , 8 ,
“九月” , 9 ,
“十月” , 10 ,
“十一月” , 11 ,
“ Dezember” , 12 ,
13
) ,
2000 +數詞(字( 3 , :基準) )
)
)
)
) ;
但是我仍然對創建列表regNames的regexp公式有疑問。
馬丁
回复:腳本:檢索列數據表的某些名稱嗨,唐,
我試圖通過您的例子。 但是,我得到一個空的regNames列表,因此堆棧腳本提示我像以前一樣輸入所有內容。 這將導致一個數據表,其中的新列腳本由於缺少列表而無法運行。 另外,日期轉換對我也不起作用。
您嘗試過了嗎,對您有用嗎? 您使用了哪種語言設置?
謝謝,
馬丁
回复:腳本:檢索列數據表的某些名稱馬丁
我附上一個腳本,該腳本應該可以解決您遇到的問題。 正則表達式在JSL中使用時特別棘手,並且與標準正則表達式有所不同(儘管它非常接近,主要缺少某些功能)。 發生日期問題是因為JMP無法將日期識別為可用的信息,至少在我的版本中沒有看到它們。 我的解決方案解析了名稱,並創建了一個帶有數字日期的新列。 有其他解決方案,儘管我雖然這是最簡單的。 !