Free Trial

ウィークリーチャレンジ

トップになるためのスキルをお持ちですか? ウィークリーチャレンジを購読しましょう。ベストを尽くして問題を解決し、解決策を共有して、他のユーザーがどのように同じ問題に取り組んだのか確認しましょう。私たちも解答例を共有しています。

チャレンジ #86: 西暦↔和暦コンバーター

SaoriG
Alteryx Alumni (Retired)

先週のチャレンジに対する解答はこちらをご覧ください。 Wareki.png

 

和暦は日本の元号に基づいた日本独自のカレンダーシステムです。

ご存知のように元号は天皇陛下が変わると変わりますが、新しい元号はいつもその年の初めから始まるわけではありません。

例えば 2019年5月1日は令和1年5月1日ですが2019年4月1日は平成31年4月1日です。

 

1868年から始まったとされる近代日本は現在5番目の時代に入っています。

今週のチャレンジでは以下の定義に基づいて和暦から西暦に、西暦から和暦にコンバートできる設定を含んだマクロを作成してください。

 

 

元号

元号名

開始日

終了

M

明治

10-23-1868        

07-30-1912

T

大正

08-01-1912        

12-25-1926

S

昭和

12-26-1926        

01-07-1989

H

平成

01-08-1989        

04-30-2019

R

令和

05-01-2019

 

 

 

*実際には明治と大正の最終日は次の時代の開始日でもありますが、今回は大正時代と昭和時代の開始日を前の時代の終了日の翌日に設定しています。

DaisukeTsuchiya
パルサー

普段ほぼ西暦しか使っていないので、未だに和暦⇔西暦の変換苦手です。

 

スポイラ
キャプチャ.JPG

キャプチャ2.JPG
Qiu
20 - Arcturus
20 - Arcturus

力作業になりましたが。

スポイラ
challenge_ja_86-1.PNGchallenge_ja_86-2.PNG
AkimasaKajitani
17 - Castor
17 - Castor

英語版で作ったマクロを日本語版に直してブラッシュアップしました。

基本的には、西暦、和暦の定義をマクロ内に入れ込んでいます(そのほうが実用的ですし)。

 

あと、おまけで境界値のテスト用データ作ってみました。

 

スポイラ
WF
AkimasaKajitani_0-1603174879316.png

マクロ
AkimasaKajitani_1-1603174922275.png

 

 

sanae
ボリード

最初マクロを使わずに作ってしまい、後から処理をマクロに切り出ししました。

スポイラ
★メインフロー
challenge_ja_86_start_sanae_main.png

★マクロ
challenge_ja_86_start_sanae_inner.png

 

Tokimatsu
クエーサー

実用性をまったく考慮してないマクロになっております。

スポイラ

実用性が必要だと、西暦→和暦か和暦→西暦の指定ができて、範囲外エラーとフォーマットエラーと型違いエラーを出して、どのフィールドを変換対象にするか指定するんだろうと思います。そこまで行くと漢字のフォーマットで出力したいですよね。

2020-10-20_18h21_28.png
r4upadhye
ボリード

出来た!

final.PNG

ntakeda
ボリード

業務でマクロが必要だったので、練習で作ってみました。

汎用性があるワークフローにできたと思います。

 

スポイラ
86challenge.PNG
danboll_life
アステロイド

データ型がDateだとフィルターを用いる時に大なり小なりで比較できることを知りました

スポイラ
和暦と西暦の区別方法が異端者になってしまいましたが、某ブログで紹介されていた方法を用いてみました
cl86.PNG

cl86_mc.PNG

 

 

OnionKnight
アステロイド
スポイラ