AddColumnsやSearch関数などで内部名を二重引用符(ダブルクォーテ)が不要になりました!(バージョン:3.24042.20以降)

はじめに

以下公式ブログにて発表があったとおり、バージョン:3.24042以降では、一部関数で従来は列の内部名(論理名)を二重引用符(ダブルクォーテーション)で囲む必要がありましたが、二重引用符が不要となりました!かつ、内部名でなく表示名の指定でOKとなっております。こちらについて検証した結果を記事にしました。
結構インパクトのある変更ですがさらっと以下公式ブログにて公開されたため、X界隈でも話題になっていました。

NOTE★4/15確認時点では英語の公式リファレンスは修正されておりました。日本語ページの方はまだ従来の書き方となっています。現時点ではまだ日本環境ではまだひとつ前のバージョンなので、反映されたころには更新されるはず!と思われます。

また、各有識者のブログ記事や動画も当然以前の書き方となっていますので、新バージョン以降はこの部分を新しい書式に読み替える必要があります。ご注意ください。

対象関数

今回対象となる関数は以下とのことです。

NOTE★SortByColumns and Validate は破壊的修正となる可能性があるとのことで、将来的にPower Fx 1.0 互換性スイッチというのが出てくるらしく、その際にオンオフで調整出来るようになるとのこと

以下にこの影響のポイントをまとめてます。

ポイント★従来までは内部名(論理名)かつ、二重引用符で囲む必要があった。
★バージョン:3.24042以降は二重引用符(ダブルクォーテーション)は不要。(逆に記載するとエラーとなる)
 あわせて表示名でもOKとなった。(インテリセンスも出る)

★従来のものは上記バージョン以降の編集画面でロードすると自動で書き換えが行われる(自身での修正は不要)

公式情報

公式ブログでの発表は以下です。
Power Fx: Column names escape double quotes | Microsoft Power Apps

リファレンス英語は4/12に更新されている。日本語版はまだなので注意

以下英語版のリファレンスで見ると4/12に更新されていました。(以下画像は日本語訳したもの)
構文で二重引用符の記載が消え、以下のように注意分が書かれていました。
AddColumns、DropColumns、RenameColumns、ShowColumns 関数 – Power Platform |Microsoft Learn

以下、日本語のDocsリンクでは4/15時点ではまだ以前のままの記載でした。
※おそらく日本で3.24042が適用されるタイミングあたりで更新されるのかと思われます。(ねがい)
AddColumns、DropColumns、RenameColumns、および ShowColumns 関数 – Power Platform | Microsoft Learn

旧バージョンでの書き方

以下、バージョンを3.24041.27(4/15 時点推奨)と変更となる3.24042.20 とで切替えての検証です。
ここではAddColumnsと、Search関数を使ってサンプルを記載しています。

以下の通り、このバージョンでは内部名を指定して、かつ、””(二重引用符)で囲ってあげる必要があります。
表示名や””なしの場合はエラーとなります。

以下、SPOリストの列を内部名で記載し””で囲っています。このバージョンまでの正しい書式なので正常な実装となります。

このバージョンで、””なしで論理名のuser や、表示名を指定しても認識されませんというエラーとなります。

以下Dataverseの場合も同様で、論理名(内部名)を””で指定した状態が正常。
””なし、表示名指定ではエラーとなります。

バージョンアップ時の挙動(自動修正)

上記をバージョン:3.24042.20 に上げてそのまま編集画面で確認します。

TIPS以下のように自動的に修正がかかり、””(二重引用符)が取れてくれています。
ただ、内部名のままとはなっていますね。さすがに自動で表示名に変更はしてくれないようです。


※一部の列名(記号が入っている)は””ではなくなり、‘’(シングルクォーテ)でエスケープして置換してくれます。

ということで、従来のものは最新バージョンで開けば自動で調整はしてくれるので、それほど気にしなくてもよいかと思います。
SPOの日本語内部名やDataverse内部名になっていてわかりずらいので表示名に変更したいという場合は変更も可能です。

新バージョンでの書き方

以下のように、””なしでそのまま列の表示名、または内部名を指定すればOKです。
表示名でインテリセンスが出てきてくれるので、そのまま表示名を指定するのがスムーズかと思います。
他の関数(LookupやFilterなど)と同じ書式になりましたね。見た目もスマートで分かりやすくて良いと思います。

逆に昔の書式で書くとエラーとなります

NOTE逆にこの変更を知らずに従来の書式で実装した場合は、以下のようにエラーとなります。
詳細な理由は今のところ出てこないので、あれ?なんで?という混乱も予想されますね。。

過去のブログの実装などは読み替える必要があります

この辺りの実装例、サンプルなどのブログや動画は結構溢れていますので、この辺の関数の書き方を検索した際はしばらくは以前の書き方で載っている記事が出てくるはずです。
公式リファレンスもこのバージョンが適用後に更新かかると思いますが、しばらくかかる可能性もあります。
バージョン:3.24042以降では以前の記事の該当箇所は読み替えて実装する必要がありますのでご注意ください。

おわりに

今回の修正について、前々からいちいち内部名で二重引用符使う必要がある点は面倒だなーと思っていました。
見た目もスッキリしますし、内部名の把握も不要でインテリセンスで表示名指定できるので、スマートで使い勝手の良くなる、基本はうれしいアップデートだと思います!

が、元々この部分については実装が分かりずらかったからこそ余計に、二重引用符が必要だよという記事があふれてますので古い情報が多く残ってしまう点がマイナスポイントですよね。。
かくいう自分の記事もこの辺はもちろん以前の実装で書いてますので、見つけたら極力注釈を入れて更新しようとは思いますが、、なかなか大変💦💦
あれー?と思った方がこの記事で状況把握してくれれば幸いです。それでは!

ぴーたくん

スマートになってうれしいアップデートなんだけど、
今までと急に変わっちゃうのが情報発信者や収集側を困らせちゃう面もあるよね💦

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

ヨウセイ

ヨウセイ

一般職からSharePoint、C#、.NET系技術者へ、そこからPower App、Power Automate技術者へと転身。 ワンランク上のおっさんはPower Appsでシステム開発が出来る〜! qiitaや自社HPでも技術ブログを書いていました。

関連記事

コメント

この記事へのコメントはありません。

CONTENTS