この記事は新野淳一氏のブログ「Publickey」に掲載された「Excelの数式をベースにしたプログラミング言語「Microsoft Power Fx」登場。オープンソースで公開予定。Microsoft Ignite 2021」(2021年3月2日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。
米Microsoftは3月2日(現地時間)、Excelの数式をベースとしたプログラミング言語「Microsoft Power Fx」(以下、Power Fx)を発表しました。
Power Fxは、Power AppsやPower Automate、Power BI、Power Virtual Agentsなどから構成される同社のローコード/ノーコードツール群「Power Platform」のロジックの記述に用いられます。
Power FxはMicrosoftにとって初めてのローコード開発向けのプログラミング言語です。Excelの数式の知識をプログラミングに使えるため、多くの人にとってプログラミングのハードルを下げることになると説明されています。
また2021年後半にはオープンソースとしてGitHubで公開され、誰でも利用や実装が可能になる予定です。
Excelには、文字列の長さを得るLEN関数や文字列の一部を取り出すRIGHT関数やLEFT関数、条件判定を行うIF関数、条件に合致するデータを取り出すLookup関数など、さまざまな機能を備えた関数があります。
Power Fxでは主にこうした関数を用いて、必要な値を取得したり、アプリケーションの動作を変化させることになります。
下記の画面では、Power Fxによるif関数がアプリケーション画面に関連付けられており、IF関数内で取得するスライドバーの値によってif関数の戻り値がホワイトもしくはブラックとなり、それによって画面の色が変化する、という動作が実現されます。
例えば、データベースにある「Employee」テーブルの「First Name」フィールドから、ある値に一致するデータをLookup関数を用いて取得する、といったことがPower Fxで次のように記述できることが示されています。
Lookup( Orders, Number=Selected).Employee.'First Name'
ここではドット「.」によってLookup関数が拡張され、データベースのテーブルからフィールドへとデータソースをドリルダウンできるようになっています。
この数式を画面上の特定のフィールドに張り付ければ、そのフィールドにデータベースから選択された名前が表示される、ということになります。
Power Fxでは、このようにExcelと同様の関数を利用するだけでなく、Excelのセルに数式を入力すればすぐに結果が表示され、さまざまな数式が自動的に計算、再計算されるように、その動作もリアルタイムかつ非同期に行われるようになっています。
Power Fxのコードは、アプリケーション画面上の各コントロールのプロパティのように、コントロールに対してコードとなる数式をひもづけられるだけでなく、全体のコードをまとめてVisual Studio Codeなどの開発環境で通常のプログラミング言語のように編集することもできます。
これによりノンプログラマーはExcelでセルに数式を書き込むように、画面上のコントロールに数式を書き込むことで開発を進められる一方、プログラミングに慣れているプログラマーは、Visual StudioやVisual Studio CodeとGitHubなどを用いて効率的に開発やデバッグを進めることができるようになっています。
Power Fxはすでに、Power Appsで画面レイアウトを優先したアプリケーション開発を行う「キャンバスアプリ」の開発においてロジックの記述に使われており、今後Power Apps以外のPower Platformのツールなどでも使えるようになるとのこと。
Excelの数式は過去半年のあいだに強化が行われ、一般にプログラミング言語として満たすべき条件とされる「チューリング完全」になったことが示されていました。
参考:Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に
これはPower Fx登場の伏線だったのかもしれません。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR