Excelの数式をベースにしたプログラミング言語「Microsoft Power Fx」登場。オープンソースで公開予定。Microsoft Ignite 2021

今回は「Excelの数式をベースにしたプログラミング言語「Microsoft Power Fx」登場。オープンソースで公開予定。Microsoft Ignite 2021」についてご紹介します。

関連ワード (デバッグ、動作、条件等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


マイクロソフトは、Excelの数式をベースとしたプログラミング言語「Microsoft Power Fx」(以下、Power Fx)を発表しました。

Power Fxは、Power AppsやPower Automate、Power BI、Power Virtual Agentsなどから構成される同社のローコード/ノーコードツール群「Power Platform」のロジックの記述に用いられます。

Power Fxはマイクロソフトにとって初めてのローコード開発向けのプログラミング言語です。Excelの数式の知識をプログラミングに使えるため、多くの人にとってプログラミングのハードルを下げることになると説明されています。

また今年後半にはオープンソースとしてGitHubで公開され、誰でも利用や実装が可能になる予定です。

Excelには、文字列の長さを得るLen関数や文字列の一部を取り出すRight関数やLeft関数、条件判定を行うIf関数、条件に合致するデータを取り出すLookup関数など、さまざまな機能を備えた関数があります。

Power Fxでは主にこうした関数を用いて、必要な値を取得したり、アプリケーションの動作を変化させることになります。

下記の画面では、Power Fxによるif関数がアプリケーション画面に関連付けられており、if関数内で取得するスライドバーの値によってif関数の戻り値がホワイトもしくはブラックとなり、それによって画面の色が変化する、という動作が実現されます。

fig

例えば、データベースにある「Employee」テーブルの「First Name」フィールドから、ある値に一致するデータをLookup関数を用いて取得する、といったことがPower Fxで次のように記述できることが示されています。

ここではドット「.」によってLookup関数が拡張され、データベースのテーブルからフィールドへとデータソースをドリルダウンできるようになっています。

この数式を画面上の特定のフィールドに張り付ければ、そのフィールドにデータベースから選択された名前が表示される、ということになります。

Power Fxでは、このようにExcelと同様の関数を利用するだけでなく、Excelのセルに数式を入力すればすぐに結果が表示され、さまざまな数式が自動的に計算、再計算されるように、その動作もリアルタイムかつ非同期に行われるようになっています。

Power Fxのコードは、アプリケーション画面上の各コントロールのプロパティのように、コントロールに対してコードとなる数式を紐づけられるだけでなく、全体のコードをまとめてVisual Studio Codeなどの開発環境で通常のプログラミング言語のように編集することもできます。

これによりノンプログラマはExcelでセルに数式を書き込むように、画面上のコントロールに数式を書き込むことで開発を進められる一方、プログラミングに慣れているプログラマは、Visual StudioやVisual Studio CodeとGitHubなどを用いて効率的に開発やデバッグを進めることができるようになっています。

fig2

Power Fxはすでに、Power Appsで画面レイアウトを優先したアプリケーション開発を行う「キャンバスアプリ」の開発においてロジックの記述に使われており、今後Power Apps以外のPower Platformのツールなどでも使えるようになるとのこと。

Excelの数式は過去半年のあいだに強化が行われ、一般にプログラミング言語として満たすべき条件とされる「チューリング完全」になったことが示されていました。

参考:Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に

これはPower Fx登場の伏線だったのかもしれません。

参考:Microsoft Power Fx overview

デバッグとは - コトバンク

ASCII.jpデジタル用語辞典 - デバッグの用語解説 - プログラムのミスや欠陥をチェックして、修正する作業のこと。プログラムの欠陥をバグ(虫)といい、直訳すると「バグの除去」。デバッグするための専用のソフトウェアをデバッガーという。ほとんどのソフトウェア開発ツールは、デバッガーの...

デバッグ - Wikipedia

デバッグ(debug)とは、コンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業である。

デバッグとは - IT用語辞典 e-Words

デバッグ【debug】とは、コンピュータプログラムに潜む欠陥を探し出して取り除くこと。プログラムが仕様や開発者の意図に照らして誤った動作をする際に、そのような動作を引き起こすプログラム上の欠陥、誤りをバグ(bug:虫)という。テストなどによって発見された誤作動・不具合について、その原因やプログラム上での位置を探索・特定し、意図したとおり動作するように修正する作業のことをデバッグという。

デバッグとは?デバッグの基礎や仕事内容を初心者向けに解説 ...

デバッグとは、 プログラム中の間違っている点や不具合がある点(バグ)を見つけ出して、修正する一連の流れ のことです。

デバッグとは?その基本と身につけておきたい必要な知識の ...

デバッグはプログラミングを学び始めた方にとって、最初の関門といえる重要な作業です。自分でバグの原因を突きとめて処理できるようになれば、一人前のプログラマーに近づくことができます。 今回は、デバッグの基本的な知識から、簡単な対処法、デバッグ業務に関する求人について詳しく解説しています。IT技術系業務に関心のある

英語「debug」の意味・使い方・読み方 | Weblio英和辞書

1000万語収録!Weblio辞書 - debug とは【意味】害虫を除く,欠陥を直す... 【例文】debug (IMAP4_stream attribute)... 「debug」の意味・例文・用例ならWeblio英和・和英辞書

デバックとは|「分かりそう」で「分からない」でも「分かっ ...

デバッグは「バグの原因を探して取り除く作業」です。 あるいは、プログラムに限らず「原因は分からないけど、なんか、おかしい」な状況に対する原因の究明や不具合の解消を指して「デバッグ」と表現することもあります。

【C#】デバッグの手順とは?デバッガ・Debugクラスの使い方 …

C#でデバッグする方法が知りたい。 デバッグって何? どうやってやるの? debugクラスを使ってログを出してみたい こんにちは。文系出身で今年現役8年目エンジニアになる佐藤です。

【超初心者向け】エクセルVBAでデバッグをする方法を解説し …

エクセルVBAでマクロを作ると、思い通りに動かないことがとても多いです。 そういうときには、何がおかしいのか原因を探って修正する「デバッグ」作業が必要になります。 このページでは「デバッグ」をする基本...

【初心者向け】Eclipseでのデバッグ方法 - Qiita

 · バグの原因を調査し、修正するのが「デバッグ」。. プログラムにバグがあったときにの原因調査のために利用するツールが「デバッガ (debugger)」。. デバッガは、. - 「ブレークポイント」でプログラムを一時停止し. - その時点の変数などの値を見たり、1行ずつなど動かして、プログラムの動作を見て. - どこで想定と違う動きとなるか、といった調査を行う ...

COMMENTS


Recommended

TITLE
CATEGORY
DATE
商船三井、SaaS/iPaaSベースの新システムでリアルタイムにデータ連携
IT関連
2023-09-16 02:23
バックアップが原点だから言えるランサムウェア対策–アクロニスのCEO
IT関連
2022-12-23 15:13
今すべき大切なことを見極め、実現を加速する年に–アバナード・鈴木代表
IT関連
2023-01-13 01:56
第58回:社内のITリテラシーとひとり情シスとの関係
IT関連
2022-10-26 08:08
第4回:顧客体験管理を実現する体制・プラットフォームの作り方
IT関連
2021-03-10 04:57
Snowflake、Python対応やアプリ開発を強化–トランザクション処理に対応する「Unistore」も追加
IT関連
2022-06-16 02:03
「Linux」にタイル型ウィンドウマネージャー「i3」をインストールするには
IT関連
2024-09-06 20:04
WatchGuardやASUSのルーター狙ったロシア関与のボットネット、米司法省が阻止
IT関連
2022-04-09 23:43
Googleアシスタントとより自然な会話が可能に BERT最新版搭載で
アプリ・Web
2021-04-30 04:50
富士通の中期的成長で鍵を握る「Fujitsu Uvance」の戦略
IT関連
2023-05-31 17:13
カゴメとNEC、合弁会社をポルトガルに設立–AI活用で加工用トマトの営農支援
IT関連
2022-06-19 14:22
SpotifyがようやくApple Watchでオフライン視聴できるように
ネットサービス
2021-05-23 13:28
Apple、従業員に2021年9月から職場復帰を要請 週3日は出社
IT関連
2021-06-04 04:50
重要インフラへの攻撃は依然として重大な脅威–著名ジャーナリストが警告
IT関連
2022-08-16 01:38