前回の記事でデバッグをしてみて、下の2つの問題が確認できましたので、その問題を解決していきます!
【見つかった問題】
■取引回数と合計金額がリセットできていない
■二重で数字を計上されている
取引回数と合計金額をリセットする
実は、とても重要な点を見落としていたのですが、取引回数と合計金額の変数はグローバル変数に設定しています。
ループをしたり、ブランチをまたいだりしても大丈夫なようにグローバル変数にしていますが、逆に言うと、どこかで変数をリセットさせないと、いつまでも変数に数字が残り続けてしまうことになります。
そこで、どこかで取引回数と合計金額の変数をリセットさせる必要がありますが、「どこで」・「どのように」リセットをさせるのか、一度考えてみてください!
・・・
・・・
・・・
はい、いかがでしたでしょうか?
まず、「どこで」リセットするかですが、例えば企業Aの取引回数と合計金額の数字を入力したら、次に企業Bの集計をするためにリセットをする必要があります。
そのため、取引金額と合計金額を入力した後の、下のキャプチャの赤枠の位置にリセットのためのステップを作成します。
青枠のところで取引回数と合計金額を入力しているので、そのあとの赤枠のところにステップを作成します。
そしてリセットの仕方ですが、下のキャプチャのように、アクションは「変数の割当」で、「0」という値を「取引回数カウンター」に入力する、というような設定をすれば大丈夫です!
また、合計金額に関しても同じように設定して、リセットのためのステップ作成は完了です!
集計した行にチェックをする
さて、上記でグローバル変数のリセットをすることが出来ましたので、次は「二重に数字が計上されている」問題について対処していきます。
「二重に」という表現を使いましたが、三重・四重ということもあるかもしれませんが。
どちらにしても、一度集計をした行に対して再度集計をしないようにすれば、この問題は解決できます。
そのため、集計をした行にはチェックを入れて、そのチェックが入っている行からは集計をしないような設定にしていきます!
ということで、1つの行からデータを抽出して合計金額まで計算ができたら、そのタイミングで「この行は集計済みですよ」という意味でのチェックとして、「○」を入力していきます。
合計金額まで計算できてから○を入力しますので、下のキャプチャのように、合計金額を計算した後のエンドステップ(バツのステップ)を選択した状態で、「抽出用」のループ(青枠)の行のE列のセルをクリックします。
選択したセルを右クリック→「コンテンツ設定」をクリック→コンテンツに「○」を入力→「OK」をクリックして、セルに「○」を入力します。
これで集計後に「○」をつけることが出来ましたので、この「○」を確認して、「○」がついているのであれば集計をしない、というロボットの構造にすることで二重で集計することを防げます。
「○」を確認する
ということで、ここから「○」を確認していきます。
もちろん集計をする前に、入力済みかどうかの確認をしたいので下のキャプチャのように、数量を抽出する直前で「○」を確認します。
本来、こちらのキャプチャのようにE2のセルから抽出したいですが、現状のようにグレーの色になっているセルを右クリックしても、「抽出」の選択肢が出てこないようになっています。
なので、抽出用の青枠の中であればどこでもいいので、抽出をしましょう。
また、まだ変数を作成していないので、適当で構いませんが僕は「入力チェック」というshort textの変数を作成して、そこに抽出しました。
そして、入力チェックを抽出してくるステップのファインダーを、下のキャプチャのように設定します!
注意すべき点はコチラの3点です!
■範囲が「抽出用」になっているか
■列のオフセットが4になっているか
■オレンジ枠の虫メガネのアイコンをクリックして、ちゃんとE2のセルが選択できているか
この設定が出来れば、入力チェックの変数に「○」を取得してくることが出来ますので、値判定で確認をします。
値判定の条件も、いくつかパターンはありますが、僕の場合は「入力チェックが空白だった場合には先に進む」という条件にしました。
また、もし「○」が入力されている場合にはエラーになりますので、エラー処理は「次のイテレーション」として、先の集計には進まず、次の行へ進むような設定としました。
改めてデバッグをして確認
さて、恐らくこれで問題になっていた箇所が解決したはずなので、改めてデバッグを行います!
まずは、無事にエラー無くロボットの実行が完了しました!
問題は出力後のExcelの中身です・・・
・・・
惜しい!!!
なぜか企業Aの数値が少し足りませんでした(笑)
他の企業B~Dに関しては数値も問題ありません!
次回予告
ということで、次回は企業Aの数値がなぜ間違っているのかを確認して修正をしていきます!
お楽しみに!!