RPAエンジニアの雑記

RPA(Blue Prism)について色々記載してます。

(BluePrism)ポケモン図鑑を作る ~Part7 Web APIからのデータ取得とテキスト加工編~

こんにちは、おむおむです。
コメダ珈琲でこの記事書いてます。

ミックストーストとシロノワール、美味い!
f:id:newgraduate19:20200628141523j:plain

さて、今回はこれまでで作成してきたWeb APIを使用して、
実際にポケモンのデータを取得し、
Slackに送信するためにテキストを加工してみたいと思います。
今回は、ギャラドスのデータを例として使用します。

過去記事はこちら↓
newgraduate19-rpa.hatenablog.com
newgraduate19-rpa.hatenablog.com

ポケモンのタイプを取得

Part4にあるとおり、ポケモンのタイプを取得するためには
1. タイプを英語名で取得する
2. 日本語名に変換する
という2ステップが必要でした。

タイプが1つの場合は楽なんですが、
2つある場合もあるので、
テキストを良い感じに加工して、以下のようにしてみます。

タイプが1つの場合:○○タイプ
タイプが2つの場合:○○・△△タイプ

つまり、2つの場合に中黒を入れるようにしてみます。

完成形として、フローはこんな感じになります。
f:id:newgraduate19:20200628150009p:plain

まずは英語のタイプ名コレクションで取得します。
f:id:newgraduate19:20200628143048p:plain

欲しいデータは、ネストされたコレクション内にある
nameフィールドの値です。
中身を見ようとクリックすると・・・
f:id:newgraduate19:20200628143254p:plain

あれ?これってv6.7あたりで解消されてたはずでは・・・
(あとでサポートにチケット上げよう...)
f:id:newgraduate19:20200628144133p:plain

言語を英語にして再度開いてみると・・・
f:id:newgraduate19:20200628144632p:plain
ちゃんと取れていることが確認できますね!

英語のタイプ名がまとめて取れるのに対して、
日本語に変換する際は1つずつ変換する形になるので、
繰り返しステージを配置して対応しています。

テキストを加工する

日本語への変更も、Web APIを使用して行います。
取得した後、上に書いたとおりに
末尾に「タイプ」という文字を付加して、
複数タイプがある場合は間に「・」(中黒)を入れます。
文字列加工のロジックは以下の通り↓

1. 日本語のタイプ名の後ろに「・」を追加する。
2. 日本語名への変換が完了した後、末尾に「_」(アンダースコア)をつける。
3. 「・_」を「タイプ」に置換する。

上の手順の1番のロジックはこれ↓
f:id:newgraduate19:20200628150134p:plain
初期値が空のデータアイテム「タイプ」に
日本語のタイプ名Types_jaを追加しています。

そして手順2と3のロジックは以下↓
f:id:newgraduate19:20200628150405p:plain

大して複雑ではないですね!

送信用テキストへ成型

さて、タイプの成型が完了したので、
あとはSlackへの送信用に諸々のデータをマージしていきたいと思います。

え?データアイテムを「&」で繋げればいいんじゃないの?
と思ったそこのあなた!
それだけでは不十分です!
f:id:newgraduate19:20200628151151p:plain

ただ&でつなげるだけだと、
テキストが一行になってしまって見づらいので、
適切な位置に改行を入れてあげる必要があります。

じゃあどうやって入れるのか!?
実は簡単、計算ステージのChr関数を使用するだけ!

改行を入れよう

Chr関数は、ASCIIコード(10進数)を指定して
文字を挿入することができる関数です。

ASCIIコードはこんな感じ↓
www.k-cube.co.jp
改行(LF)は10が割り当てられているので、
計算ステージで改行を入れたいところに
Chr(10)と入れればOKです。

ここまでで取得した ・ID
ポケモンの日本語名(入力パラメータ)
・タイプ
をまとめると、計算ステージは

"No."&[ID]&" "&[ポケモンの日本語名]&Chr(10)
&[タイプ]&Chr(10)

のように指定するといい感じになります!

動かしてみよう

ここまでの範囲を動かしてみるとこんな感じ↓
f:id:newgraduate19:20200628152546g:plain

やったぜ☆

あとは同じ要領で、説明と種族を追加します(テキトー)

まとめ

シロノワールはミニサイズでも十分食べ応えがある
・「パンくずリスト」って名前面白いですよね
・Replace関数、「実務でよく使う関数ランキング」1位にランクインする(多分)

次はまたBlue Prismに関係ない内容になるな(予想)