データサイエンス100本ノックをAlteryxで。63日目(解答)

問題編 100本ノック

このページは解答編です。

↓ネ

↓タ

↓バ

↓レ

↓防

↓止

答えと解説

設問はこちらでした。

P-063: 商品データ(product.csv)の単価(unit_price)と原価(unit_cost)から各商品の利益額を算出し、結果を10件表示せよ。

※出力は、フィールド名をunit_profitとすること

解答ワークフローは以下のようになります。

今回は、単純な計算問題です。

実際のワークフロー(通常のやり方)

それでは、実際のワークフローを作っていきましょう。

まず、単価(unit_price)と原価(unit_cost)については計算を行って行くので、セレクトツールで型変換を行っていきましょう。オートフィールドツールで調べるとInt16型がベストマッチのようですので、Int16型にしていきます。

次にフォーミュラツールで計算していきます。利益は、単価(unit_price)引く原価(unit_cost)から求められます。

[unit_price]-[unit_cost]

データ型はInt16同士の正の整数の引き算ですので、Int16で問題ないと思います。

今回以外の場合で、設定している型を超えてしまうと警告が出るのでそれを目印にして型を変更してください。例えば、以下のようなエラーが結果ウィンドウに表示されます。

ここまでで完成しているので、あとはサンプリングツールなどで先頭から10レコードを抽出すれば完成です。

実際のワークフローは以下のようになります。

ワンフォーミュラで作成する

1つのフォーミュラツールでも今回の場合は可能です。普通はセレクトツールで事前に型を変えますが、ToNumber関数を使えば型変換をあらかじめ行う必要はありません。

つまり、フォーミュラツールで以下のように設定します。

ToNumber([unit_price])-ToNumber([unit_cost])

実際のワークフローは以下のようになります。

まとめ

今回は、単純な計算を行う問題でした。

解答ワークフローダウンロード

コメント

タイトルとURLをコピーしました