Power Apps 標準コネクタとプレミアムコネクタっていうネーミングについての意見的な
Power Apps または Power Automateでは、コネクタを使用してさまざまなサービスと連携させることができます。
使用できるコネクタは契約プランによってことなり、種類としては
・スタンダード(標準)コネクタ
・プレミアムコネクタ
の2種類存在しています。
このスタンダードとプレミアムというネーミング、おかしいと思うんですよ。
スタンダードコネクタでできることは限定的
スタンダードコネクタでなにができるかというとざっくり以下のようになります。具体的に知りたい方は各々調べてください。
・無料でサービスを提供しているAPIとの連携(twitter gmail など)
・Office365系サービスとの連携
逆に、以下のようなことはできません。
・HTTP接続でサービス連携する
・SQL ServerやMy SQLなどと連携する
・Azure系サービスと連携する(AzureADを除く)
・オンプレデータソースと連携する
・カスタムでコネクタを作成して任意のAPIと連携する
上記のことはもちろんプレミアムコネクタであれば連携できます。
正直、体験版かな?っていうレベルだと思います。
用途としてはOffice365系サービスの連携が主で、それ以外にはあまり本格的にはつかえません。
Power Appsもそうですが、Power Automateを本格的に活用していくのであればオプションプランを契約してプレミアムコネクタの活用が必須です。
(もちろんOffice365の連携フローで効率を上げるのも最高の使い方です。そのうちもっといろいろやりたくなるはず。)
で、こういう声をたまに聞きます。
「Office365でプレミアムコネクタ使わせてよ!」
と。
たしかに、スタンダード(標準)コネクタというネーミングだと、とりあえず使いたい機能が有って然るべきじゃね?っていう感想になるのも最もだと思います。
あれば何でも出来ちゃうHTTP接続とか、使わせてくれよと。僕も思うと思います。
”贅沢”は言わないんで、”普通”に使うHTTP接続くらいつかわせてくれ、と。
コネクタのネーミング的にそういう発想になると思うんです。
名前変えたらいいと思うんだよね
個人的な感覚では、
・スタンダードコネクタ → オープンコネクタ / フリーコネクタ
・プレミアムコネクタ → スタンダードコネクタ
こういうネーミングにすべきなんじゃないかと思います。
こうすれば「あぁ、今のプランはスタンダードなコネクタすら使えない機能制限版みたいな状態なんだな」と理解しやすいのかなと。
Power Apps / Power Automateのポテンシャルはもっともっとあるんだということを知る切っ掛けになれば良しって感じで。
終わりに
基本的に僕は価値のあるものにはどんどんお金を払って使うべきだと思います。そうしないと便利なサービス、製品が成長しないし、自分も払う必要のない余計なコストを様々な形で払うことになるからです。
お金で解決できることはお金で解決しましょう。お金で解決できないことに頭と時間を使うべきです。
Power Apps 初期Screenを条件により切り替える
Power Appsでは、OnStartプロパティに設定することで初期画面を動的に変更することができます。
OnStartプロパティを開く
OnStartはツリービュー > App から参照できます。
Navigate()で初期画面を設定する
OnStartにNavigate()関数を記述することで、初期画面を設定できます。
OnStart()のテストは App > OnStart を実行します から行えます。
条件分岐させる
If()やSwitch()などにより分岐させることで動的に初期画面を変更することができます。
補足
OnStartプロパティの詳細については下記のリンクを参照してください。
参考リンク
OnStartプロパティ
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/object-app#onstart-property
Power Apps アプリ起動時にパラメータを送る。受け取る。
アプリ起動用URLにパラメータを設定することで、アプリに値を送ることができます。
パラメータを渡す
パラメータは?ID=123のようなかたちで渡すことができます。
例:
[起動用URL]?ID=123
複数のパラメータを渡す
複数パラメータを渡す場合は、&でつなげます。?ID=123&Value=ABCのようになります。
例:
[起動用URL]?ID=123&Value=ABC
パラメータを受け取る
受け取るには、Param()関数で取得します。
例:
Param("ID")
グローバル変数で保持する場合:
Set(_id, Param("ID"));
参考URL
Param()
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-param
Power Apps タイマーコントロールが挿入できないんだけど!?
タイマー?そんなの無くね?という方。
挿入 > 入力 のパネルはスクロールできます。
下にスクロールしてみてください。
スライダーとか、タイマーとかが出てきます。
macユーザーだとスクロールバーが出なく、ハンズオンとかで「タイマー無い!?」という方がいらっしゃったので記事にしてみました。
Power Apps ギャラリーコントロール上の変更を都度Collectionへ反映させる
Collectionをデータソースとしているギャラリーにテキストコントロールなどを設置して、直接値を書き換える方法について。
やり方
ギャラリーでリスト上に表示したCollectionに対して都度更新したい場合、以下のようにコントロールのOnChangeなどでPatch()処理を行います。
TextInput1.OnChange:
Patch(colItems,ThisItem,{Value1:Value(TextInput1.Text)})
OnChangeなどに仕込むことで、変更を半リアルタイムで反映させることができます。
動的に表示したい数値などがある場合に有効です。合計値とか。
必要がないのであればリアルタイムでの反映は処理速度に影響がでそうなので適切なタイミングで変更を反映するようにしてください。
サンプルで使用したCollection
ClearCollect(colItems,{Value1:0,Value2:0},{Value1:0,Value2:0},{Value1:0,Value2:0})