Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。

データサイエンス100本ノック 構造化データ加工編をAlteryxでやってみる(68問目~74問目:計算・日時編)

AkimasaKajitani
17 - Castor
17 - Castor

一般社団法人データサイエンティスト協会から公開されているデータサイエンス100本ノック 構造化データ加工編のウィークリーチャレンジ方式による出題第13回目は68問目~74問目を一つにまとめてみました。今回は計算・日時処理中心の問題です。

 

  • P-068: 商品データ(product.csv)の各商品について、消費税率10%の税込み金額を求めよ。1円未満の端数は切り捨てとし、結果を10件表示せよ。ただし、単価(unit_price)には欠損が生じていることに注意せよ。

    ※税込み金額はtax_priceというフィールド名とすること

  • P-069: レシート明細データ(receipt.csv)と商品データ(product.csv)を結合し、顧客毎に全商品の売上金額合計と、カテゴリ大区分コード(category_major_cd)が"07"(瓶詰缶詰)の売上金額合計を計算の上、両者の比率を求めよ。抽出対象はカテゴリ大区分コード"07"(瓶詰缶詰)の売上実績がある顧客のみとし、結果を10件表示せよ。

    ※最終結果はcustomer_idの昇順で並び替えること
    ※売上金額合計はsum_all、07のみの売上金額合計はsum_07とし、比率はsales_rateとすること

  • P-070: レシート明細データ(receipt.csv)の売上日(sales_ymd)に対し、顧客データ(customer.csv)の会員申込日(application_date)からの経過日数を計算し、顧客ID(customer_id)、売上日、会員申込日とともに10件表示せよ(sales_ymdは数値、application_dateは文字列でデータを保持している点に注意)。

    ※経過日数をelapsed_daysというフィールド名とすること
    ※結果は、customer_idの昇順、elapsed_daysの昇順で出力すること
    ※sales_ymd、application_dateは日付型で出力すること
    ※レシート明細データ上、重複する日付のデータは削除すること

  • P-071: レシート明細データ(receipt.csv)の売上日(sales_ymd)に対し、顧客データ(customer.csv)の会員申込日(application_date)からの経過月数を計算し、顧客ID(customer_id)、売上日、会員申込日とともに10件表示せよ(sales_ymdは数値、application_dateは文字列でデータを保持している点に注意)。1ヶ月未満は切り捨てること。

    ※経過日数をelapsed_monthsというフィールド名とすること
    ※結果は、customer_idの昇順、elapsed_monthsの昇順で出力すること
    ※sales_ymd、application_dateは日付型で出力すること
    ※レシート明細データ上、重複する日付のデータは削除すること

  • P-072: レシート明細データ(receipt.csv)の売上日(sales_ymd)に対し、顧客データ(customer.csv)の会員申込日(application_date)からの経過年数を計算し、顧客ID(customer_id)、売上日、会員申込日とともに10件表示せよ(sales_ymdは数値、application_dateは文字列でデータを保持している点に注意)。1年未満は切り捨てること。

    ※経過日数をelapsed_yearsというフィールド名とすること
    ※結果は、customer_idの昇順、elapsed_yearsの昇順で出力すること
    ※sales_ymd、application_dateは日付型で出力すること
    ※レシート明細データ上、重複する日付のデータは削除すること

  • P-073: レシート明細データ(receipt.csv)の売上日(sales_ymd)に対し、顧客データ(customer.csv)の会員申込日(application_date)からのエポック秒による経過時間を計算し、顧客ID(customer_id)、売上日、会員申込日とともに10件表示せよ(なお、sales_ymdは数値、application_dateは文字列でデータを保持している点に注意)。なお、時間情報は保有していないため各日付は0時0分0秒を表すものとする。

    ※エポック秒をelapsed_epochというフィールド名とすること
    ※結果は、customer_idの昇順、elapsed_epochの昇順で出力すること
    ※sales_ymd、application_dateは日付型で出力すること
    ※レシート明細データ上、重複する日付のデータは削除すること

  • P-074: レシート明細データ(receipt.csv)の売上日(sales_ymd)に対し、当該週の月曜日からの経過日数を計算し、売上日、直前の月曜日付とともに10件表示せよ(sales_ymdは数値でデータを保持している点に注意)。

    ※当該週の月曜日からの経過日数を格納するフィールドの名称は「elapsed_days」とすること
    ※月曜日付を格納するフィールドの名称を「monday」とすること

解いたらこちらに投稿していただければと思います。ちなみに、次回投稿は一週間後を予定しています。

 

solutionファイルは次回添付します。

 

添付ファイルは今回の出題のstartファイルと、前回のsolutionファイルです。

 

前回:データサイエンス100本ノック 構造化データ加工編をAlteryxでやってみる(63問目~67問目:計算編)

 
13件の返信13
DaisukeTsuchiya
パルサー

いつもありがとうございます。できました。残り1/4ですね。

スポイラ
DaisukeTsuchiya_0-1665910368530.png

 

 

Yoshiro_Fujimori
オーロラ

今週もお疲れ様です。

回答します。

 

73問目が解答と合わせられませんでした。おそらくUniqueツールのあたりだと推測しますが、いったん提出します。

.yxzpファイルがアップロードできないため、.yxmdファイルで送ります。

 

スポイラ
68問目
Yoshiro_Fujimori_0-1666064309571.png

69問目

Yoshiro_Fujimori_1-1666064349778.png

70問目

Yoshiro_Fujimori_2-1666064385651.png

71問目

Yoshiro_Fujimori_3-1666064408850.png

72問目
当初 回答と一致しませんでしたが、ソート順を工夫して合わせました。

Yoshiro_Fujimori_4-1666064475999.png

73問目
こちらはうまく合わせられませんでした。

Yoshiro_Fujimori_5-1666064507375.png

74問目

Yoshiro_Fujimori_6-1666064553917.png

 

 

 

AkimasaKajitani
17 - Castor
17 - Castor

できました!もうゴールが見えてきた感じがしますね!

 

スポイラ
AkimasaKajitani_0-1666400635863.png
AkimasaKajitani_1-1666400676752.png
AkimasaKajitani_2-1666400702737.png
AkimasaKajitani_3-1666400722376.png

 

 

Hirokane
アステロイド

よろしくお願いします。

Hashiba
アステロイド

できました。よろしくお願いいたします。

Ken_Taka
アステロイド

回答送付します。よろしくお願い致します。74問目は問題読んでAlteryxの関数がかなり特殊と感じ、他の方の回答を参考に勉強させて頂きました。

yutaro_K
アステロイド

最後の問題に苦戦しました。日付型はできることが多々ありそうなので、適宜吸収しなくてはいけませんね、、、
頑張ります。

スポイラ
answer.png

yyokoyama
アステロイド

提出します。解説を参照しながら解きました。

tkdsnj
メテオール

回答します。