こんにちは、みんな、
日付を含む列を含む CSV ファイルを開くことがよくあります。 時々、CSV ファイルを開くと、JMP がそれを文字として開きます。 これを日付に変換しようとすると、その列の行の大部分が消去されます (null)。 なぜこれが起こっているのかわかりますか?
前もって感謝します!
単なる推測です...これで解決しない場合は、テクニカル サポートが必要になります。 Windows を使用していると思いますが、Mac にも同様のものがあると思います。 JMP がローカリゼーション設定を使用しており、何かが異なっている可能性があります (言語など)。
windows localization settingswindows localization settingsWindows ローカリゼーション設定
またあったね、
ファイルのインポートに影響を与える可能性のある JMP が使用するプログラムはありますか? あなたのソリューションを使用しましたが、複数のコンピューターで機能しましたが、共有ドライブにあるまったく同じ csv ファイルを開くと次のエラーが発生するコンピューターが 1 台あります。
これらの列のインポート中に無効なデータが検出されました: MeasurementDate、Other_date。
データを再度インポートしてみますが、それらの列のデータ型を明示的に文字に設定します。
私たちは二人とも JMP12 を使用しており、彼のコンピュータの「テキスト データ ファイル」設定を私のコンピュータと一致させようとしたり、デフォルト設定に戻したりしようとしました。
助言がありますか?
よろしくお願いします。
JMP には、使用する日付形式を指定する必要があります。 ファイルが m/d/y ではなく明らかに d/m/y である日付 (13/12/2019) で始まる場合、JMP は d/m/y を正しく推測します。 しかし、ファイルがあいまいな日付 (2019/11/10) で始まる場合、JMP は m/d/y を推測し、変換できない後の値を処理する必要があります。 あなたがすべきいつもd/m/y を使用する場合は形式を指定します。 これはスクリプトで行うことができます。
Open(
"E:\BadDates.csv",
columns(
New Column( "lot", Character, "Nominal" ),
New Column( "WaferID3", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "MeasurementDate", Numeric, "Continuous", Format( "d/m/y h:m", 19 ), Input Format( "d/m/y h:m" ) ),
New Column( "Other_date", Numeric, "Continuous", Format( "d/m/y h:m", 19 ), Input Format( "d/m/y h:m" ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 0 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
インポート ウィザードを使用して日付形式を指定し、ソースインポートされたテーブルからのスクリプト。
列ダイアログで文字列を変換するには、文字を数値に変更し、適切な日付形式に変更します (両方を一度に実行します)。
でもあなたは本当にすべての日付があいまいで m/d/y とみなされるケースを避けるために、d/m/y の列をインポートするときに日付形式を指定する必要があります。この場合、JMP は何も問題がないことを伝えることはできませんが、内部日付値では月と日が入れ替わってしまいます...日付が正しくソートされないなどです。
ありがとうクレイジ。 以下は機能する CSV の例です。
うまくいった日付と失敗した日付の例を教えていただけますか? JMP が mmddyyyy と ddmmyyyy を推測して間違った場合、かなりの数の日付が欠損値になります (月 13 から 31 まで)。 JMP にどの形式を使用するかを指示し (プレビュー ウィザードで最も簡単)、その後のインポートにそのスクリプトを使用できます。 文字列を取得すると、JMP はその列が JMP が認識する 1 つの形式ではないことを示唆するものを見つけました。 適切な形式を指定する必要があります同時に文字から数値に変換します。
すべての値は選択した形式と一致していますか? 日付以外の値が含まれる値はありますか?
ありがとう。ただし、これを行うと、その列のデータの大部分が失われます。 理由はありますか?
データ列を選択し、[列] > [列情報] を選択します。 データ型を数値に変更します。 次に、文字列の日付パターンに一致する形式に変更します。 「OK」をクリックします。