タイトルの通りですが、Power Appsから使い始めてPower Automateに進むと割と躓くポイントです。 (N番煎じ)
#Power Appsの場合
Excelにも用意されていて、Power Appsで文字列を操作するときによく使う、Left, Right, Mid関数 ですが、
まず前提として文字列の1文字目は1番目です。
これを意識するのは特にMid関数を利用する場合です。
Mid("あいうえお", 2, 3)
このように書いた場合、返ってくる結果は いうえ
です。Mid関数の2つ目の入力が何文字目からスタートするかを表していて、上の例ではあいうえお
の2番目は Power Appsではい
です。
2文字目のい
からスタートして3文字を要求しているので、結果がいうえ
になります。
Left, Right, Midの利用例は下図をご覧下さい。
繰り返しですが、Power Appsでは・・・
- Left, Right, Mid関数が用意されている
- 文字の順番は1番から始まる
という点が重要です。
もちろん、Left, Right は Mid関数を使って以下のように書き直せる点も覚えておくと便利です。
Left(BaseText, 3) ==> Mid(BaseText, 1, 3)
Right(BaseText, 3) ==> Mid(BaseText, 1+Len(BaseText)-3, 3)
右側の Mid関数に入っている1
は、いずれも文字数の数え方が1からであることを反映しています。
#Power Automate の場合
Power AutomateにはLeft, Right, Mid関数はありませんが、かわりに substring関数 が用意されています。
Power Appsの場合と大きく異なるのは、前提が文字列の1文字目は0番目と数えること です。
このことに由来して、関数の中の数字も変更をうけます。
例えば Left関数をPower Automateで書き直すとすると、substringを使って以下のように書けます。
Left(BaseText, 3) ==> substring(BaseText, 0, 3)
Right(BaseText, 3) ==> substring(BaseText, sub(length(BaseText),3), 3)
Right関数の書き換えで出てくるsub(length(BaseText),3)
ですがこれはちょうどLen(BaseText)-3
と同じ操作です。
( Power Automateでは四則演算も関数なので少し長くなる )
このように、Power Apps で使われる文字列操作関数と Power Automate で使われる文字列操作関数は
- そもそも使う関数が異なる (Power Appsでいえば全部Mid関数で書くイメージ)
- 文字列の数え方は・・・Power Apps : 1 , Power Automate : 0 からスタート
という大きく2つの違いに注意する必要があります。
おわり
Power Appsが最近よく使われるようになってきて、そこからPower Automateを使い始める人も少なくないのではと思います。
2つのサービスは非常に親和性が高いのですが、今回紹介したような注意点 - 主には順番の数えかたに由来 - もありますので、うまく頭を切り替えながら活用していきましょう!
Power Appsは1始まり、Power Automateは0始まり!