Microsoft、「Excel」の数式をベースにしたローコード言語「Microsoft Power Fx」を発表:さまざまな「Power Platform」製品で利用可能に
Microsoftは、「Excel」の数式をベースにしたオープンソースのローコードプログラミング言語「Microsoft Power Fx」を発表した。Excelの数式や関数に慣れていればノーコードやローコードで開発でき、他のプログラミング言語と組み合わせた「プロコード」でもアプリケーションを開発できるという。
Microsoftは2021年3月2日(米国時間)、「Microsoft Power Fx」を発表した。Power Fxは「Microsoft Excel」の「数式」をベースにしたオープンソースの汎用(はんよう)プログラミング言語。
プログラミング未経験者によるノーコード開発から、ベテランのプロ開発者によるプロコード開発まで、あらゆる場面で利用でき、多様なチームがこの言語を用いてコラボレーションを重ね、時間や費用を節約できると、Microsoftは述べている。
Power Fxは宣言型の数式でオブジェクトをバインドする。Microsoftは次のような例を挙げて説明している。
「UIコントロールのVisibleプロパティが表計算ソフトウェアのセルのような役割を果たす。関連付けられた数式が、他のコントロールのプロパティに基づいて、値を計算する。数式のロジックは、表計算ソフトウェアの場合と同様に自動的に再計算を進め、それがコントロールの見た目に影響する」。必要に応じて今後は命令型ロジックも提供するという。
なぜPower Fxが必要なのか
「スプレッドシートを作るのと同じように、アプリケーションを簡単に作れるとしたら?」「既存のスプレッドシートの知識を活用できるとしたら?」という疑問が、Power Fxが登場したきっかけとなったのだという。
Power Fxは強く型付けされた宣言型の関数型言語であり、人間が読みやすいテキストで表現される。アプリケーションソフトウェアのベンダーが、Excelと似た数式バーや、「Visual Studio」のテキストウィンドウで直接扱えるローコード言語だ。「ロー」とはこの言語の簡潔でシンプルな性質に由来しており、ベンダーも開発者も、この言語で一般的なプログラミングタスクを簡単に実行できる。
次の表は現時点のPower Fxで利用可能な関数の一覧であり、緑色の背景が付いた関数はExcelの関数と同じ働きをするか、またはほとんど変わらないものを示す。Excelには膨大な機能が備わっているため、Excel開発チームとコラボレートしながら、どの機能を追加するかを決めていくとしている。
Excelの処理とPower Fxの処理を比較する
Excelで計算する場合、式を書くだけではなく、特定のセルから値を取り出し、それを別のセルに書き込む。Power Fxの演算もこれと同じだ。Power Fxではセルがコントロールかオブジェクトのプロパティに置き換えられる。
次の例は、Stack OverFlowに掲載された質問を解くためのExcelシートの内容だ。文章を入力すると最後の単語を抜き出す処理を実行している。
これと同じ処理を実行するPower Fxのコードは次のようになる。Excelと異なるのは、セルへの参照がコントロールプロパティへの参照に変わっているところだけだ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- これからはあなたも主役に! Power Platformが仕事、社会、そして人生を変える
ニューノーマルな時代に向けたMicrosoft&Windowsテクノロジー活用の新たな道筋を探る本特集。企業のビジネス革新を支援し、エンドユーザーの利便性と生産性の向上に寄与するテクノロジーとはどのようなものか。第4弾は、コロナ禍で変わった働き方にMicrosoftの開発環境がどのように追随しているのかを見ていく。 - Excelの「LET」関数をMicrosoftが正式リリース
Microsoftは、数式内の中間計算や式に名前を割り当てることができる「Excel」の新しい関数「LET」の一般提供を開始した。計算結果に名前を割り当て、中間計算、値、定義名などを数式内に格納できる。 - Microsoftが「Excel」に新機能を追加、カスタムデータ型を利用可能に
Microsoftは表計算ソフト「Microsoft Excel」に新機能を追加した。セルにデータソースからデータを取り込んで利用でき、ユーザーは独自のデータをカスタムデータ型として扱えるようになった。
関連リンク
- Introducing Microsoft Power Fx: the low-code programming language for everyone(Power Apps Blog)
- What is Microsoft Power Fx?
- Microsoft Power FxのGitHubリポジトリ
- Microsoft Power Fxのドキュメント
- ドキュメント「Power Apps でキャンバス アプリの数式の使用を始める」
- Azureユーザー向け紹介
- How can I perform a reverse string search in Excel without using VBA?(Stack Overflowに掲載された質問と回答)