7桁または8桁の数値として入力されるデータ列があり、それをHH、MM、SS形式で入力したいのですが、何を試してもうまくいきません。何か見落としている明らかなコツはありますか?
マーク
数字の 1 つは 61412 です。これは午前 6 時 14 分 12 秒を表していると思います。
61412は7桁や8桁ではなく、5桁です。おそらく、数値を文字列に変換し、Informat関数の書式パターンを使ってJMPの日付型に変換できるでしょう。
New Table( "Time",
Add Rows( 2 ),
New Column( "Time as Coded Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [61412, 142954] )
),
New Column( "Time",
Numeric,
"Continuous",
Format( "h:m:s", 12, 0 ),
Input Format( "h:m:s", 0 ),
Formula(
t1 = If( :Time as Coded Number < 100000,
"0",
""
) || Char( :Time as Coded Number );
In Hours( Num( Left( t1, 2 ) ) )
+In Minutes( Num( Substr( t1, 3, 2 ) ) ) + Num( Right( t1, 2 ) );
)
)
)
元の 5 桁または 6 桁 (24 時間制の hh:mm:ss コーディングを想定) を秒数 (JMP の時間ベース) に変換し、列の形式を変更するには、数式 (またはスクリプト) が必要です。
数字が苦手なので、日付情報と間違えてしまいましたが、問題なく変換できました。
ここにフォーマットパターンのオプションがあります。時間が12時間形式の場合は、いくつかの変更が必要になることに注意してください。
InFormat(Right("0" || Char(:Column 1), 6), "Format Pattern", "
<HH>
<:?>
<MM>
<:?>
<SS>
")
</SS>
</MM>
</HH>
