Microsoft Flow :「 Excel – 行の取得 」アクションが2個ある!

Microsoft Flow には Excel のアクションがありますが、中を見ると…

▼「 Excel – 行の取得 」アクションが2個あるんですよ!

え?違いは???

▼言語を英語にすると…

[ Excel – Get row ]
[ Excel – Get rows ]

でた!先日の Office 365 勉強会のLTでどなたかがアプリの読み方について問題提起していましたが(笑)、その中で自動翻訳では名詞の複数形の「 s 」は訳には反映されないという部分があったと思います。これもつまりそれ絡みの自動翻訳の事故っぽいですね。

ただ、同じ Get row でも、SQL Server アクションについては…

▼英語では同じ [ Get rows ]ですが、

▼日本語では「 複数の行の取得 」なんですよね。

Excel アクションの方もそのうち修正されるのかな?

で、アクションの並び順は昇順なので、英語と日本語では並び順は異なるかもしれないです。なので日本語の方の「 Excel – 行の取得 」はどっちがどっちだか見るだけではわかりません。英語で考えると上は1行の取得で下が複数行の取得ですね。

実際に適用してみてから内容を見て判別すれば良いだけの話でもありますが、この場合、アクションの右の「 i 」アイコンをクリックすると詳細が表示されるので、それで判別可能です。

▼上の方は「 Excel の表から行を取得する」

▼下の方は「 Excel の表から1行を取得する」

これはこれで翻訳がわかりづらいですね。上の方だけ見たらこっちが Get row かと思ったけど、下の方を見たら「1行」と書いてあったのでこっちが Get row でしたね。そして英語と日本語では並び順は違いましたね。

という事で、どちらかわからない場合は「 i 」アイコンをクリックして確認しましょう。

Microsoft Flow : SharePoint をフロー内で利用する場合 SharePoint の列の作成で気を付けたい事

▼例えば SharePoint の列に「タイムゾーン」という列名があるとします。

Microsoft Flow でこれを式で利用しようとすると…

▼値に「タイムゾーン」を挿入すると列名ではなくて内部名が表示されてしまうんです。

body(‘項目の取得’)?[‘OData__x30bf__x30a4__x30e0__x30be__x30’]

こんな感じで長いのに、Flow の式を入力する箇所は横幅狭いのでいろいろ厄介です。また、これじゃどの値を挿入したか後でチェックするのが大変です。作った本人ならまだしも、別の人がこれを見たら嫌になっちゃいますね。

次に SharePoint の列名を英数半角にしてみます。

▼「TimeZone」という列名で列を作成すれば…

▼このように短くなります。

body(‘項目の取得’)?[‘TimeZone’]

これなら式も短いし、どんな値を挿入したかもわかります。

でも、だからと言って全部 SharePoint の列名を英数半角にするのはなぁ…。そういう時に過去に記事にした対処法があります。

SharePoint 列の内部名

これは SharePoint でカスタマイズをする際に気を付けようという記事でしたが、まんま Flow にも当てはまりました。
つまり、列の作成時には英数半角で作成し、その後に列の編集で日本語にしてしまえばOKです。

▼先程利用した「TimeZone」列を編集し、列名を「たいむぞーん」と日本語に変更しました。

▼ でも、 Flow で「たいむぞーん」を挿入したけど、式の方は「TimeZone」のままです。

これで、SharePoint の列は日本語を利用でき、かつ、Flow の方では式に挿入しても長くならず、後でどの列だかもわかりやすくなります。

後々の事を考えると、列名は英数半角で作るクセを付けておいた方が色々と良さそうですね。