
Challenge #46: Formatting a Date from an Integer ~日付の整形~ – Alteryx Weekly Challenge
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回は日付の整形に挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2019.1.4.57073 英語版
Challenge #46: Formatting a Date from an Integer
お題
今回挑戦するお題はこちら。

Input側のデータはこちら。初めの数字が「1」の場合は2000年代、「0」の場合は1900年代という形式で日付が用意されています。

Output側のデータはこちら。Date型に変換して出力しています。

解答
今回作成するワークフローはこちら。

まずはFormulaツールで新しい列をV_WString型で作成し、年月日を8桁の数字で出力します。

設定は以下のとおりです。
IIF(Left([date], 1) == "1", "20" + Right([date], 6), "19" + Right([date], 6))
- 「date」列の左から1文字が「1」の場合は「20」と「date」列の右から6文字を出力
- それ以外の場合は「19」と「date」列の右から6文字を出力
DateTimeツールを使用して年月日を表す8桁の数字(yyyyMMdd)をDate型に変換します。

Selectツールを使用して、不要な列を削除します。

結果を確認して完成です。

Formulaツールのみ使用した解答
Formulaツールで関数を使用してDate型に変換することも可能です。今度はDateTimeツールを使わず、Formulaツールでワークフローを作成してみます。

Formulaツールの設定はこちら。新しく作成する列はDate型を指定しています。

IIFは先ほどと同じですが、DateTimeParseを使用してDate型に変換しています。
DateTimeParse(IIF(Left([date], 1) == "1", "20" + Right([date], 6), "19" + Right([date], 6)), "%Y%m%d")
結果を確認して完成です。

最後に
今回はChallenge #46: Formatting a Date from an Integerに挑戦しました。
サンプルワークフローのご案内
クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。










