このページは解答編です。
↓ネ
↓タ
↓バ
↓レ
↓防
↓止
答えと解説
設問はこちらでした。
P-040: 全ての店舗と全ての商品を組み合わせたデータを作成したい。店舗データ(store.csv)と商品データ(product.csv)を直積し、件数を計算せよ。
解答ワークフローは以下のようになります。
今回は、2つのデータのすべての組み合わせを取得する問題です。このような場合はフィールド付加ツールを使います。フィールド付加ツールについては35問目で、集計した合計値をすべてのレコードに付加するために使いました。今回は、複数のレコードを持つ二つのデータに対して実行します。
store.csv、product.csvそれぞれ読み込んだ後、フィールド付加ツールのT入力、S入力にインプットします。このまま実行してしまうと、必ずエラーが発生します。というのが、フィールド付加ツールの二つのインプットに多くのデータを入力するとレコード数が掛け算で生成されるため、非常に多くのレコードが生成されてしまいます。もちろん必要なものが非常に多くのレコードであればしょうがないのですが、意図せず多くのデータになってしまった場合は、ワークフローの実行に非常に時間がかかるケースがあります。意図的にこれを行っていない場合に、動作が遅くならないようエラーで止めてしまおう、というどちらかというと初心者向けの対策機能のようなものが備わっています。
もちろんこの機能は設定値で変更できます。
「生成されるレコードが多すぎる場合の警告/エラー」のオプションで、デフォルトでは「16個を超えるレコード付加時にエラーにする」というオプションになっているため、「すべての付加を許可する」オプションに変更します。
あとは、レコードカウントツール、もしくは集計ツールでカウントを取れば完了です。
まとめ
今回は二つのデータのすべての組み合わせを得ることができました。フィールド付加ツールは要所で出てくる重要なツールですので、使いかたをマスターしましょう。
コメント