Excel関数ベースのプログラミング言語「Microsoft Power Fx」登場 オープンソースで公開予定:Microsoft Ignite 2021
米Microsoftが、Excel関数をベースにしたプログラミング言語「Microsoft Power Fx」を発表した。Microsoft初のローコード開発向け言語で、Excelの数式の知識を使えるためプログラミングのハードルが下がるとしている。
この記事は新野淳一氏のブログ「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の関数を使うだけでなく、動作も似せたものに
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のセルに数式を入力すればすぐに結果が表示され、さまざまな数式が自動的に計算、再計算されるように、その動作もリアルタイムかつ非同期に行われるようになっています。
プログラマーはVisual Studioで効率的に編集も可能
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登場の伏線だったのかもしれません。
関連記事
- Microsoft Teamに通話のE2EEや声を識別するスピーカーなど、多数の新機能
Microsoftが“職場と自宅のハイブリッド環境”のためのMicrosoft 365の新機能を多数発表した。最大10人を識別して会話を文字起こしするインテリジェントスピーカーや、Teamsの1対1通話のE2EEサポートなどだ。 - Microsoft、MRプラットホーム「Microsoft Mesh」発表 マルチデバイス対応アプリ開発を目指す
MicrosoftがMR(複合現実)アプリ開発プラットフォーム「Microsoft Mesh」を発表した。Microsoft Azureベースで、HoloLensだけでなく、Oculus QuestなどのVRヘッドセットやスマートフォンもサポートする。発表イベントにはNianticのジョン・ハンケCEOもバーチャルで登壇した。 - WordファイルをパワポスライドにAI自動変換 Microsoft、「Word for the web」に機能追加
WordからPowerPointへの自動変換をクラウド上で実行し、自動レイアウトまでやってくれる。 - Microsoft、非クラウドの「Office 2021」を今秋発売へ
Microsoftが、Office 365ではない非クラウドのオフィススイート「Office 2021」を今年後半に発売すると発表した。価格は「Office 2019」と同じになる見込みだ。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.