パワーアップス、パワーオートメイトなどのビジネスプラットフォームを拡大中のマイクロソフトでは「Power Fx」なるプログラミング言語を発表しました。
といって難しいものではなく、エクセルのような感覚で使うことができます。
Microsoft Power Fxとは?
マイクロソフトは「Power Fx」というプログラミング言語を発表しました。
これはエクセルライクなプログラミング言語です。
エクセルは、JavaScrptなど一般的な書き方ではありませんので、エクセルとJavaScriptの中間的な言語...といった感じがします。
パワーとあるだけに、マイクロソフトのパワープラットフォームで主に利用されることを想定しているのかなという印象です。
現在サンプルで言われているのがエクセルで
=RIGHT(A1,LEN(A1)-FIND("|", SUSTITUTE(A1, "", "|", LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))
というような書き方が、Power Fxでは以下のようになります。
RIGHT(Input.Text,LEN(Input.Text)-FIND("|", SUSTITUTE(Input.Text, "", "|", LEN(Input.Text)-LEN(SUBSTITUTE(Input.Text," ",""))))
エクセルに慣れていればほぼ使いこなせそうな感じになっています。
エクセルでセルの指定(A1、C3など)が、部品の指定(Input.Textなど)に置き換わったかのような文法になっています。
プロパティの取得は「BlueSlider.Value」など、JavaScript等でよく使われる一般的な書き方になっています。
参考:
What is Microsoft Power Fx? | Microsoft Power Apps
Microsoft Power Fxを使うには?
パワーアップスではすでにパワーFXで記述可能のようで、順次他のパワープラットフォームデモ利用可能になるようです。
(更新 2024/3/16)
パワーオートメートなどに対応。ウィンドウズ操作の自動化をさせるための言語として利用可能となるようです。
Excelみたいなプログラミング言語「Power Fx」、Windows操作の自動化で使えるように - 窓の杜 (impress.co.jp)
Power Fxの基本的な書き方
Microsoft Power Fx は、キャンバス アプリで利用する数式言語で、今後はPowerプラットフォームで共通して使える言語となる見込みです。
データ型
- Boolean:True
- 数値:132
- テキスト:"Hello, World"
- 色:Color.Red
- 日付:Date( 2019, 5, 16 )
- 時刻:Time( 11, 23, 45 )
- Record:{会社: "Northwind Traders", スタッフ: 35, 非営利団体: false}
- レコードテーブル:Table
など。
テーブルやレコードは、連想配列的な使い方ができそうです。
変数
以下のように変数を指定し、初期化することができます。
- Text1: ="Hello, World"
- Text: ="Hello #PowerApps"
- Record: ={ a: 1, b: 2 }
演算子
標準的な
= < <= > >= <>
+ - * / ^ & && ||
などに対応。
論理文はAnd Orなどに対応。
コメントアウト
通常のC言語などと同様
・文頭に「//」を入れる
・「/*」「*/」でブロックを挟み込む
ということでコメントアウト、つまり実行が提供されないプログラム個所を指定・明示できます。
その他注意点
・大文字と小文字は区別されます。
イベント、コマンドの記述
コマンド
「UpdateContext( { x: 1 } )」のような関数での記述が中心です。
複数コマンドを続ける場合は「;」で区切ります。
UpdateContext( { x: 1 } ); Back()
IF文
エクセルのようにIF関数に続けて条件式、合致した場合の処理、合致しなかった場合の処理を記述します。
If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )