여러분, 안녕하세요,
시간이 있고 형식이 01h17m03s인 열이 있습니다. 이 연속 데이터를 만들고 싶지만 모든 작업이 작동하지 않습니다. 스크립트를 사용하여 이것을 변경할 수 있습니까?
어떤 아이디어라도 큰 도움이 될 것입니다.
감사 해요,
-라이언
다음과 같이 수식을 사용할 수 있습니다. 여기서 :txt는 시간이 포함된 열입니다.
InHours(Num(Word(1, :Txt, "hms"))) + InMinutes(Num(Word(2, :Txt, "hms"))) + Num(Word(3, :Txt, "hms"))
그런 다음 열을 숫자 연속으로 변경하고 형식을 시간 h:m:s로 변경합니다(시간 형식에 따라 다를 수 있음).

Names Default to Here( 1 );
// make data like 01h17m03s
dt = New Table( "Time",
Add Rows( 10 ),
New Column( "Original", Character, Ordinal ),
New Column( "Converted", Numeric, Continuous, Format( "H:M:S" ) )
);
// utility
padded = Function( { l, h }, { v },
v = Random Integer( l, h );
v = If( v < 10, "0", "" ) || Char( v );
);
// populate original value
For Each Row(
h = padded( 0, 24 );
m = padded( 0, 60 );
s = padded( 0, 60 );
:Original = Concat( h, "h", m, "m", s, "s" );
);
// now convert it to JMP time number
For Each Row(
:Converted = Eval(
Parse(
Regex( :Original,
"(\d\d)h(\d\d)m(\d\d)s",
"\3 + 60*(\2) + 3600*(\1)"
)
)
)
);