Power Fxに驚いた話です
仕事以外では
以前にチョット書きましたが、仕事で結構Excelを使っていました。
仕事を辞めた今は、そもそも私生活で表計算を必要とするような事はほとんど有りません。
そういう事も有って、現在使っているPCには、Microsoft製のOfficeは入っておらずに、オープンなソフトであるLibreOfficeが入っていたりします。
最近のバージョンは、互換性も高くなっており、個人的に使う分には全く問題のレベルだと思います。
という事で、最近はExcelがバージョンアップして追加された新機能についても、横目で見ているような感じでした。
ExcelにLambda関数
そのため、今年の初めに、ExcelにLambda関数が実装されたという話が有った時にも、そうなんだぐらいの反応でした。
因みに、Lambda関数というのは、既存のExcel関数を使って、新たな関数を作ることが出来るというものです。
VBAを使わなくても、通常の関数よりも複雑なことが出来るようになるのかなぐらいに捉えていました。
もっとも、関数型プログラミング言語みたいになって来たなとは、チョット思ったりもしたんですけどね。
LispにもそのものずばりのLambda式というものが有ったりしますからね。
Power Fx
といっても、すぐにそんなことは忘れてしまっていたのですが、最近になってマイクロソフトが、Excel関数ベースのプログラミング言語「Power Fx」を発表したというニュースが有りました。
どうやらLambda関数の実装は、この布石だったようです。
ところで、Excel関数ベースのプログラミング言語とはどういう意味でしょう。
コマンドや関数が、Excel関数ライクのものになっていて、Excelに馴染んでいる人間が習得するのが比較的楽という事でしょうか。
Power Apps
調べてみると、Power Appsというシステムの上で使用するための言語という位置付けのようです。
そのPower Appsはというと、私の理解では、(Access+Execl+Powerpoint)÷3のような感じのもののようです。
それぞれのアプリを使って行っていた処理をまとめることにより、報告書などを作る業務用のシステムを、ユーザーレベルで、少ないコーディングで作れますよという事のようです。
その時に、慣れ親しんだExcel関数をベースにした言語が使えますという訳です。
仕事をしている時にこんなのが有ったら、喜んで使っていたと思います。
実際の動作を見ると
何はともあれ、実際に動いているところを見て下さい。
引用元:Microsoft Power Fx 概要 - Qiita
やっていることは、入力用のInputボックスと出力用のLabelボックスを作成して、LabelボックスにInputボックスに入力された文字列の一番右側の文字列を取り出す関数を設定しているだけです。
それだけで、コンパイルをしたり実行キーを押したりしなくても、表計算ソフトのように、実行可能な状態になっているわけです。
勿論、入力をキーボードではなく、ファイルやデーターベースからにすることも出来るようです。
WYSIWYGなプログラミング環境出来ませんかねと以前の記事で書いたのですが、これはほぼそのものズバリのように見えます。
まさか、Excelをベースに開発されるとは、ビックリです。
残念ながらPower Appsは有料のようで、気楽に試してみるという事は出来ません。
しかし、今回の発表では、Power Fxをオープンソースで公表するという内容も含まれているようなので、そのうちにオープンな環境が作られると思います。
これは面白いことになりそうです。
ではでは