【Power Apps もくもく】おうじゃともくもくしたりする日 #1 を開催しました!
先日、Power Apps もくもく系コミュニティ「おうじゃさんといっしょ」の初回イベントを開催しました!
おうじゃともくもくしたりする日 #1
https://oujasan-to-issho.connpass.com/event/186888/
内容は概ねもくもく会の様相で、Teamsを利用してOnlineで行いました。
イベントの様子
イベント開始時点で2名ほどしかいらっしゃらず結構不安だったんですが、続々と集まってきて無事イベントの体をなすことができてよかったです。マンツーマンでコミュニティの説明をしようとしたときはドキドキでしたね。イベント開始~10分ほどで集まってくる説は有力です。
作業場所としてもくもくする人用とわいわい雑談しながらやる人用で分けていたのですが、みなさんわいわいルームに集まってました。みんなわいわいやりたいんだね。
会議機能で雑談通話しながらやっていたんですが、思ったよりいい感じにしゃべりながら進められたんじゃないかと思います。次回も同じ感じでやっていきたいところです。
この回は私だけ画面映してやっていたんですが、そのうち他の参加者の画面も映したり、会議分けたりしてやっていけたらいいなーと思ってます。自主性に任せたいのでお願いしたりはしないけど。
残念なところとしては、Teamsに上手く入れなくて参加できなかった方がいらっしゃったようです。Teamsは無料テナントのものを使用しているのでGmailなどでも参加できますが、フリーメールによってははじかれたり、組織アカウントの場合は制限がされていたりといろいろあるようです。参加される場合は参加申請とともに、事前にTeams参加リンクからチームに繋げられることを確認しておくことをオススメします。
次回開催日程
同様のイベントは毎週行う予定です。
次回イベントは今週金曜日 9/4 になります。興味のある方は是非ご参加ください。
https://oujasan-to-issho.connpass.com/event/187394/
その次は 9/9 水曜予定。イベントページはそのうち。
※日程は基本的にイベント中で話し合って決めていますが、希望の日程があれば #おうじゃさんといっしょ でツイートすると考慮するかもしれません。
Power Apps 新コミュニティ立ち上げました!
先日予告していたコミュニティを立ち上げました!
【予告】Power Apps の新コミュニティを立ち上げます!
https://zezeze.hateblo.jp/entry/2020/08/06/181205
コミュニティ名決まりました!
その名も"おうじゃさんといっしょ"に決まりました!
この名前はTwitter上で公募+アンケートでみなさんに決めてもらいました。
個人的にも気に入っていた候補だったので、個人的にも嬉しい結果でした。いい名前になってよかった。
全部ひらがなでゆるい雰囲気なのも高評価ポイントですね。僕の目指している方向性とあってる気がします。
初回イベントやります!
初回のイベントを今週木曜日に行います!
おうじゃともくもくしたりする日 #1
https://oujasan-to-issho.connpass.com/event/186888/
ざっくり内容としては、もくもく会をベースに雑談しながら作業したり、流れでなにかするかも・・・?という感じで想定してます。
場所は新しく用意したTeamsテナントで、Onlineで参加できます。
※参加の際はConnpassへの参加申請と合わせてFormsからTeamsへの参加申請もお忘れなく!
実際自分もやってみないとどういう感じになるかわからないですが、ゆるい雰囲気でできたらいいなと。
どなたでも参加できますので、興味のある方は是非ご参加ください!
毎週行うので今回参加できない方も次回以降是非ご参加を!
イベント終わったらイベントレポートも書くので、様子見な方も要チェック!です。
Power Apps コレクションにインデックスのフィールドを追加する
以下のようにするとコレクションにインデックスのフィールドを追加することができます。
コレクションにインデックスを追加する
// 大本のコレクション
ClearCollect (colItems,{ID:101},{ID:102},{ID:103},{ID:104},{ID:105});
// インデックスを含めるコレクションを初期化
Clear (colItems_Indexed);
// ForAll() + Collect() でインデックス付きコレクションを作成。
ForAll(
colItems,
Collect(
colItems_Indexed,
// Patch() でレコードを連結。インデックスを追加。
Patch(
Last (FirstN (colItems, CountRows (colItems_Indexed) + 1)),
{ Index : CountRows (colItems_Indexed) + 1 }
)
)
);
という感じでできます。と昔OneNoteにまとめていたんですが、少し前に Sequence() 関数と As 演算子が追加されたことでもっといい感じに書けるようになりました。
新バージョンは以下の通りです。(ForAllの部分のみ)
コレクションにインデックスを追加する:新バージョン
ForAll(
Sequence(CountRows(colItems)) As Index,
Collect(
colItems_Indexed,
Patch(
Last(FirstN(colItems,Index.Value)),
{ Index : Index.Value }
)
)
)
Sequence() 関数について
Sequence() 関数は1始まりの連番の単一列テーブルを生成する関数です。今回の例でいうと[1,2,3,4,5]が生成される感じです。動的に連番テーブルを生成できるので、これを使うとPower Apps でできることの幅が広がると思います。意外と欲しかった関数。
As 演算子について
As 演算子はテーブルに命名する演算子です。今回の例でいうと、Sequence()で生成したものに Index と命名して参照できるようにしています。うまく使ってコードの可読性を向上させたいですね。
Patchによるレコードのマージ
Patch()関数は多くの場合レコードの登録、更新に使用しますが、もう一つ機能を持っていて、レコードのマージを行うことができます。今回はその機能を使っています。
参考URL
Adding an index column to a collection
Formulas: ThisRecord, As, and Sequence
https://powerapps.microsoft.com/en-us/blog/formulas-thisrecord-as-and-sequence/
Patch()関数について
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-patch
Power Apps Formコントロールのオプションセット項目に初期値を入れる
フォームのオプションセット項目に初期値を入れる方法について。登録専用の画面で入力フォームに初期値を入れたいときとかのケースです。自分で軽く罠にハマったのでメモ。
DataCardValue(ComboBox).Default に設定する?
DataCardValue.Default に設定するかと思いきや、こちらだとうまく設定できません。
しかも何故かコメントですら入力するとエラーが出るようになります。ここは空白にしておきましょう。
DataCard.Default に設定するとできる
オプションセットの項目に初期値を入力するには、DataCard.Defaultに値を設定します。
DataCard.Default
[オプションセット].[項目名]
Power Apps 日付が今日のレコードを取得する
日付が今日のレコードを取得したい場合は、以下のようにします。
Gallery.Items
Filter(
[データソース],
DateTimeField >= Today(),
DateTimeField < DateAdd(Today(),1,Days)
)
補足:Today() + 1 は使えるか?
Today() + 1 のようにすると、明日の日付を取得することができます。
DateAdd() の代替えに使えそうですが、こちらを使用すると委任の問題が発生してしまうので注意しましょう。
参考URL
DatePickerで選択した日付のレコードを取得する