クリエイターの教科書

Excel, ChatGPT, Stable Diffusion, Visual Studioなどの教科書

Microsoft Power Fxとは?使うには?

パワーアップス、パワーオートメイトなどのビジネスプラットフォームを拡大中のマイクロソフトでは「Power Fx」なるプログラミング言語を発表しました。

といって難しいものではなく、エクセルのような感覚で使うことができます。

Microsoft Power Fxとは?

F

マイクロソフトは「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で記述可能のようで、順次他のパワープラットフォームデモ利用可能になるようです。 

f:id:apicode:20210325141945p:plain

 

(更新 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 )

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ