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
メテオール

回答します。

トップのソリューション投稿者