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
NVMeに新機能。ストレージがデータ処理を行う「コンピュテーショナルストレージ」、NVM Expressが発表
ストレージ
2024-01-31 16:08
エクイニクス、2023年度の事業戦略–デジタル時代のインフラ担う
IT関連
2023-07-14 09:10
「Windows App」のプレビューが公開–各種OSからWindowsデバイスへアクセス
IT関連
2023-11-18 12:15
Tenable、「Tenable One」を提供開始–攻撃経路の検出と効率的なリスク管理を支援
IT関連
2022-10-15 16:59
バンダイナムコが注力する「IP軸戦略」とグループ横断のデータ分析組織とは
IT関連
2023-11-07 09:39
女性限定チャット相談サービス「メンヘラせんぱい」のメンヘラテクノロジーが資金調達
ネットサービス
2021-03-11 12:20
横浜FCコラボの「サッカー×テクノロジー」アイデアソンで横浜の地域課題を解決したい参加者を募集、CCC U-22が実施
パブリック / ダイバーシティ
2021-06-11 10:04
バイデン大統領のEV販売目標達成に向けて、自動車メーカーが政府の投資拡大を要請
IT関連
2021-08-20 18:18
香港のフィンテックユニコーンWeLabが保険大手Allianzなどから約82億円調達
フィンテック
2021-03-10 13:51
AWSが生まれたのは、Amazonが経費削減のためにSunのサーバからHP/Linuxサーバへ切り替えたことがきっかけ 当時の社員が振り返る (1/2)
クラウドユーザー
2021-01-14 17:57
シンガポール拠点のライドシェアSWAT Mobilityが資金調達、日本におけるサービス開発に投資
シェアリングエコノミー
2021-02-09 19:21
菓子製造販売会社、需要予測AIを全34店舗に導入–廃棄削減などに向け
IT関連
2021-07-27 08:52
欧州のAndroidの「選択画面」はより優れた選択肢を隠し続ける
ネットサービス
2021-04-04 23:31
インテル、ロシアで事業を停止–「ウクライナに対する戦争を非難」
IT関連
2022-04-08 00:10