電話番号やクレジットカード番号など、個人情報を含むテキストを表示する際に、セキュリティの観点から一部だけを表示して残りを伏せ字にしたいことはありませんか?
実は、Power AppsではSequence関数とConcat関数を組み合わせることで、こんな風にテキストの一部を簡単に隠すことができるんです。

今回は、テキストの下4桁以外を伏せ字で表示する方法について解説していきますね。
完成イメージ
例えば、以下のような電話番号があったとします:
09012345678
これを下4桁だけ表示して、残りを伏せ字にすると:
*********5678
こんな感じの表示になります。
実装方法
ステップ1:Sequence関数で伏せ字のベースを作る
まず、Sequence関数を使って伏せ字にしたいテキストの文字数分だけ連続したテーブルを作成します。
Sequence(Len(テキスト))
ここで重要なのは、Sequence関数はテーブル形式で結果を返すということです。そのため、ラベルに表示するためには次のステップが必要になります。

ステップ2:Concat関数でテーブルを文字列に変換
Concat関数を使って、先ほど作成したテーブルを文字列として連結します。2つ目の値には伏せ字の記号(通常は*)を指定しましょう。
Concat(Sequence(Len(テキスト)), "*")
こうすると、テキストと同じ文字数の連続した伏せ字記号が表示されるようになります。

ステップ3:下4桁分の文字数を調整
今回は下4桁を表示したいので、伏せ字の文字数から4を減算します:
Concat(Sequence(Len(テキスト) - 4), "*")
ステップ4:最後に下4桁を連結
最後に、テキストの下4桁を取得して連結します。テキストを後ろから取得したい場合は、Right関数を利用するのがポイントです:
Concat(Sequence(Len(テキスト) - 4), "*") & Right(テキスト, 4)
完成した数式
最終的な数式はこんな感じになります:
Concat(Sequence(Len(TextInput1.Text) - 4), "*") & Right(TextInput1.Text, 4)
この数式をテキストラベルに設定すると、下4桁以外を伏せ字にしてテキストを表示することができました。

応用編:桁数を変更する
桁数を変更したい場合は、数式の4の部分を変更するだけでOKです。

例えば、3桁以外を伏せ字にしたい場合:
Concat(Sequence(Len(TextInput1.Text) - 3), "*") & Right(TextInput1.Text, 3)
さらなる応用:先頭数文字以外を伏せ字に
先頭数文字以外を伏せ字にしたい場合は、Right関数の代わりにLeft関数を使います:
Left(TextInput1.Text, 4) & Concat(Sequence(Len(TextInput1.Text) - 4), "*")
この場合、最初の4文字が表示されて、残りが伏せ字になります。

まとめ
いかがでしたでしょうか?Sequence関数とConcat関数を組み合わせることで、個人情報の表示において重要なマスク機能を簡単に実装できます。
ちょっとした工夫で、必要な情報だけを表示できるので、ぜひ実際のアプリ開発で活用してみてください。参考になれば幸いです!(注意点として、今回の実装はあくまで表示だけですので、プライバシーやセキュリティなどといった観点の場合、そもそもユーザーに対して該当のデータにアクセスさせない、データそのものをマスクするといった観点が必要なケースもあります)
関連する関数:
Sequence関数:連続した数値のテーブルを生成Concat関数:テーブル内の値を文字列として連結Right関数:文字列の右側から指定文字数を取得Left関数:文字列の左側から指定文字数を取得Len関数:文字列の長さを取得
Power Apps学習の決定版!コントロール別YouTube再生リスト完全ガイド
Power Appsを学習していて「どのコントロールをどう使えばいいのかわからない」「実際の使い方を動画で見ながら覚えたい」と思ったことはありませんか?
実践的な知識を効率よく身につけられるよう、現在公開している動画を整理したYouTube再生リスト集をご紹介します。



コメント