Free Trial

ウィークリーチャレンジ

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

チャレンジ #125: 2016年 夏季オリンピック

ntakeda
ボリード
スポイラ
年齢のところに少し工夫が必要でした。
ntakeda_0-1653913075269.png

 

dyamaguchi
アステロイド

投稿します。

スポイラ
年齢算出にあたっての2016年の基準日が分からず、他の方の回答を参考にしました。
しかし尚、年齢が解答と一致せず、他の方の回答でも一致していませんでした。
かつては解答と一致し、今は一致しないとなると、Designerのver. up等で日時変換や日時計算のロジックが変わってしまったのでしょうか…?

尚、単純にdobのMM/dd/yyを日時へと変換するとyyが将来の年になってしまうデータがあったため、これを是正してもまた解答と一致せず。
yy>=55は1900年代生まれ、yy<=54は2000年代生まれとし、負の年齢も出現させると解答に一致しました。

Snipaste_2022-07-29_15-40-17.png
Mukai
コメット

投稿します。

スポイラ
1行だけ平均年齢が合わずでしたが諦めました。
Mukai_2-1663444630923.png

 

 

Yoshiro_Fujimori
オーロラ

回答します。

どうしてもエラー1件が解消できないのですが、年齢計算の基準日の問題でしょうか。。

 

スポイラ
Yoshiro_Fujimori_0-1666824381375.png

Expect Equal (BETA) (95) Unexpected Value -
Field:平均年齢 (2016)
Row:189
Expected:27.1497326203209
Actual:26.8823529411765

 

 

Tokimatsu
クエーサー

マイナスの年齢も足さないと正解しないとは。。。。

スポイラ
@dyamaguchi さんの投稿を見てやっと答えと一致できました。
単純に関数で二桁年を変換したのが dob_date_a,
00-16 を2000年代、17-99 を1900年代で計算したのが dob_date_b,
00-54 で 2000年代、55-99 を1900年代で計算したのが dob_date_c です。
dob_date_c だとマイナス年齢の人が二人出ますが、それを使って平均を出さないと答えとあいません。

二桁年の計算の下記の仕様のせいですね。
最大 4 桁が読み取られ、区切り記号または文字列の末尾で停止し、現在の年から 66 を引いたものと現在の年から 33 を足したものまでの範囲にマッピングされます。例えば、2016 では、1950 - 2049 が範囲となります。
https://help.alteryx.com/ja/20231/designer/datetime-functions

スクリーンショット 2023-08-15 195858.png