Exploratory アワー #412 - 月名が英語の日付データを正しく日付型に変換したい

Exploratoryで、月名が英語表記の日付データを正しく日付型に変換する方法を紹介します。この問題は、システムのロケール設定が日本語になっている場合によく発生します。適切なロケールを指定することで、正確な日付変換が可能になります。

問題

  1. 英語の月名を含む日付データが文字列型(キャラクター型)として認識されている。
  2. 標準の日付変換関数では、英語の月名が正しく解釈されず、不正確な日付に変換される。
  3. システム全体のロケール設定を変更せずに、特定の日付変換のみで英語の月名を正しく処理したい。

解決方法

英語の月名を含む日付データを正しく日付型に変換するには、以下の手順を実行します。

標準の日付変換方法

まず、標準の日付変換方法を試みます。

変換したい列のヘッダーメニューから「データタイプを変換」の「日付/時間型に変換」を選びます。また、日付の並び順(年月日など)に合わせてフォーマットを選択します。今回の場合は、「Year, Month, Day」を選びます。

計算を作成のダイアログが表示されるので、そのまま実行します。

データタイプは日付型に変換できましたが、最初の日付の値は2022年11月1日のはずが日付に誤りがあるようです。

というのも、この方法では英語の月名が正しく読み取れていないために、ロケールを指定する必要があります。

英語の月名を正しく解釈するには、計算エディタで、以下のように関数を修正します。

ymd(注文日, locale = "en_US")

この方法により、英語の月名を含む日付データが正しく日付型に変換されます。

ビデオ

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio