Challenge #46: Formatting a Date from an Integer ~日付の整形~ – Alteryx Weekly Challenge

2019.04.08

この記事は公開されてから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日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400