「JMP と Excel – 終わらない話?」に関するこのブログ シリーズでは、 スプレッドシート データのインポートについて説明し、スプレッドシート (場合によっては他のソース) からデータをインポートする際の最初のいくつかの典型的な課題について説明しました。 今回は、3 番目に挙げたトピックである日付と日付形式に焦点を当てます。パート2 .
日と月が間違って解釈される
「2012 年 10 月 11 日」などの日付をデータ テーブルに貼り付ける場合、JMP は m/d/y と d/m/y 形式の間のあいまいさを解決する必要がある場合があります。
- 「2012 年 10 月 11 日」は 10 月ですか、それとも 11 月ですか。 列に日付形式を割り当てると、あいまいさがなくなります。 ただし、Excel の特殊な形式や一部のカスタム形式 (* プレフィックスを含む形式など) は、常に認識されるとは限りません。
Excel formatExcel formatExcel formatExcel formatExcel formatエクセル形式
- JMP のデフォルトの推定値は、最初に貼り付けられた値が ad/m/y の日付のみでない限り、m/d/y です! これを回避するには、適切な日付形式を前もって指定するか、最初の行に別のダミーの日付値 (13/1/99 など) を指定します。
- すべての変更とインポートは、選択した形式に一致しない値が欠落に設定されるという事実に基づいています。 そのため、JMP 警告が表示されます。
- 場合によっては、JMP が列の文字形式を選択します。 後で文字列を数値データ列に変更できます。 これについてもう少し詳しく説明しましょう。列情報を使用すると、日付形式を変更できます。 設定できる入力および出力形式があります。 必ず正しくしてください:
Changing Date formats in JMP Column Info with Input and output formatChanging Date formats in JMP Column Info with Input and output formatChanging Date formats in JMP Column Info with Input and output formatChanging Date formats in JMP Column Info with Input and output formatChanging Date formats in JMP Column Info with Input and output format入力および出力形式を使用して JMP 列情報の日付形式を変更する)
- 注意: Windows と Macintosh では、小数点以下の桁数とインポートされたデータの日付形式が異なる場合があります。 たとえば、「2012 年 10 月 25 日」は、Macintosh では「2012 年 10 月 25 日」のようにフォーマットされる場合があります。 列は、Macintosh では文字列としてインポートされる場合がありますが、Windows ではインポートされません。
- 前述のように、すべての形式が認識されるとは限らないため、表示されるインポートされたデータは予想とは異なる場合があります。 ただし、完全なデータはメモリ内にあるため、表示を変更すると完全な情報が表示されます。 事前に指定されていない場合は、ここで日付形式を時間または期間形式に変更したり、その逆に変更したりすることもできます
- 場合によっては、JMP の表示言語設定を英語やドイツ語などに変更するのが最も簡単な方法です。 私の前の「方法」を見ることができますブログ投稿. しかし、これですべてのケースが解決するとは限りません。
日付形式が認識されない
日付形式が認識しにくい場合があり、JMP はそれらを文字としてインポートします。 例として、カレンダーの週、四半期などを含むカスタマイズされた日付を指定できます。 このような場合、詳細な分析のために特定の情報を抽出するための数式を含む新しい列を作成する必要がある場合があります。 例を示したい:

「KW14/2016」は、数式エディタまたは JMP スクリプト言語を使用して、2 つの新しい列「weekNr」と「year」に変換できます。 Formula Editor は、これらのタスクや WORD やその他の文字関数の良き友です。もちろん REGEX も使用できますが、通常はこの関数にある程度精通している必要があります。 このスクリプト (または式エディターのアナログ) を使用して簡単に抽出できる年:
Num(Word(2, :MyDate, "/"))
また
Num(Right(:MyDate, 4))
また、他の方法で価値があると思われるかもしれませんが、それはあなたの好みに任せます。
日、月、その他の日付情報を定義する
文字としてインポートされた日付データを転送する別の方法は、Brady Brady の「データ テーブル ツール" 加える。 そこには、これらのケースを処理するための優れた機能があります。 簡単に見てみましょう。詳細については、Brady 自身の説明とブログを参照してください。 次のデータ テーブルのようなデータがあるとします。

日付列は、JMP では形式が認識されないため、文字形式です。 したがって、データと入力形式の変更はここでは機能せず、値が失われます (使用している言語設定に関係なく)。アドイン メニューで、[データ テーブル ツール] => [特別な数式列] => [カスタム日付数式ライター] を選択し、次の操作を行います。
- 変更するテーブルと列を選択
- 区切り文字を定義します。ここではアンダースコアです。文字列内の他の場所に複製されます (インタラクティブに好きなものを選択できることに注意してください – 私の個人的なお気に入りです)
- 年の数字形式を指定します (たとえば、年が 2 桁の場合は重要です)。
- 各分数を何を表すか (日、分、年など) にマッピングします。
- 月にとって重要なのは、その形式 (数字、3 文字、または完全な名前) です。
- 出力形式を指定し、[数式列の作成] を押します。
- 結果は、新しい数式列「NewDate」のクリーンな数値日付データです。ここで、数式を見て、変換が手動でどのように行われたかを確認できます。

それはすでに多くの状況で私を助けました。 すべてではありませんが。 まず、ドイツ語で 10 月を表す Okt などのローカル名では機能しませんでした。 2 番目に、データベースからのデータが正しく読み込まれず、インポート後に結果がすでに値が欠落しているケースが 1 つあります。 そこでは、既に述べた言語設定の変更を使用して回避できます。 データベース接続とそれがどのようにデータを取得したかを確認する可能性もあったかもしれませんが、これは掘り下げるのがはるかに難しく、開発やITと簡単に共有できるマシンではない場合:)
次はなにかな?
これがあなたの仕事に役立つ情報になることを願っています。これらのヒントがどのように機能するかについてのフィードバックをお待ちしております. この JMP および Excel シリーズの次の 2 回、おそらく最後のブログ投稿では、インポートするデータのデータ品質の問題について説明します。 特に、データの校正と編集はどこから始めればよいでしょうか? Excel で、またはインポート後に。 JMPかJMPか、それが問題だ;)
また、データを JMP にインポートするためのベスト プラクティスと、参考になるその他のリソースについても説明します。
あなたの経験は何ですか? どのような課題に直面していますか?
あなたから学び、それらの課題をどのように克服したか、そして私の提案が (スプレッドシート) データのインポートに関する課題を軽減するのに役立つかどうかを確認できてうれしいです。
JMP での M/D/Y と D/M/Y のインポートの問題を修正したい:
CSV インポートでは MDY または DMY の日付形式が強制されます