요구 사항을 완전히 이해하지 못했을 수 있습니다. 내가 볼 수 있듯이 모든 열은 문자이며 이름을 제외하고 날짜 시간 열을 식별하는 추가 정보는 없습니다. 해당 이름이 항상 동일하면 열을 반복 할 필요가 없으며 스크립트에서 이름을 지정할 수 있습니다. 대안은 사용자가 변환 할 열을 선택할 수있는 작은 대화 상자를 작성하는 것입니다. 또한 목표가 무엇인지 정확히 알지 못합니다. 날짜는 전세계 어디서나 동일한 형식으로 표시됩니까, 아니면 로컬 설정에 따라 표시됩니까? 현재로서는 각 열의 이름이 항상 같고 날짜 형식이 로컬 형식으로 표시되는 것으로 가정합니다. 그러면 첨부 된 스크립트가 수행해야 할 작업의 적어도 일부를 수행 할 수 있습니다.
적절하게 형식을 지정하고 싶은 표가 있습니다 (첨부 됨)

주요 복잡성은 다음 세 가지 문제에서 비롯됩니다.
- 이 스크립트의 사용자는 다른 언어로 된 Windows 시스템이 다르기 때문에 날짜 형식이 다릅니다. 예를 들어, 열의 데이터베이스 입력 날짜 시간 (항상) 형식입니다 dd-mon-yyyy hh : mm : ss 스페인어 나 독일어로는 존재하지 않습니다.

2. 사용자는 숫자 형식도 다릅니다. 모든 열은 10 진수로 쉼표를 기대하므로 빈 숫자 값이됩니다 (3.14는 3,14로 인식되지 않음).
삼. 항상 날짜-시간 인 첫 번째 열 이후에는 열에 숫자 또는 범주 값이 포함될 수 있습니다. 첨부 된 예에서 column3에는 주석이 포함되어 있으므로 형식을 변경할 필요가 없습니다.
잠재적 인 해결책 :
문제 # 1 (로캘을 사용한 날짜-시간)
아마도 JMP 언어가 영어인지 확인하고 로케일 설정을 무시하는 옵션을 활성화 / 비활성화하는 것이 더 쉽습니다.
dt = Current Data Table();
<BR />// TODO assert that JMP language is English
Preferences( Use JMP Locale Settings( 1 ) );
dt:datetime<< Set Data Type( Numeric ) << Modeling Type( continuous ) << Format( "Locale Date Time h:m:s" );
Preferences( Use JMP Locale Settings( 0 ) );
dt:datetime<< Format( "Locale Date Time h:m:s" );
문제 # 2
영어에서 로케일로 형식을 변경하기 위해 비슷한 것을 할 수 있습니다. 이 게시물에 대한 추가 정보
https://community.jmp.com/t5/Martin-Demel-s-Blog/JMP-and-Excel-A-Never-ending-story-Part-2/ba-p/35099
dt = Current Data Table();<BR />
// TODO assert that JMP language is English
Preferences( Use JMP Locale Settings( 1 ) );
dt:column1 << Set Data Type( Numeric ) << Modeling Type( continuous );
Preferences( Use JMP Locale Settings( 0 ) );
dt:column1 << Set Data Type( Numeric ) << Modeling Type( continuous );
문제 # 3
JMP에서 최선의 추측을 사용하여 열을 문자에서 숫자로만 전달하는 방법은 무엇입니까?
이 게시물에 따라 : https://community.jmp.com/t5/Discussions/Convert-data-to-numeric-Only-If-Appropriate/td-p/106692
dt = CurrentDataTable();
// TODO Assert that JMP is in English
Preferences( Use JMP Locale Settings( 1 ) );
// Convert to numeric only if nedeed
For( i = 2, i <= N Cols( dt ), i++,
isNumeric = "NO";
For( theRow = 1, theRow <= 10, theRow++,
If( Column( i )[theRow] != "" & Is Missing( Num( Column( i )[theRow] ) ) == 1,
isNumeric = "NO";
Break();
,
isNumeric = "YES"
)
);
If( isNumeric == "YES",
Column( i ) << set data type( numeric ) << Modeling Type( continuous );
Preferences( Use JMP Locale Settings( 0 ) );
Column( i ) << set data type( numeric ) << Modeling Type( continuous );
Preferences( Use JMP Locale Settings( 1 ) );
);
);
Preferences( Use JMP Locale Settings( 0 ) );
JMP가 영어로되어 있고 더 효율적인 방법이 있는지 확인하는 주장이 없습니다.
여보세요,
"Windows"탭의 모든 환경 설정은 JSL을 통해 액세스 할 수 없습니다. 따라서 해결 방법 만 가능합니다. 한 가지 제안은 현재 언어가 영어인지 테스트하고 사용자에게 언어를 변경하는 방법을 설명하지 않은 경우 테스트합니다.
If( (Num( "2.1" ) == 2.1),
"English",
lw = New Window( "Warning: inappropriate formatting options",
V List Box(
Spacer Box( Size( 600, 20 ) ),
H List Box(
Spacer Box( Size( 20, 20 ) ),
V List Box(
Text Box( "Warning\!n", <<SET wrap=""> Preferences --> Windows-specific
Set \!"Display Language\!" to \!"English\!" AND
check the box next to \!"Use JMP language rather than System locale settings,...\!n
Then re-start this program\!n",
<<SET wrap=""></SET></SET>
친애하는
베른 드