Power AppsのUser().FullNameで取得した名前が逆になる問題の解決方法
2023-04-28
azblob://2023/04/27/eyecatch/2023-04-27-fullname-inverse-have-resolution-method-000.jpg

こんにちは、5月に近づいているのにまだまだ暖房をつけているソネハラです。

Power Platformを触っていると「どうしてこうなるの!?」ということが発生する場合があります。

今回は、Power AppsのUser関数についてです。

User関数は、ユーザーに関する情報を取得できる便利な関数です、取得できる情報は下記の3つ。

User().Emailユーザーのメールアドレス(UPN)
User().FullNameユーザーのフルネーム
User().Imageユーザーの画像

さらに詳しく知りたい方は公式リファレンスを見てください。

問題なのは、User().FullNameです。

フルネームは取得できるのですが…名前と苗字が逆になって取得されてしまいます。

つまり「田中 太郎」さんのフルネームが「太郎 田中」として取得されてしまいます。

名前をデータとして保存したり、加工したりすることは多いと思うので

アプリから取得する際に、治しておくのが最も効率的です。

コードの書き方はいろいろありますが…

一番分かりやすくてコードも見やすかったコチラの動画を参考にさせていただきました。

With(
    {
        fullName:Split(User().FullName," ")
    },  
    Last(fullName).Value &" "& First(fullName).Value
)

With関数は、関数内でのみ使える変数を宣言し変数の操作を行える関数で、

コードを読みやすく簡潔にしてくれています。

User().FullNameは名前と苗字の間にスペースを入れてフルネームを取得するため

3行目のfullName:Split(User().FullName," ")で取得してきたフルネームを

Split関数で、空白を基点に名前と苗字に分割し、fullNameという変数に入れています。

そして、5行目のLast(fullName).Value &" "& First(fullName).Value

分割した名前と苗字を逆にし、文字列結合して完成です。

名前と苗字が逆になって困っている人は、ぜひ参考にしてみてください!