co-authoringの狭間で何思う
最近のトレンドは四間飛車美濃囲いのあきらです。
たまに右四間飛車エルモ囲い若しくは左美濃もいいですね。
一番許せないのは三分切れ負けで穴熊にしてくる人です。
このあたり皆さまも共感すると思います・・・
同じ気持ちってドキドキしますね。
サボりまくってるブログをちゃんと書こうと思っておりまして早漏
じゃなかった候
遂に来ました共同編集機能!というご紹介をしようと思ったんですけども、
相方のやまさんがサクッと書いてくれちゃいました。
ですのでそっちの記事読みたいよーって人はそっち見ちゃいなよ
Youそっち見ちゃいなよ、って死語なのかな。
Power Apps Weekly News
というわけでPower Apps Weekly Newsって配信を毎週飽きもせずやってるんですけどね。
毎週金曜21:30-22:30くらいに毎週配信しております。
最近のワタシは
仕事⇒18時ごろからバド若しくは呑み⇒21時半から配信⇒24時ごろまでグダグダアフタートーク
という華の金曜を過ごしています。
華は華でも裏蓮華みたいな金曜ですね。
何言ってるんですか?
新婚生活から華金は差っ引かれております。
たまに顔真っ赤で配信してるときは高確率で酒飲んでるか、バド終わって汗だくか、皆さんに恋してるかどれかです///
アーカイブも全部見れますので、是非是非皆さまのお勉強の一助にしてください。
何も助けになれない可能性が否めませんが。
その中でCo-authoringっていうPower Apps キャンバスアプリの共同編集を暇だからデモしてみようってことで、配信の中でキャッキャ言いながらやってみたんです。
おっさん二人がキャッキャ言ってる映像がコチラ
見なくてもいいので高評価&チャンネル登録もよろしくお願いします!!
そろそろOP変えようかなと思っています。
アニメ動画作るの楽しそうだから作ってみようかな。
予想以上におっさん二人でキャッキャ言ってるのって気持ち悪いですね。
これが美女二人だったらたぶんもうサブスク20000人くらいいってると思います。知らんけど。
この間、友人とすごいオシャレなバーに酒飲みに行って
ワイ「いやぁ」
友人「なんや?」
ワイ「ここすごいオシャレで酒も美味いな」
友人「せやな」
ワイ「・・・可愛い女の子と来たかったぜ」
友人「俺が言うの躊躇ってるワード言うのやめてくれる?」
みたいな感じね。
やまさんいつも助かってます!
来週から可愛いお姉さんになったらもっと助かります!(お互い様)
Power Apps キャンバスアプリの共同編集と制限事項
本題というかなんというか副題です。
結構Xやらでは「まだあんまり使えない!」っていう感想が飛び交っておりましたが、
実際やってみると「お、これ結構使えるな」という印象でした。
やまさんのブログで詳しく書いてくれてるのでそちら参照していただきたく思いますが、
こちらも気づきでも置いておきましょう。
制限事項について動画の中でもちょこちょこ検証しておりますが、
以下ためしたやつ(項目はLearnで制限事項として記載されてるもの)
名前を付けて保存
これはそもそもやろうと思ってもできないです(項目がグレーアウトされてる)
構造上「名前をつけて保存」してしまうと、別アプリを保存するみたいな処理になるから。セッションが変わるのかな?細かい構造はよくわからんけどとりあえずNGっぽい
別アプリ開く、新しいアプリ開く
これは・・・できたぞ?
全くの制限事項ではなく、非推奨レベルなのかな。
今度、別アプリ開いてコピペでコントロールでも持ってこようかな。
「元に戻る」「やりなおし」
これはCtrl+zとCtrl+yやなたぶん。
こちらは、例えばコントロール置いたぜ!⇒やっぱやーめた!なら出来なくて、
テキストレベル、つまり関数書いてて「おっとっと綴りミスっちゃったぜ」→テキストの書き直し!なら可能。
手癖でCtrl+z愛用してる人は、憤りでPC破壊しちゃわないようにね
間違えるおめぇが悪いんだよ!!!ってMicrosoftさんが言ってたって、誰か言ってました知らんけど。
Authoring Versionの変更
未検証だけど当たり前だよなぁと思っておる
土台変わっちゃうもんね。
そもそも同一テナントなので、バージョン違うってことあんまりない気がするが…
共同作成者数制限
これイベント作って試してみたいねぇ
カットは無効
これさ、出来た気がするんだよね。
なんかノリノリでキャッキャしてたから、素通りしてたけどメニュー切り取って持ってきた気がする…
コピペ&コントロール名前変更
こちらは「不具合でるかもよ?」って項目でしたが、フツーにやってましたね手癖で。
こういうこと書かれると問題が起きるまで検証したくなるのが性ですが、せっかくなので配信とかで皆さまからの視線を感じながら羞恥プレイでいきたいとおもいます。
フィードバックしましょ
日本人ってフィードバックすんごい少ないらしいっす。
なんでだろうね、クレーマーレベルでフィードバックしてるぜ?
矢面に立ってないのにXでグダグダ言うんじゃねぇよカッコ悪いな、って近所のおじさんが言ってたよ知らんけど。
ついでに気づいた機能:アイコンコントロールとモダンのボタンコントロールのアイコン
最近おじさんPower Apps触れてなかったんですよ。
ですのでね。
「久しぶりにPower Apps触ってるヒャッホー」感が動画見ると伝わってくると思います。
モダンコントロールなんて全然触ってなくて、Updateきたやつをポチポチしてただけなのね。
ですのでちょっと興奮しちゃったのが、ボタンコントロールですな。
ボタンコントロールにアイコンがつけれる!ってやつ。
ちょっと可愛いボタン作る人はだいたい、
・ボタンコントロール×2
・アイコンコントロール
で頑張っちゃうこと多かったと思うんですが、
モダンコントロールのボタンコントロールだと、プロパティからアイコン選べて追加できるんです。
いやこれ自体はずーーーーっとPower Apps Weeklyでくるくる言ってたのでわかってたんですが、
アイコンの型が、「テキスト型」なんですね。
いままでのクラシックコントロールだとIcon.からなるコントロール型だったんですが、
ボタンの上に乗せるアイコンはテキスト型となっております。
ちょっとざっくり検証してみたので下に表でも作っておきます。
ワイにしては真面目な検証で吐きそうです。
※1はMessageっていうアイコンはあるけど、Chatとはちょっと差別化したかったので、別物と考慮。
細かく見るとアイコンデザインが違うとか色々ありますが参考までに。
| Icon on Button Control(Modern) | Icon Control(Classic) |
| Add | Icon.Add |
| Airplane | Icon.Airplane |
| AppsListDetail | UNIQUE |
| AppsList | UNIQUE |
| ArrowCrockwise | Icon.Reload |
| ArrowDownload | Icon.Download |
| ArrowDown | Icon.ArrowDown |
| ArrowExit | Icon.Leave |
| ArrowLeft | Icon.Arrowleft |
| ArrowRight | Icon.Arrowright |
| ArrowSort | Icon.Sort |
| ArrowSync | Icon.Sync |
| ArrowReset | Icon.Reset |
| ArrowUndo | Icon.Undo |
| ArrowUp | Icon.Arrowup |
| Attach | Icon.Paperclip |
| CalendarAdd | Icon.AddToCalendar |
| Calendar | Icon.CalendarBlank |
| Camera | Icon.Camera |
| Cart | Icon.ShoppingCart |
| Chat | UNIQUE※1 |
| CheckmarkCircle | Icon.CheckBadge |
| ChevronDown | Icon.Down |
| ChevronLeft | Icon.Left |
| ChevronRight | Icon.Right |
| ChevronUp | Icon.Up |
| Circle | UNIQUE |
| ClockAlarm | Icon.Alarm |
| Clock | Icon.Clock |
| Copy | Icon.Copy |
| Database | Icon.Database |
| Delete | Icon.Trash |
| DismissCircle | Icon.CancelBadge |
| Dismiss | Icon.Cancel |
| DocumentAdd | Icon.AddDocument |
| DocumentBulletList | Icon.DocumentWithContent |
| DocumentPDF | Icon.DocumentPDF |
| Document | Icon.Document |
| Edit | Icon.Edit |
| EmojiSmileSlite | Icon.EmojiSmile |
| Eraser | Icon.Erase |
| ErrorCircle | Icon.Error |
| Eye | Icon.View |
| Filter | Icon.Filter |
| GlobeArrowUp | Icon.GlobeChangesPending |
| GlobeError | Icon.GlobeError |
| GlobeProhibit | Icon.GlobeNotConnected |
| Globe | Icon.Globe |
| GlobeSync | Icon.GlobeRefresh |
| GlobeWarning | Icon.GlobeWarning |
| GridDots | Icon.Waffle |
| History | Icon.History |
| Home | Icon.Home |
| Info | Icon.Information |
| Link | Icon.Link |
| Icon.Mail | |
| Money | Icon.Maney |
| MoreHorizontal | Icon.More |
| Open | Icon.OpenInNewWindow |
| PeopleAdd | Icon.AddUser |
| People | Icon.People |
| Person | Icon.Person |
| Icon.Print | |
| Question | Icon.QuestionMark |
| SaveCopy | Icon.AddLibrary |
| Save | Icon.Save |
| Search | Icon.Search |
| Send | Icon.Send |
| ServiceBell | Icon.Bell |
| Setting | Icon.Setting |
| TextCaseTitle | Icon.Text |
| Warning | Icon.Warning |
はー疲れた。
整理したいと思ってたので、ちょうどよかったっす。
あ、そういえばMVP更新しました。
3年目となります。
なんでこんなやつがMVPなんでしょうね。
Microsoftさんもミスするんですね、まぁ暑いですししゃーない。
芸人枠ってやつだと思っておきましょう。
それではまた来週のPower Apps Weekly Newsで会いましょう。
お送りしたのはAkiraとやまさんでしたー!
RouletteGeneratorをPower Appsで(キャンバスアプリ)
クリスマスイブに、外でお仕事してて気づいたら、夜景がきれいだなぁなんて、碌に感じたこともないような、美しい気持ちになったAkiraです。
略して「くそやろう」Akiraです。
文章書くの楽しくなっちゃったので、連投しております。
是非ご笑覧ください。
はじめに
この記事は、Power Apps Advent Calendar 2023 12月25日担当分の記事です。
トリです。チキンじゃないよ。
技術的なこと書いておかないと、そろそろMVPとしての威厳が崩れ落ちそうなそんな夜なので、保っておこうと思います。
実はワイ、アプリ作れるんすよ///
忘年会の話
現在ワタシは
「自分の会社を愛知県で2社経営しつつ、ある東北の会社にフルリモでサラリーマン、夜は家庭教師」
という一行で情報過多な人間なのですが、
今回は東北のサラリーマンのところの話。
リモート組のchatにて
A「本社で忘年会やるらしいけど、みんな行く?」
B「いかない。東北遠い」
C「寒いじゃん、やだよ」
ワイ「たまぶくろちんちんまる」
A「そっかー、じゃあ俺もやめようかなー」
B「そうそうそれがいいよ」
C「でも忘年会はやりたいよね」
みんな「じゃあリモート忘年会やろうか!」
ってなわけで、リモート忘年会をやることになりましたとさ。
リモート飲み会とリアル飲み会の違い
リモート飲み会って難しいのよね。
何が難しいって、一言で言うとですね。
「まとまりがない」ってことなのです。
何の話かっていうと、 フツーの居酒屋などでは、精々長テーブルであっても、小グループの塊になるわけです。
20人で飲み会をしましょう!となっても、結局4人ずつくらいのグループになってしまい、 「今日、意中のあの子と話せなかった…」なんて思った経験もあるのではないでしょうか?
理論値超えて席替えしても、意中のあの子の隣にならなかったら、もうなんか見えない壁を感じますよね。
それはたぶん避けられてr
結局スピーカーというかメインファシリテーターみたいな人がいて、 その役割がその少人数の中で入れ替わりまくる、そういったコミュニケーションが各グループで行われているからこそ、会話が成立しているわけです。
似た言葉で心理学用語でダンバー数という言葉がありますね。
要は人が認識できる限界数というやつです。
つまり乃木坂46の人たちは、ダンバー数超えてる人を相手にしているので、
相対的に見ればお客さんなんて、たんぱく質の塊にしか見えてないわけですね。
I'm プロテイン。
もしあなたが、リモート飲み会で「え?そんなこと全然きにしたことないなぁ」と思う人がいたら、
自分ばかり話してないかな?と少しは周りに気を使いましょう。
- 平等に「自分のターン」を考えて喋れる
- 発言が少なく喋り難そうな人がいたら話を振ってあげる
- ラストオーダーの時間を気にして食事などをコントロールする
そんなファシリテーターのような人が、モテます。
飲み会においてスピーカーはモテません。
「あの人喋りすぎじゃね?相槌しつつ好きなYouTuberの話しようぜ」
と身内のチャットのネタに100%されてます。
そういう人は大抵 「おれ、めっちゃモテるから!」
と聞いてもいないのに、モテ自慢を始めます。
聞いてもないのに、武勇伝を語ります。
求めてもないのに、周りの人に対して感謝をし始めます
いいか?ここはLT会じゃねぇんだよ!聞いてんのか〇井!お前のことだよ。
リモート飲みの問題点
なんの話だっけ?
そうだったリモート飲み会の話だった。
そういったリアル飲み会と比べて、オンライン飲み会は以下の条件がある以上、少し難しいのです。
- 喋ったことが小声でも、参加している全員に共有される
- 人数が増えるほど混線が増え、譲り合うことで、結果喋り難くなる
- 気づいたら空気読めない人が1人で喋ってる
なのでハンチョウ…じゃなかった、いとぅさんの情シス会なんかは、
ランダムで部屋を数人ずつ分けるZOOMの機能である「ブレイクアウトルーム」に分けて、 少人数で話しやすくする工夫があるわけですね。
人数を強制的に分ける。
これも解決方法の一つだと思います。
他に方法はないのか… と思ったときに考えたのが今回の話となります。
テレビってすごいよね
一見すると
「最近TVとか全然見ないんだよね…なんていうか質?下がったかなって///配信してる素人のほうが面白いよね…え?普段何見てるかって?ヒカキン。」
的なクールでワイルドにピローでトークしちゃうムードをもってるヒューマンなワタシですが、
わたし毎クールほとんどのドラマアニメバラエティ見ちゃうくらいテレビ大好きなんですよね。
で思ったわけですよ。
バラエティってすごくないか?
中々の人数の人がちゃんとトークしてる。
よく考えてみるとわかるんですが、やはりここでも「司会」がいるわけですよ。
コントロールをしてるわけですね。流れを。
あとは企画、これがすごい。
企画というのはハリボテでもなくトークテーマなどがきちんと組まれており、それに準じたトークをすることにより、きちんとそれについての話が出来るわけです。
しかしながらこれで思うわけです。
つまり、「テーマ」があり「司会」がいれば、意外とダンパー数超えても成立するのでは…?
そうだ!ルーレットを作ろう!
というわけで、なんだかんだ「お題」に沿ったトークを、「選ばれた人」が喋るというコンセプトでアプリ共有しつつ話をしていこう!と思い立ちルーレットを作ることにしました。
ルーレットと言えば昔むかしMVPのHiroさんが作ってたルーレットがあったなぁと思い出し、作ってみたいなぁと思い作っています。
(これ作ったの2019年12月だぜ?すごすぎないか…)
ちなみにワイがPower Apps始めた1か月後です。
こわいこわい。
作り方書いてなかったので、テキトーに酒飲みながらどんな風に作っているのかなぁと、考えながら勉強しながら作ってみることにします。
※今日はクリスマスイブです。なにやってんの?おれ?
SVG使ってますので、苦手な人はがんばって!
SVGで円弧を描き塗りつぶす
いきなり何言ってんだコイツ?ってなってる人は家族で鳥食って、川の字かなんかで幸せに寝ててください。州の字の可能性もありますね。
要するにSVGマークアップで円描くと分割するのに結構頭使うんですわ。
それを一般化しちゃいましょう。ということです。
何も要してないのは気のせいです。
コルネさんがSVG表現はまとめてくれてるので、これ見てわかればケーキ食って寝てください。
あと飲み会だと遅れてきたり、早く帰ったりするじゃないですか。
それをサクッと変えちゃいたいそんな乙女心を、人はみんな持っていると信じています。
例えばSVGでこんな感じでRoulette作ろうと思うとちょっと面倒なんですわ。

一緒に作りたい人は、画像コントロール配置して、Imageプロパティに以下ぶち込めば表示されるよ!
Image=
"data:image/svg+xml," &
EncodeUrl("<svg width=""300"" height=""300"" viewBox=""-300 -300 600 600"" xmlns=""http://www.w3.org/2000/svg"" style=""transform: rotate(360deg);"">
<path d=""M 0,0 L 300,0 a 300 300 0 0 1 -18,103z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 282,103 a 300 300 20 0 1 -52,90z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 230,193 a 300 300 40 0 1 -80,67z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 150,260 a 300 300 60 0 1 -98,35z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 52,295 a 300 300 80 0 1 -104,0z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -52,295 a 300 300 100 0 1 -98,-35z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -150,260 a 300 300 120 0 1 -80,-67z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -230,193 a 300 300 140 0 1 -52,-90z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -282,103 a 300 300 160 0 1 -18,-103z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -300,0 a 300 300 180 0 1 18,-103z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -282,-103 a 300 300 200 0 1 52,-90z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -230,-193 a 300 300 220 0 1 80,-67z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -150,-260 a 300 300 240 0 1 98,-35z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L -52,-295 a 300 300 260 0 1 104,0z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 52,-295 a 300 300 280 0 1 98,35z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 150,-260 a 300 300 300 0 1 80,67z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 230,-193 a 300 300 320 0 1 52,90z"" fill=""#F0F0F0"" stroke=""black""/>
<path d=""M 0,0 L 282,-103 a 300 300 340 0 1 18,103z"" fill=""#F0F0F0"" stroke=""black""/>
</svg>"
)
上の例は18分割の例なんですが、
数字に殺されそうな勢いですね。
死因:数字
ですので簡略化して説明します。
SVGでの塗りつぶし円の概要
ぶっちゃけSVG使いたいだけならば、画像をフォトショかイラレでSVGに変換して、拡張子txtにすればぶっこぬけるので、そのほうが楽です。
その場合一般化できないけどね。
毎回画像作るのメンドクサイからジェネレータ作ろうってのが、今回のテーマです。
土台を定義する
viewBoxは基本的にsvg widthとheightの値で定義するのが、特別な理由がなければ良いとされるんですけども、今回は円を作りたいので、ちょっとここで工夫したいところです。
要するに、円の中心を(0,0)にしたいわけです。
ですので、viewBox使って中心座標を0,0にするように持っていきましょう。

描画エリアの幅と高さを変えずに、座標だけ定義しなおすと、上のようになりますので、この状態で描画していきます。
中心座標を定義する
まずは中心がどこか、というのを定義する部分がこちらです。

Mってところにx,yという形で定義します。
ここで気を付けなければいけないのが、数学で習った関数との違いです。
数学ではグラフの第一象限が(x,y)=(+,+)となりますが、
SVGでは第一象限は(x,y)=(+,-)となります。
要はy座標がマイナスであればあるほど、その点は上に描画されるってことですね。

仕事いっぱい残業プラスして頑張って帰ると、嫁の機嫌はマイナスになるみたいな感じですね。違いますね。
描画の始点と終点を定義する
円弧を描く始点と終点を定義します。
今回はこんな感じ

全ての円は楕円である
これは数学においては常識ですが、「円」に種類なんてそもそもないので、
全て楕円だと考えましょう的なやつですね。
円の方程式ってみたことがあると思います。
つまりですね、円だ!と言っても、x,yそれぞれの半径が一緒だなんて誰も言ってないじゃん?ってところです。
ですので、x,yそれぞれに半径を定義する必要があります。

また今回使わない部分に関しても解説しておくと、
楕円の場合、同じカタチでも傾きによって無数のパターンが考えられるため、傾きも定義する必要があります。
今回は真円なので0でOKです。

4パターンまで絞れたので、まず回る角度が180度以上かを定義します。

これで2パターンに絞られました。
最後に、回り方を定義します。
時計回りか否か、を0か1で定義します。

要するに、様々なパラメータを置くことで、線の自由度を無くしていく、ということです。
CATIAとかの3DCADでいう「拘束」ってやつですね。
ここまでやらないと円弧ってどんな形か、というのは定義できないのです。
ちなみに数学Ⅲあたりで傾きを持つ楕円方程式の証明などありますので、
気が向いたら学んでみてください。面白いよ☆
チャート式置いておきますね。
塗りつぶしと線の色
ここまで来たらあと少しですね。
以下のように、fillとstrokeを定義してあげれば終わりです。
下のようになればOKです。
Image=
"data:image/svg+xml," &
EncodeUrl("<svg width=""200"" height=""200"" viewBox=""-100 -100 200 200"" xmlns=""http://www.w3.org/2000/svg"">
<path d=""M 0,0 L 100,0 a 100 100 0 0 1 -100,100 z"" fill=""red"" stroke=""black""/>
</svg>"
)

とりあえず一般化せずに書いてみる
もう疲れたよねー
全体の半分も終わってないんですよこれがwww
まぁ一回区切っておこうと思います。
一般化せずに4分割の円を描くとこんな感じになります。
Image=
"data:image/svg+xml," &
EncodeUrl("<svg width=""200"" height=""200"" viewBox=""-100 -100 200 200"" xmlns=""http://www.w3.org/2000/svg"">
<path d=""M 0,0 L 100,0 a 100 100 0 0 1 -100,100 z"" fill=""red"" stroke=""black""/>
<path d=""M 0,0 L 0,100 a 100 100 0 0 1 -100,-100 z"" fill=""blue"" stroke=""black""/>
<path d=""M 0,0 L -100,0 a 100 100 0 0 1 100,-100 z"" fill=""green"" stroke=""black""/>
<path d=""M 0,0 L 0,-100 a 100 100 0 0 1 100,100 z"" fill=""pink"" stroke=""black""/>
</svg>"
)

綺麗ですねぇ…
むかしあった脳内メーカーみたいな感じですね。
違うか。
連続性を見つける
とりあえず円を描けました。
ここで連続性を考えてみましょう。
みたいな話なんですねー。
ねぇ誰かきいてる?
結果だけ言うと
今回変数と成りうるのは、下図のx1,y1,dx,dyのみなので、こういうカタチになるはずですね。

意外と簡単そうですね。
あとは連続性を考えていくだけですが、結局これはマスの数を360分すればいいだけなので、必然的に始点角度と終点角度が等差数列になっていると考えられます。
そこだけ定義してあげると、特に問題なく連続性も定義できそうです。
等差数列の一般項
項数の定義も必要なので、単純に数列の一般式に突っ込んでみましょうかね。
等差数列なので以下の式になると思います。

とりあえず定義して式に当てはめてみようと思います。
項数が変わるのがなー
ちょっと面倒かもしれんなー
Sequenceでいけるかー
Sequence+Collectionでコネコネ
とりあえず等差数列をCollectionに作ってみましょうかね。
まずは何も考えず基本の数列を作ってみましょう。

ボタンの数式は
OnSelect=
ClearCollect(colNumSeq,Sequence(Value(txtN.Text),0,1))
とりあえず0,9まで1ずつ足す数列を作ってみました。
これを角度の幅にしてみましょう。
OnSelect=ClearCollect(colNumSeq,Sequence(Value(txtN.Text),0,360/Value(txtN.Text)))

これをコネコネすれば連続性のある数列で、先ほどの式が定義できそうだとわかります。
AddColumnでコネコネしてみましょう。
OnSelect=
ClearCollect(
colNumSeq,
Sequence(
Value(txtN.Text),
0,
360 / Value(txtN.Text)
)
);
ClearCollect(
colN2,
AddColumns(
colNumSeq,
"θ1",
Value,
"θ2",
360 / Value(txtN.Text) + Value,
"x1",
100 * (Cos(Radians(Value))),
"y1",
100 * (Sin(Radians(Value))),
"dx",
100 * ((Cos(Radians(360 / Value(txtN.Text) + Value)))-(Cos(Radians(Value)))),
"dy",
100 * ((Sin(Radians(360 / Value(txtN.Text) + Value)))-(Sin(Radians(Value))))
)
)
結果がコチラ

イケてるっぽいですね(たぶん)
数式をもとにSVGの式を描く
これをもとにSVGの式を描いてみます。
OnSelect=
ClearCollect(
colNumSeq,
Sequence(
Value(txtN.Text),
0,
360 / Value(txtN.Text)
)
);
ClearCollect(
colN2,
AddColumns(
colNumSeq,
"Formula",
"<path d=""M 0,0 L " & 100 * (Cos(Radians(Value))) & "," & 100 * (Sin(Radians(Value))) & " a 100 100 0 0 1 " & 100 * ((Cos(Radians(360 / Value(txtN.Text) + Value))) - (Cos(Radians(Value)))) & "," & 100 * ((Sin(Radians(360 / Value(txtN.Text) + Value))) - (Sin(Radians(Value)))) & " z"" fill=""red"" stroke=""black""/>"""
)
)

うーん、もはやうまくできてるのかどうかすら、わからないですね。
もうこれで記述してみましょう。
Concatで繋ぐ
さて、さきほどサンプルで作ったSVGを持ってきて、pathの部分にConcatで繋いでみましょう。

これで理論上はうごくはずですね!
Image=
"data:image/svg+xml," &
EncodeUrl("<svg width=""200"" height=""200"" viewBox=""-100 -100 200 200"" xmlns=""http://www.w3.org/2000/svg"">
"&Concat(colN2,Formula,"")&"
</svg>"
)
テスト
ってことでテストしてみました。
18個↓

36個↓

100個↓

というわけで
ちゃんと動いてるっぽいですね。
そうだったRouletteだった
すっかり忘れてましたがこれRouletteになるんでしたね。
言ってよ!忘れてたじゃん!
ってことで回してみます。
スライダーコントロールを配置
スライダーコントロールでも使いますかね。
ってことで配置。

名前はsldRouletteとしておきます。

これでRouletteのSVGの方に、
こんな記述を加えてみましょう。

Image=
"data:image/svg+xml," &
EncodeUrl("<svg width=""200"" height=""200"" viewBox=""-100 -100 200 200"" xmlns=""http://www.w3.org/2000/svg"" style=""transform: rotate("&sldRoulette.Value&"deg);"">
"&Concat(colN2,Formula,"")&"
</svg>"
)
テスト2
スライダーを手動で動かしてみましょう。
くるくる回ると思います。
つまりだ!
これが自動的に動いて止まればいいわけですね!
簡単なのはx軸を時間にして、yの値が収束する関数をスライダーコントロールの値にでもして、タイマーコントロール側で止めればいいですね。
収束関数の傾きをRandom関数かなんかで定義すれば、サクッと作れると思います。
これでダーツの旅もできるし、フレンドパークの最後もできるし、忘年会のお題決めも完璧です!
是非忘年会に向けて作ってみてはいかがでしょうか。
おわりに
さぁて、終わった終わった…(終わってない)
ちょっと10000字近く書いてるんでね。
そろそろ区切りたいと思います。
まぁこんな感じでサクッと作っちゃってください。
たぶん1時間もあれば作れます。
めんどくさいなーって人は、恋人とクリスマスディナーでも食って寝ろ!
ネタブログだと思った?ハハッ!
MerryChristmas!
AIと気ままと私
主イエスが言われました
「わたしがあなたがたを愛したように、あなたがたもあきらを愛しなさい」(大嘘)
あきらです。誰か愛して。できるだけ可愛い子。
痩せたい!ダイエットする!って言ってから6キロ太ったんですよ。
なんで?めっちゃ歩いてるよワイ。
あれかな、暴飲暴食してたほうが痩せるのかな?
ラーメン食べたい。
ラーメン…
まちがえた
アーメン
この記事は、Power Automate Advent Calendar 2023 12月23日担当分の記事です。
- 趣味は楽器と絵とデザインと文章を書くことです!
- AIは便利
- 自分ができないことをAIに頼むのって意味ある?
- 気ままに勉強会という題材でAIで絵を描いてみた
- というわけで気ままに勉強会の絵を描いてみた
- 後日談
趣味は楽器と絵とデザインと文章を書くことです!
はい、唐突な自己紹介でした。
わたしはですね、Power Appsで楽器作ってしまうほど、楽器が好きなんです。
基本的には打楽器好きで、自分の部屋に電子ドラム置いちゃいたいなぁと思っているくらい、永遠の趣味でございます。
絵を描くのも好きでね。
この下の絵は私が書いております。
![]()
他にもPower Apps Weekly Newsのゲストに来ていただいた方には、絵をプレゼントしたり…(向井さん登壇で使っていただきありがとうございましたー!)
フツーにフォトショ使ってデザインするのも大好きです。
ウェブサイトもたまに作ってます。
こんな顔面でこんなキレーな絵を描くんですよ!
信じられます?ハハッ!

まぁブログ見てたらわかると思うんですが、
単純な文章でクスッとするようなバランスなどを考えるのも大好きです。
特に冒頭の・・・・・あきらです!みたいな文書は毎回ネタ探しております。
mixiのころもアホほど内容のないクソ日記書いてました(黒歴史
最近アカウント見つけて、阿鼻叫喚でした。
ベッド叩きすぎてマットレス壊すかと思った。
AIは便利
ホントにAI万歳!みたいな世の中になってきましたね。
凄いと思います。
私が冒頭で書いたこと全部できますからね。
いやまぁ使ったらいいと思います。
Power AutomateでもCopilotは日本リージョンでプレビュー中ですね。
でも私はあまりAIは使わないだろうなーと、ずっと思っています。
関数を書くのもね、自分で考えたいのよ。
仕事で時間がなくて、「すまん、今時間ないんや…あいちゃん頼む…っ!!」
くらいにしたいわけですよ。
奥さんに普段からごはん作ってもらってると、ホントに作ってほしいときに
「私はあなたの家政婦じゃない!!!!」って言われたりするでしょ?
アレですよ。
アレってなんだろう。
自分ができないことをAIに頼むのって意味ある?
AI特に生成系AIに関しては、すごく思います。
よく
「AIのおかげで自分では作れないような絵を描けた」
「AIで文章書いて、ブログにした」
「楽器弾いたことないけどAIが作ってくれた」
何でもいいのかな?と思ってしまう。
感情があり、情緒があり、そういうものが複合した思いがあり、
その上でできたものが言葉では表現できない「モノ」だと思うのです。
いや受け取り手がいて、満足すればそれでいいとは思いますが、
モノづくりに悩んで、モノづくりに絶望して、モノづくりを愛して、モノづくりに生きている。
そうした人達の礎でしか生み出せないモノがあると信じています。
私は元ワイヤーハーネスという車の部品のエンジニア(設計士)でもあるのですが、
現行踏襲という言葉に辟易していたんです。
過去から学び新しきを生み出すのならばまだいいけども、
過去を浚って、生み出す努力をしないでいいんだ!と思うのは違うと思うんだ。
生成系AIを脅威に感じてる分野は大体が「正解のないもの」だと思うので、
「正解のないもの」を暗中模索しながら作る楽しみを理解するための、ただの参考物として捉えてほしいと切に思います。
人間がこれから、さらなる進化をするために、AIを活用するのだと、そう思い願います。
「ほほーAIだったらこう作るんだね?でもねワイだったらこうやって作るぜ?」
と人間として上から目線でいてほしいと思い願います。
真面目なこと言っちゃった!
うんこうんこ。
気ままに勉強会という題材でAIで絵を描いてみた
アドベントカレンダーの主催(?)のたなさんが主催している「気ままに勉強会」というイベントの絵をAIで描いてみました。
空いてたので、Power Automate関係ある?って内容ですけどぶち込みました。すみません。
心情としては高架下の金網にゴミの缶をぶち込む運転手のよう…
違うか

「ツリーハウスでパンダとライオンとロボと筋斗雲に乗ったおじさんとおじさんがPCに囲まれて話している」
で作った絵です。
うん、おじさんは嫌いなのかな?
消すことないじゃん。
おじさんもいいところあるよ?
おじさん頑張ってるよ?
せめて絵にしてあげてよ、この世はだいたいおじさんが支えてるんだよ?
まぁまぁ色々ツッコミどころがありますね。
まだまだおじさん、AIには負けないよ?
というわけで気ままに勉強会の絵を描いてみた
私なりの気まま勢へのクリスマスプレゼントです。
AIとどっちがいいか比べてみやがれってんだ!!!
・線画

実妹(イラストレータ)との共作です。
・塗り

塗りはワイが好きなのでめっちゃ描きこんだった
というわけでAIちゃん?
早く俺に追いつけやコラ(煽)
困ったときは助けてね☆
後日談
ワイ「こないだ線画一緒にかいたやつ色塗ったよー」
イモウット「うますぎだろ!お前職業何だよ!ふざけてんのか!謝れよ!」
めっちゃ怒られた。
JAPANのJPPCでJPAOがDCTだったBST
誰もが目を奪われていく 完璧で究極なAkiraです。
じつは今年初投稿となります。
わたしの初めてを皆に貰っていただけるなんて、至極光栄すぎて便通が良くなりそうです。
いつもコチラで書いてますので、凄まじく暇なときに見ていただけると幸いです。
時間の無駄やないか!と自分の行動を見直すキッカケになることでしょう。
これに懲りて、暇なときは部屋の掃除でもしてください。
無駄にXってやつもやってますし、Xでも見る価値のない無駄なことつぶやいてます。
フォロワー3000近いとかみんな頭おかしいんじゃないかと思っています。
37にもなってうんこうんこ!とか呟いていない、真面目なアカウントをフォローください。
はじめに
この記事は、Power Apps Advent Calendar 2023 12月22日担当分の記事です。
もちろんすっかり忘れてて慌てて書いています。
JPPCの話
運営など頑張りました。
powerplatformconf.connpass.com
ファシリテーターやって、登壇して、演奏して…
マジでこれ業務じゃないの!?仕事の3倍くらい仕事してるわよアテクシ!
まぁゴールドスポンサーの従業員なのでね。
他の皆さまからすると恵まれてますな。
来年もやるんじゃないかな。
マジでこんなところ見てる暇があったら運営の人は反省会したほうがいい。
後日談的なこと書いていきますが、
ジツは会場で配られたコレは、私がデザインしたんですよ(自慢
忙しい中15分くらいで作りました。

みなさんのお弁当引き換えが幸せなものになるように想いを込めて…
そんなことも思う時間も無くサクッと作りました。
5個食った巨人が居たらしいけど…
名刺忘れた人用カードもデザインしたんですけど、アレどうなったんですかね。
結構デザインしたもの使われてないとショックですよ?
スケジュールがバグってた
わたしのスケジュールなんですが、

ファシリテーター×4
登壇×1
キーノート×1
ハッカソン司会×1
というなんかもうネズミのキャラが脳内でハハッ!って笑っちゃうくらいのスケジュールだったんですね。それに加えて、毎晩飲んでたという…
いやこれに関しては「わたし」のスケジュールっていうより、
運営の人大体みんなこんな感じだったんです。
あのね。
みんな頑張ってて、しかも大半がボランティアなんだわ。
心無い言葉とか人としてどうかと思うぞ。
そして二日目の夜に気づいた衝撃の事実…
「J P A O の 楽 器 作 っ て ね ぇ !」
謎ワードですねホントに。
JPAOについては以下を参照ください。
世の中には変な人がいるんですよ。
わくわく!楽器作り!
だいたいワタシらの楽器作成工程はですね、以下の順番で行っていくのです。
- 発起
だいたい太一さんだけど「イベントで演奏しようぜ!」と誰かが言い出す - 曲決め
ワイが「ボレロやりたい!」と言い出す - 編曲、スコア起こし
じゅんじゅんが「スコア作りました!」と言い出す - スコアの音域に合わせて音が鳴るか検証
ワイが「オーボエの音足りなくね?運指無理じゃね?」と言い出す - リハ
たぶん成功したの一回だけ - 本番
という形で進んでいくのです。
参考になりましたか?
参考になった!という人は、何か最近辛い事でもあったんですか?
直前でオーボエの音域に無理があると気付く
何が問題だったかというと、
連日飲みまくって「なんとかなるやろ!」って思っていたら
オーボエの音が運指的に鳴らせないことに気づいたんですね。
何言ってるかわからなくて大丈夫ですよ。間違ってないですよ。
なので急遽じゅんじゅんが以前作ったピアノに音をあてがうことに…
もちろん音をサンプリングしてる暇もないので、ちょっと他ソフトから音源を拝借いたしました。
だいたいこれでバンド系の音は取得できますので、あとは波とか調整すればオーボエ和音とか取ってこれますね。
何言ってるかわからなくて大丈夫ですよ。間違ってないですよ。
本番!
練習もほとんどできず、本番が来て、
なんかテンション高いじゅんじゅんがいて、軽快に答える太一さんが居て、
ワイはというと、何喋ったか全然覚えてないっすわ
頭の中はボレロが鳴り響いてるわけですから。
会場でね、いろんな質問もらったんですよ。
こんなところで答えておきますね。
Q.「あきらさんってファシリテートうまいですね!どう考えて喋ってるんですか?」
Q.「集中してPC触ってますね!何してるんですか?」
Q.「難しい顔してどうしたんですか?」
Q.「登壇で見たんですけど、普段登壇とかの練習しないって何考えてるんですか?」
A.「ボレロのことしか考えてねぇよ!!!!」
というわけで演奏はコチラ
いやー悲願でしたわ。
この3人で演奏したいね!ってずっと言ってたので。
アドベントカレンダーの記事にするほどでしたから!
Dreams Come Trueですわ
DCTですわ
今回はこれで終わりです。
ね?時間の無駄でしょ?
裏側(Back Side Time)の話でした。
質問きてた内容のAnswer
ホントに終わったときの疲労感すごくてですね。
当日の質問に答えることが出来てなかったので、見てくれているかわかりませんが答えておきます。
Q.「楽器紹介の所でテルミンがあったと思うんですが、そもそもテルミンって楽器に触れない楽器ですよね?どうやってPower Appsで再現してるんですか?」
まさか楽器アプリという不思議界隈にこんな真面目な質問が来るとは・・・
感無量で笑えてきます。
アンサーとしては、
(surfaceに)触れてます!(当然)
触れなきゃ音出せないですからね。
そりゃ当たり前だ。
たぶん質問の肝要はそこではなくて、
あの震えみたいな音をどう再現しているのか、だと思いますのでそこを答えておきますね。
答えとしては
A.音色同じで周波数を変更した音をCollectionで配置し、スライダーコントロールで左右に動かして震わせてるような音を再現している
となります。
なので使用する音は、C3からC4までの8音ではなく、C3~C4×4パターン くらいの音のファイルが使われています。
参考になりましたか?
是非一緒に演奏しましょう。
参考にならなかった方、
何言ってるかわからなくて大丈夫ですよ。間違ってないですよ。
MerryChristmas!
Japan Power Apps Orchestra演奏会の裏話
滲み出す混濁の紋章、不遜なる狂気の器、湧き上がり・否定し・痺れ・瞬き・眠りを妨げる爬行する鉄の王女、絶えず自壊する泥の人形、結合せよ、反発せよ、地に満ち 己の無力を知れ 破道の九十・あきらです。
この記事は、Power Apps Advent Calendar 2022 12月最終日担当分の記事です。
事です。
Power Automateはこちら
Power BIはこちら
事の顛末
まずですよ。
こんなイベントがありまして。
私と同じくMVPのやまさん、そして同期のMVP大渓明日香さんが登壇者として呼ばれたわけですけども。
いやー楽しかった。
どうしてもコロナ禍でMVP受賞させていただいたので、私と大渓さんは特に、Microsoftのオフイベントってのはオンラインでしか参加できなかったんですよね。
しかもTwitterや社外で会った人たちとも交流ができて、なかなかに貴重な機会だなぁと感じました。
また名古屋へお越しくださいませ。
ヒキコモリの足が延ばせる限界でございます。
で、ですよ。
その前々前週くらいにある方から連絡をいただきまして。

そうこの方こそ、我らJPAOの代表でもある
MVPの中村太一さんです!
黒いブログでおなじみですね。
自分が登壇者ということも忘れて、ノリノリで返すワタシ…

そう、自分が登壇者ということを忘れて…
Japan Power Apps Orchestraって?
Japan Power Apps Orchestra(JPAO)とは、中村太一さん、元MVPの小玉さん中心に活動している、「Power Appsで楽器を作って演奏しちゃおう!」というぶっ飛んだ思想の人たちの集まりです。
実はわたしがPower Appsにハマった理由も
「東北にPower Appsで楽器を作っちゃった人がいるらしいよ?」
って言葉がキッカケだったりしますw
つまり今のワタシがいるのはJPAOのおかげ!(過言)
FBグループはコチラ
過去の配信は太一さんのちゃんねるでどうぞ
参加メンバー
今回参加した顔ぶれです。
登壇者とそうでない方を分けて紹介してみましょう。
Ignite Recap Event 名古屋に登壇した人
・表田陽 Akira Hyoda (Microsoft MVP Biz Apps)
担当:オーボエ/編曲/作譜/楽器作成
・大渓明日香 Asuka Otani (Microsoft MVP Biz Apps)
担当:ウインドチャイム
・山田晃央 Teruchika Yamada (Microsoft MVP Biz Apps)
お客さんとして来てた人
・中村亮太 Ryota Nakamura (Microsoft MVP Biz Apps)
担当:バスドラム
・中村太一 Taichi Nakamura (Microsoft MVP Biz Apps & M365)
担当:ベルピアノ/ストリングス/編曲/楽器作成
Taichi Nakamura (Taichi Nakamura)
・榎洋一 Yoichi Enoki (Friend)
担当:ベル
こんなメンバーで演奏しました。
豪華か!
全員登壇者でいいじゃねぇかレベル!
いやもうワイの代わりに檀上立てや!
いやいや誰の前で「いやー今回のIgniteの内容はですねぇ…」って説明してんねん!
太一さんは初めましてでしたよ!
会えてよかったですよ!
イメージ通りの朗らかな方でしたよ!
また飯でもいきましょうよ!
準備どんな感じ
たぶん一番大変でしたね
スケジュールをざっくり言うと
曲目決め、パート決め(10/25)
足りない楽器作り(10/28)
編曲、楽譜作り(11/1)
本番(11/4)
※平行して場所探し、移動手段手配、各調整、自分のパート練習
いや時間無ぇよ!
仕事そっちのけで作業してたよ!
いやよく間に合ったwww
映像見てもらえればわかりますが、ワタシだけ当日になっても只管練習していました。
10末で「あっ、そうだった。ワタシ登壇するんだった!」って言って改めてIgniteの内容を勉強しなおしていた、深夜二時のことをワタシは忘れるまで忘れないでしょう。
編曲、譜作成、譜割り、音源作成、足りない楽器作成、楽器配布、オーボエ練習、登壇準備…
わしゃ新人指揮者か!
本番どんな感じ
本番は準備の甲斐あってすんげぇ楽しかったですね
こんな年末にアドベントカレンダーの最終日にしちゃうくらい楽しかった
またやりたいなー(準備以外)
たいちさんのチャンネルで本番映像が見れますので見ちゃってください。
楽器って音が出るんですよ!知ってますか?
そうなんです。フツーの楽器は例えばpianoの鍵盤押すと音出るんですよ。
だけどね、Power Appsで作った楽器で演奏してみてください。
たまに音が出ないんですよ。
え?楽器なのに?って?
そこまで言うなら自分で作って弾いてみてください。
オフトーーク
オフトーークというどっかの焼肉屋さんのオーナーさんと、ゴルフ好きなおかっぱさんリスペクトでTitleつけちゃう、そんな日々。
オフトークやNG集、舞台裏の映像って割と面白いですよね。
ってことで皆さまへのクリスマスプレゼント代わりにというか、
JPAOへの誘いもかねて動画を作ってみました。
是非見てやってください
楽しい雰囲気が少しでも伝われば幸いです。
ついでに見てる皆さんもJPAO、入ってみちゃいなYO!
最後に
コロナ禍でかなり人と人との距離が離れてしまったと感じます。
普段当たり前のように会ってた友人や、少しだけの努力で会えていた兄弟や両親。
ワタシも最近やっと両親に会いました。
いくらWebが発達し、対面で話すことの重要性というのが薄まっても、それでも実際に会ってお話して、同期コミュニケーションを楽しんでこそ、人と人との繫がりを噛みしめることが出来るのだと思います。ヒキコモリが何言ってるんですかね。
特に、音。楽器は言葉を持たないコミュニケーションとも呼ばれます。
呼ばれてなかったら、ワタシが初めて言います。
「楽器は言葉を持たないコミュニケーションだ!」
言葉がなくとも、人を支えることができ、人に合わせることができ、それが完璧に合わさるとき、割れんばかりの拍手や、響き渡る歓声で、溢れんばかりの笑顔で、そのすべてで伝えた、伝わった、という感動を描けます。
Businessアプリケーション作成プラットフォームで楽器なんて
って言う人もいるかもしれませんが、楽器買うと高いから作っちゃった!っていうハックも面白いものです。
長くなりました、悪い癖です。
この言葉で締めましょう。
大人だって本気で遊ぶのは楽しいんだぜ!
”I” Wish You a Merry Christmas
「触ったことないんですけど○○ってできますか」が何故嫌われるか
夏からほとんどblog活動してなかったワイですが、adventcarendarの時期だけ張り切ってる、まるで旬しか市場に回らない「めじかの新子」のような男
あきらです。
この記事は、Power Apps Advent Calendar 2022 12月25日(Calendar1)担当分の記事です
本日は(も)Power Apps Advent Calendarの記事となります。
AutomateもBIもありますので見てね!
アンカーです、イエイ!
長かった。
皆さまに素敵なプレゼントお届けできましたでしょうか?
自分に都合のいい言葉だけ受け取っておきます。
よく聞くローコード、ノーコード製品の誤解
まずMicrosoft Power Appsは「ローコード」アプリ作成プラットフォームです。
ノーコードでアプリが作れる!というアプリじゃないです。
あくまで「ある程度まではノーコードで」アプリが作れるものです。
よく「全然ノーコードじゃないじゃん!」というお言葉をいただくことがあります。
でもここらへんの人って大体「思ったより難しいじゃん!」って言葉をノーコードローコードのせいにしてる気がします。
だけどですよ。
市民開発者である私から、皆さまに問いたい。
そもそもコードってなんやねん、と。
色々言い方があると思うけど、一般的には
コード=コンピュータへの命令を記述した文章
だと思うんですね。
だったらですよ。
極論、Excelの関数だってコードでしょうよ。
Power AppsのColorを選択するのもコードでしょうよ。
プログラムコードを書く⇒難しい は論理的に成り立つかもしれない
けど
難しい⇒ってことはこれはコードだ!話が違う!
これは必要十分条件を満たしていないと思うわけですね。
だから、言うとしたら、
Power Appsは全然ノーコードじゃない話が違う!!!
じゃなくて
Power Appsは自分には難しい!!
だと思います。
楽器で例えてみる
私は個人的に楽器を演奏しているんですが、
Power製品やその他の製品もそうですが、
ハードルがそれぞれ違う周期で用意されるんですね。
一曲通して演奏する、というハードル
たとえば私の得意なドラム
これは「始める」というレベルはとてもハードルが低いです。
スタジオ行ってドラム借りて、スティックでスネアを大きく叩きます。
ドン
これで始められました!よかったですね!ドラムプレイヤーの誕生です。
そりゃそうです。
叩くって幼児でもできるんです。
じゃあ次にハイハット、スネア、バスドラムを使って、8ビートと呼ばれるリズムパターンを叩いてみましょう。
ドンチッタンチッドンチッタンチッ・・・
以外とここまでは1時間程度の練習でできます。
1時間も!?って思うかもしれませんが、たった1時間も努力できないなら、あなたの自己評価がどうであれ、あなたは怠惰です。
そしてここからが面白いのが、ドラムは基本この8ビートを曲の最初から最後までキープすれば、「俺ドラム叩けるよ!」って名乗っていいです。
ホントです。それで何となく様になります。
この一曲通して演奏することができる、というのが一つの基準になります。
ではギターはどうか
ギターはまず調弦を覚える必要があります。
ドラムも調弦みたいなセッティングはありますが、別に音がよほどくるってない限り、そのまま叩いても素人が分かるほどの違いはないです。
なぜギターなどの楽器に調弦がいるかというと、音階が顕著にあり、メロディを奏でるものだからです。
そして4種程度のコードを奏でるために抑え方を覚えます。
そしてコード進行を覚えるために、結構な時間練習をします。
もちろんリズムキープも必要で、音のボリュームやエフェクト、音の止め方、時には一緒に歌も歌います。
Fコードなんて10時間練習しても足りないとかいいますね。
アルペジオが含まれていたら50時間かかっても一曲弾けないなんてザラです。
それぞれのスタートライン
楽器の習得時間に関するblogみたいになってるのでPowerの話をすると、
私は、Power Appsはドラムみたいだなーって思っています。
①ドラムで音を鳴らすレベル=とりあえずアプリを作るレベル
ならばExcelテーブル用意してボタン押せばすぐできます。
なんてお手軽のなのでしょう!
な ん と い う こ と で し ょ う !
みたいな呆けた台詞を講習で何度も言うくらいお手軽です。
②一曲弾くレベル=自分用の「一覧」「詳細」「編集」の3画面アプリを作るレベル
8ビートを体で慣れ、それをキープすればいい
といいましたがAppsもそんなに変わりないです。
データ用意して、Gallery上でポチポチ
表示フォームでボタンポチポチ
入力フォームでボタンポチポチ
これでできます。
熟練の人間は、たぶん一曲終わるより先にアプリが出来上がっています。
③ツーバス、パラディドル奏法、変拍子、BPM200という変態曲を叩き切る
=複数テーブルを使用するアプリをセキュアに大多数が使用するアプリを作る
ここからとてつもなくハードル上がります。
残念ながらプロに任せたほうがいいんじゃない?ってアプリが出てくるのもこの辺。
Excelで勤怠管理作ったことありません?
そんな感じです。
ぶっちゃけ向いてないレベルのものを無理やりローコードで作ろうとしている感じ。
本業じゃないんだから、そんなに頑張るなよ…というレベルのものです。
ユーザーフォーラムについて
JPOPのMr.Childrenっているやないですか。
鈴木英哉というドラムの方がいるんですが、
初心者の方はリスナー側で聞いているとすごく簡単に聞こえます。
「こんなん誰でも叩けるじゃんwww」
って言ってるクソガキを昔はよく見かけたものです。
ただあの方は実は技術的に凄まじいのです。
ミスチルの曲は再現性がとてつもなく難しい。
それはドラムを真剣に叩いてみたらレベルの高さがすぐにわかります。
始めたらすぐわかります。
「あ、この曲のドラム難しすぎるだろ…もっと練習がいるな」って
叩かないとわからないんですね。
Appsも同じです。
一歩目踏み出したらわかるんです
「あ、この機能作ってみたいって思ってたけど今の知識じゃ無理だな」って
よくユーザーフォーラムで出没する、
「○○できますか?まだ触ったことないんですけど。」
という質問がスルーされる理由ですね。
やったことない、ってのは話にならないんです。
だってドラムが目の前にあって、あなたはスティック持ってるのに「これ使ったらXJapan叩けますか?」って言ってるようなもんです。
すぐ試せる。
やってみたら?そうしたらわかるよ。となるわけです。
ユーザーフォーラムはユーザーのフォーラムです
これほど幼稚な文章を見たことがありますでしょうか。
極論、触ったことのない人はユーザーじゃないと思うんですよ。
いや、まだ触ってない人に門戸を開くのもいいと思いますけどね。
そこは否定しない。
けど今から始めようとするユーザーが質問すべきは、「どうやったら始められますか?」だと思います。
懇切丁寧に教えさせていただきます。
個人的な考えとまとめ
ポエミーかもしれませんが、まとめてみる。
日本人は極端に失敗を恐れる人種な気がします。
ものづくり1つとってもそうです。
「前例はありますか?」
この言葉に蕁麻疹出る人って意外と多いんじゃないですか?
私は昔、大手自動車会社に入ってCADを触っていた人間ですが、
耳にタコどころかデキモノのほうが耳より大きくなっちゃうくらい聞きました。
提案という提案をすべてこの言葉で躱されました。
前例があると楽なんです。
なぜなら、それの有用性も、作成する工数も、意義も、大丈夫な理由も、
前任者がすべて書類に示してくれるから。
でもそれらは本来、自分自身が血反吐吐きながら検証を積み重ね、作ったものに対し、有用性があるか何度もテストをして、工数がどんなにかかっても、その過程にプライドや意義を持って、そうした過程を「モノづくり」と呼ぶのだと思います。
仕事ですから、実績を出さなければいけない。
しかしながら実績というのは本来、その人が行ったすべての行動の誇りを、自信をもって華々しく伝えて初めて積まれるものだと思います。
実績のために模倣をするより、自分なりのモノを自信満々に語り、誰にわかってもらえなくても、自分自身がその努力や経過を、認めてあげてほしいのです。
人の模倣を積み重ねても、自分以外の何かができるだけです。
真面目に語って蕁麻疹が出そうですが、例えばこの言葉はどうでしょう。
「○○ってPower Appsでできますか?」
よく考えてみてください、答える側の気持ちを。
例えば私の友人のこんな記事があります。
これを見た後のあなたは、翌日こんなことを聞かれます。
「Power Apps触ったことないんですけど、ボンバーマン作れますか?」
なんて答えますか?
「作れると思うよ!」
って答えますよね。
伝えたいのは、
あなたが今まさに聞いているその言葉も、
「前例はありますか?」
って聞いているのと同じなんです。
だって見たことがあるんですから。
誰かが作ったという過去があるのだから。
そりゃ「作れるんだ…」っていう認識になります。
ものづくりって言うのは日本では「模倣」を示しているような想いすらあるほど、
組織全体で「まだ見ぬ新しい物」をつくることに否定的になっていたりします。
でももっと、根底にある、もっと重要な話。
ものづくりに携わるすべての人たちの話。
創作を楽しむすべての人たちの話。
自分の作ろうとしているものが、「まだ見ぬ未知なもの」だったら、
わくわくしませんか?
可能性が広がりませんか?
初めて電話を作った人は
「遠くにいる恋人といつでも会話がしたい」
そういう思いを持って電話を作ったと私は思います。
そういう思いで「○○ってできますか?」って聞いているのではないのですか?
出来なかったらやらないんですか?
皆ができないと思っていることには挑戦しないんですか?
新進気鋭の若手が「挑戦してみたらできちゃった!」と記事を発行して、
それを見て「出来ないと思ってたのに…嘘つき!!!」って言っちゃうんですか?
「俺も昔やろうとしてた」って斜に構えて大人ぶって、新進気鋭のアーティストが売れてから、「売れる前から知ってたよ!フフン」って、よくわからないベクトル方向の自慢でもしちゃうんですか?
なので私にこんな質問をしてきた方。
せっかく質問してくれて、大変ありがたく思っております。
回答してなかったので、改めて大声で回答しておきます。
「やれば出来るんじゃない?知らんけど!!!!」
メリークリスマス
Power Automate for desktopを使ってPower Appsの限界を実測してみた
ワイ「はいどーも!あきらです。」
ワイ「あ!忘年会に出席したらお客様から、「モバイルバッテリー」をいただきました!」
ワイ「こんなんナンボあってもええですからねぇ」
ワイ「ありがとうございます」
あきらです!
この記事は、Power Automate Advent Calendar 2022 12月23日担当分の記事です。
限界を見せろ!って漫画で言ったらパワーアップしてカッコいいですよね。
でも時代は自動化です。
努力せずとも限界を見たいものです。
省力化して結果が得られるとなんかいいじゃないですか(語彙力
労せず強敵に勝つ、そんな自分でいたいと思います。
自動化の循環モデルみたいな記事を、ヨーロッパの学会資料とかで見たことがありますが、
自動化というのは私たち人間のルールを変えない限り、私たちを苦しめるものだ。
と提言した学者がいます。
これは、「その人がどのような時間に、どのような行動をし、どのような成果をあげたのか」
それを実証する術がなければ、自動化という結果が、「当然」だと愚かな人間は思ってしまう。
そして人間は愚かだ。
みたいな文脈でした。
確かにそうやなぁ、と思いつつフザケタ記事を書こうと思います。
- Power Appsの限界とは
- Power Automate for desktopで世界一くだらないフローを作る
- ~651個(最初の1000回連打、打率65%)
- ~1032個(二回目の1000回連打、打率38%)
- ~1299個(三回目の1000回連打、打率27%)
- ~1521個(四回目の1000回連打、打率22%)
- ~1713個(五回目の1000回連打、打率19%)
- ~1887個(六回目の1000回連打、打率17%)
- ~2047個(七回目の1000回連打、打率16%)
- ~2191個(八回目の1000回連打、打率14%)
- ~2320個(九回目の1000回連打、打率13%)
- ~2445個(十回目の1000回連打、打率13%)
- ~2561個(十一回目の1000回連打、打率12%)
- ~2672個(十二回目の1000回連打、打率11%)
- ~2819個(十三回目の1000回連打、打率14%)
- ~3851個
- 5時間の結果
Power Appsの限界とは
下記のDocsに「コントロール数の制限」という記事があります。
ここでいう制限というのは、あくまで「パフォーマンスが低いときのチェックボーダー」のことですので、実際は500以上のコントロールを載せることは可能なんですね。
「500以上コントロール載せるアプリってなんやねん」と異常者は言うでしょう。
しかしながらワタシのような常識人は、そんな方のためにも受け皿となってあげたい…
そんな博愛心を基に、限界を調べてみました。
※結果が出るとはいってない
Power Automate for desktopで世界一くだらないフローを作る
こんなフロー作って試してみました。
詳細は省きますが、なんのこっちゃない連打ロボです。

これでPower AppsのUIのオーサリングメニューの大人気!「テキストラベル」を連打するだけです。
お手軽なので冬休みの実験でやってみてね!
~651個(最初の1000回連打、打率65%)
とりあえずサクッと500個超えてみようかなーと思い、1000回回してみました。
そうすると途中で「お待ちください画面」になりその間もクリックし続けているので、651という数字になったわけですね。
開いてみたら10秒くらいで開けました
まだ許容範囲ですね

↓10秒

なんて素敵なアプリなんでしょう。
開くと滑り台が現れます。
~1032個(二回目の1000回連打、打率38%)

はい、軽く1000超えてみました。
950くらいからコントロール追加してから、しばらくloadingGifが表示されるようになり、体感3秒くらいかかるようになりました。
相変わらず素敵な滑り台アプリが開いてくれました。
~1299個(三回目の1000回連打、打率27%)

次に1000回打ったら、なんとコントロール追加実行できた回数が267回と、打率が3割を下回ってきました。
やっと検証の限界が見えてきそうですね…
ちなみにアプリを開くのはそんなに時間は変わりません。
~1521個(四回目の1000回連打、打率22%)

はい、打率20%くらいになってきました。
この辺から「え?これ、永遠に追加できるんだったらワイ寝れないじゃん」ってなってきました。
自由研究ってエグイですね。
~1713個(五回目の1000回連打、打率19%)

打率が収束してきました、19%。
この辺から保存も公開も重くなってきました。
~1887個(六回目の1000回連打、打率17%)

眠くなってきました
~2047個(七回目の1000回連打、打率16%)

めんどくさくなってきました
~2191個(八回目の1000回連打、打率14%)

なぜ世界から戦争はなくならないんでしょうか…
~2320個(九回目の1000回連打、打率13%)

つけて味噌かけて味噌のCMの子供たちって今何歳なんだろうな
~2445個(十回目の1000回連打、打率13%)

ピッコマで漫画三冊読んじゃったよ
~2561個(十一回目の1000回連打、打率12%)

この検証ってPC封じられるからコスパ悪い
~2672個(十二回目の1000回連打、打率11%)

ゲームでもやるか…
~2819個(十三回目の1000回連打、打率14%)

うん、順調にできすぎてて、結果が遠い気がするので、
10000回くらい叩いてみましょうか
~3851個

5時間の結果
きりがない気がするので、今回はこの辺で検証を終わろうかと思います。
今回5時間くらいの検証で追加できたコントロールの数は
3851個でした
たぶんもっといける。
10000まではいきたかったなぁ(なんの目標)
検証方法というか、PADのやりかたを変えてみるともっと指数関数的にテストできるかもしれないですね
Ctrl+A→Ctrl+C→Ctrl+Vみたいな感じならば乗数で検証できるから、
20回やれば余裕で10000超えますね
このお待ちくださいタイムを何回見たことか…

挑戦者求!!!
業務日報サボってる人を毎日教えて!って言われたからPowerでサボった話
ポジション!ボール拾い!あきらです!よろしくおねがいしゃす!
ハイキューってホントにいいよね。
ワールドカップ見てても、映画スラムダンク見てても、なんか泣けてしまう。
青春時代に戻って何も考えずにスポーツしたい…
さて今回もサボったシリーズです。
シリーズ化するのはどうかと思うこのシリーズ、
皆さま盛大に笑っていただき、笑い納めていただければと思います。
技術ブログで笑い納め、一興ですね。
さてまたまた×n この記事は、Power Automate Advent Calendar 2022 12月21日担当分の記事です。
書きすぎて世界観をぶっ壊してないか心配する真人間です。
日報ってめんどくさいよね!
毎日書いてると「どうしよう!今日働いてない!生きててごめんなさい!」ってときあるよね?
そんなときはコチラ。
追 撃
そんなあなたの愚行をシャッチョに報告しちゃうぞ
しかも自動化しちゃうから逃げられないぞ
なぜそんなものを作った…
日報って辛いですよね
毎日書くほど仕事ないよ!って人結構いるんですよ。
総務部とか経理部って結構単純作業の連続なわけで、つらいつらい。
営業じゃないんだからねえ…
そんな中その気持ちをサッパリわからない某社シャッチョから悩み相談…
シャッチョ「日報書いてない人が多くて困ってるんだよね、毎日報告してくれない?」
ワイ(いやいや毎日書くのしんどい気持ちもわかるし、ちゃんとその気持ちを代弁しなきゃ…!)
ワタシは即答しました
「それはけしからんですね!毎日通知しますよ!」
というわけで作ることになりました。
でもですよ、毎日全員の日報見て「こいつ日報書いてないでっせシャッチョ!(コネコネ)」
ってメンドクサイじゃないですか。
例えるならば、「毎日同じことしてる経理とか日報も書くことがなくなる」みたいな文脈のほうが分かりやすいですかね?
そんな感じでメンドクサイので自動化しましたよって話です。
見る人が見たら感動の物語です。
前提(日報の仕組み)
某社では日報の仕組みはこんな感じで作成しています。

この辺はまぁ慣れた人なら簡単に作れると思います。
是非、作成はちゃっちゃと終わらせて、UIとかこだわって仕事してるふりをしましょう!
このAutomateの機能の中に自動で日報書いてない人を通知しちゃおう!ってのを追加していきます。
ざっくり作り方
ユーザーはOffice365ユーザーコネクタでサクッと取ってきましょうか。
トリガーは面倒なので毎日にしておきます。
この辺テキトーにすんなよって言われそうですが、例えば稼働日!って言われても、職種によって稼働日なんて違うし、そこが休日であっても休日出勤はどうすんの?有休とってる?とか要件たっぷり考えるくらいなら、おとなしく通知して社長に「仕様です」って言ったほうがいいと思います。
もしこの辺やりたいなら勤怠情報引っ張ってくる仕組みが必要ですので、やりたければどうぞ。私は無駄だと思う。つまるところ最終的にヒューマンエラーで終わると思います。
勤怠管理がクラウド化してきても、というか、してきたからこそ、「打刻漏れ」は結構起こりますから。
それ全部後打ちでも対応するとかは、要件考えるだけで狂気の沙汰です。
ってことで、トリガーはあとで変えるとして、とりあえず手動にします。
テストしやすいんでね。


ざっくりこんな感じで取って
最後に社長にTeamsで放る
以上!
なんだかんだ30分くらいかかったかな
反省点
シャッチョを日報書く人リストから抜くの忘れてたせいで、
Teams「シャッチョ!こいつ書いてないっすよ!!○○○○←社長の名前」
っていうのが毎日送られてたらしい…
ワタシは得意の妄想の世界に逃げ込むことで事なきを得た
じゃなくて
普段冗談ばっかり言ってるから事なきを得た…
人柄って大事
おもったこと
意外と差分抽出って要望あるんですよね
contains関数使って含まれていない!でフィルタかけて抽出ってのがワタシは結構使いやすいけど、
慣れな気がします。
人によってはApply to each使ってコネコネ条件使ってるのを見たことありますし、
まぁ別に動けばなんでもいいじゃん!ってスタンスですのでAPI実行数のみお気をつけください。
最後に
社員にチャットでフルボッコにされましたとさ
「書いてないのがバレたじゃないか!」って言われてもね…
いや書けよ
真面目なこと言っちゃうシリーズですが、
日報って「社長が社員全員の動向を把握する」という結構重要なツールなんですよ。
これね
「もっと自由に仕事がしたい!監視されたくない!信用してよ!」
とかほざいちゃう若者とか見ますけどね。
逆の立場なってみなよ。
代表でありながら最初1人でやってても手が回らなくて、誰か作業者を雇う
ってのが社員第一号を雇う動機だったりするのよね
じゃあそんな雇った人が「報告はしない!自分のやりたいことをやる!」って言ったらどうなるんや
じゃあ1人で起業からやれよってなるやん
なんで雇われ選んだ?ってなるやん
いや1対1だったら口頭でもええよ
じゃあ5人だったら?10人だったら?
自分はどうするのが適切だと思うんだ?
対案無しの独り言を汲み取る優しさを持て!とでも言うのか?
「社長が社員の気持ちをわかってくれない」ってTwitterで呟くのか?
日本人はフィードバックが少ない、陰口が多い、そういう印象がありますが、
言葉にしなきゃキモチは伝わらんし、聞こえない意見に改善はなされませんよそりゃ。
よく「Teams使えねー!」って遺憾をSNSで呟いてる人も見ますが、
なんでフィードバックせんの?
なんでTwitterとかで「Microsoftの人にぃー…届けっ☆」ってやってんの?
ワタシみたいなコミュ力極振りコンサルが儲かってちゃダメですよ。
言葉にして、それでもダメなら言葉を変えて、それでもダメなら資料にして、それでもダメなら陳述書でも書きましょう。
コンサルなんていらんほどの、社長の話相手にあなたがなればいいんよ
大体この後に続く言い訳は知ってます。
「そんなに給料もらってないし」
「なんで私がそんなことしなきゃいけないの?」
でしょうよ。
会社のために働くことで給料がもらえるんやで。
それを雇われの皆さんにとっての「仕事」っていうんやで。
会社のために働きかけて、それでも認めてもらえず、もうこれ以上どうしようもない
そのくらいしてから新天地でも探せばいいと思います。
もうこれ以上どうしようもないほど、あなたは行動しましたか?
そこまでしたなら私が抱きしめて愚痴を聞きながら酒おごるわ
まぁ1日500円払ったら、日報書いたことにしてやらんでもないけどな!
カテキョでPowerをフル活用してサボってTwitter!(中学三年数学のランダムテスト生成アプリを作ってみた)
君が好きだと叫びたいあきらです。
この記事は、Power Apps Advent Calendar 2022 12月19日担当分の記事です。
AutomateもBIもありますので見てね!
みなさん、因数分解してますか?
若しくは中学三年生時に、「こんなもん大人になったらカケラも使わないぜ!」って斜に構えて、反抗期真っ最中である自分をカッコいいと勘違いして、大人に反抗して、普段やらないような、今思い出すと「あああああああああああああああ」ってなるような思い出を噛みしめて、今更「大人になったなぁ俺…」って言いながら空の星を眺めて、ベランダでタバコでも吸って、黄昏ていませんか?何歳まで中二病やるつもりですか?
この絶望的な二択問題からブログを書き起こす今日この頃。
主題にある通り、因数分解を永久にできる問題パターンを生成してみました。
そもそも因数分解って
因数分解フリークなワタシたちには、関係ないかもしれませんが、
因数分解とは、「数式を乗法因子に分解する」ことです。
何言ってるかわからないですよね。
乗法因子ってのは、掛け算の積から〇×△って状態に戻す、ということです。
簡単なところでいうと、15という数字は3×5という風に因数の積に分解されて、
これは複素数や実数の体系ならば、0を除くすべての数において、分解が可能となります。
有名な4公式とかありましたね。
こんなやつです。

今回は上記の公式を使った問題を反射的に解く、数の新陳代謝を上げるアプリを作ってみました。
意外と生徒に評判がいいので、教師冥利につきますわ。
出題範囲
イデアル一意分解性質のデデキント整域におけるデデキント代数的整数論の一意性の話とかはしないですよ。
単純な因数分解式の話です。
もっと言えばかなり単純なものです。
大人なら数秒で解けるレベルだと思ってくださいませ。
このレベルです。
初級編①レベルですね、はい。
このレベルも解けない人は数学やりなおしましょう。
大学まで数学やってたレベルの人間から見ると、児戯ですね、はい。
因数分解の解き方
中学3年生にワタシが教える因数分解の仕方を解説します。
まずは例題を考えてみましょう。
![]()
今回はこのx²+bx+cのカタチの因数分解を対象とします。
ゴールはこちらです。このように因数×因数のカタチにできればコレが解答となります。
![]()
因数分解の解き方はまず2つの箇所に注目します。
![]()
次にまず青枠が「何×何の積か」を考えます。
恐らく何パターンか出てくると思います。
整数だけを考えるのならば、
①1 × -14
②2 × -7
③7 × -2
④14 × -1
の4パターン思いつくと考えられます。
このうち各ペアの和を考えてみましょう。
①-13
②-5
③5
④13
となります。
これが先ほどの赤枠部分と合致している項目のペアが答えのペアになります。
![]()
つまり答えのペアは③の7とー2となります。
そして答えの書き方は(x+答えのペアのいずれか)×(x+答えのペアの残り)
となりますので、この答えは
![]()
となります。
結構大事なことですが、きちんと展開して元の数式に戻るか試すことを勧めます。
子供のことからうっかりミスしてると大人になってから、ヒューマンエラーっていう英熟語になって襲ってくるぞ!きをつけろ!
Power Appsでの問題のざっくり作り方
ほんとにざっくりです。
Pointは「答えから考える」という事です。
結構この考え方は大事で、例えばパズルゲームを作ろうとなるときも同じで、
どうあがいても解けっこないパズルを作ってはいけない、というルールを持っておかないと、どれだけlogicを細かくしても、絶対に完成はしないものです。
それはClearの状態から考えることで、大体回避できますので、まずは完成形を思い浮かべるとよいです。
では今回の場合どう考えるか、順を追って作成してみましょう。
まず答えになる組を生成する
上の例題でいうー5と7のペアみたいなもんですね。
ボタンを配置します。

RandBetween関数とSequence関数、AddColumns関数でも使って20ペア、景気よく作っちゃいましょうかね。
なんでこうやって作ったかというと、Sequenceが最近楽しいからです。
ClearCollect(
colFactorization,
AddColumns(
Sequence(
20,
1
),
"factor1",
RandBetween(
-10,
10
),
"factor2",
RandBetween(
-10,
10
)
)
)
これでまぁ簡単に言うと、
| Value | factor1 | factor2 |
| 1 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 2 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 3 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 4 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 5 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 6 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 7 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 8 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 9 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 10 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 11 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 12 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 13 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 14 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 15 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 16 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 17 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 18 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 19 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
| 20 | -10から10までのランダムな整数 | -10から10までのランダムな整数 |
みたいな表を作成してくれます。
Galleryでも作って確認してみましょう。

こんな感じで数字のペアを各種20ペア作ってくれますので、
これをコネコネGalleryのテンプレートの中で触っていきます。
答えのペアから問題を生成する
勘がよければもうブログ見なくてもできますよね。
構造をお話すると以下の画像のような形になります。
因数分解第一法則

なので、答えから問題を作成するには、
(a+b)とabがあればいいですね
Galleryの中にlabelを作成して、次のように記述しましょう。
With(
{
Formula1: ThisItem.factor1 + ThisItem.factor2,
Formula2: ThisItem.factor1 * ThisItem.factor2
},
//長そうな式を格納
"x²" & If(
Formula1 > 0,
"+" & Formula1 & "x",
Formula1 = 0,
"",
Formula1 & "x"
) &
//(a+b)の値が0ならば省略、プラスになる場合は+記号を接頭につける、最後にxを付ける
If(
Formula2 >= 0,
"+" & Formula2,
Formula2
)
//(a*b)の値が0以上ならば+記号を接頭に付ける
)
これで問題が作成できます。
まぁどちらかが0の場合は積が0になるのでサービス問題化しますが、これはこれでいいでしょう。
こんな感じ

解答の作成
最初に解答のペアは作りましたが、
これは因数分解自体の回答ではないので、解答を作成していきます。
labelを追加して下のように書いてみましょう。
If(
ThisItem.factor1 = ThisItem.factor2,
"(x" & If(
ThisItem.factor1 > 0,
"+" & ThisItem.factor1,
ThisItem.factor1
) & ")²",
"(x" & If(
ThisItem.factor1 > 0,
"+" & ThisItem.factor1,
ThisItem.factor1
) & ")(x" & If(
ThisItem.factor2 > 0,
"+" & ThisItem.factor2,
ThisItem.factor2
) & ")"
)
//解答ペアが同じ数字でかつ解答1が0より大きいならば+を接頭に追加して、")²"を付ける
//解答ペアが違う数字でかつ解答1、解答2が0より大きければ接頭に+を付けるて()を並べる
ったく…うるさいなぁ
コードが汚いって言いたいんだろ?
今深夜2時なんだよ
書きながら整理して動けばそれでいいじゃないか
はい、結果を見てみましょう。

上側に配置したラベルが問題で、下側に配置したものが解答です。
こんな感じで問題と答えができました。
あとはコレを例えば隠したいものはHideにして、変数でも突っ込んで、「答え合わせボタン」でも突っ込んであげればオッケーですね。
解答欄テキストボックス作って、テキストが合致したら正解マークでも出現すれば、さらにそれっぽいですね。
色々作ってみてください。
最後に
どうでしょうか、アッパーなテンションのシチュエーションでしょ?
結構簡単にこんな感じの問題は生成できちゃうので、
先生方の悩みの一つである
「問題集の問題が品切れだ!え?何?自分で作るの?嫌あああああああああああ!!」
ってのは解決しますね。
ワタシは大体iPadでこういうアプリ作って、演習時間は只管これやらせて、
ワタシはスマホでTwitterしてます。
そして時給をもらって帰る…
大丈夫ですよ!ちゃんと「こんなんで金もらっていいのかなぁ…」って思いながら受け取ってますから!
真人間ですから!
結構応用が利きますので、加減乗除問題とか、頑張れば平方根問題とか作れます。
ここまで読んだあなたに1つ課題を出したいと思います。
RandBetweenを
(-100,100)にしてみてください。
そしてクリスマスまでに20問解いてみましょう…
がんば☆

Power Automate×Teamsでオンボーディングをサボった話
あんまり見つめられると照れちゃう。
そんなシャイな私のこの気持ち、届いていますか?
あきらこと、表田陽です。
もうこのネタ知ってる人も少なくなってきましたね。
秦佐和子ちゃん大好きなあきらです。
この記事は、Power Automate Advent Calendar 2022 12月18日(Calendar3)担当分の記事です。
ちょっと足がね
いたくてね…
というわけで昔々、ワタシがMVPなんて呼ばれてなかったカスだったころ、Office365UserGroupで登壇させていただきまして、
「Teamsで教育丸投げメソッド」というのを紹介しつつ、いつも通りテキトーに笑いを取ることに向かって全力で走り去ったというお話がありましてね。
それが現在どうなってるか、というお話でもしたいと思います。
- Teamsで教育丸投げメソッドとは
- 廃止されたアイデア1「素敵だと思う女子社員に話しかけよう!」
- 廃止されたアイデア2「社長の名前クイズ」
- 追加要素1「社員の顔クイズ」(入社1か月未満)
- 追加要素2「駐車場決めワークショップ」(研修終わるまでの)
- 割と丸投げできたし、自立も促せた
Teamsで教育丸投げメソッドとは
まぁ多くは語りませんね。
クソだったころのクソ資料です。
見たらわかります。
なんて楽しそうに業務ハックしているんだこいつは、と
そう思うあなたが正解です。
廃止されたアイデア1「素敵だと思う女子社員に話しかけよう!」
ワタシは今となっては皆さん知っての通りの聖人君子ですが、当時すこぶる性格が悪く、社内でワタシがほくそ笑みながらキーボードを叩いていたら、「何企んでるの?」って上司から聞かれていました。
ただ真面目にPairsしてただけなんですけどね。失礼しちゃう。
そんな素敵な性格のワタシが、このオンボーディングシステムの中にいくつか罠を仕掛けていました。
簡単にシステムの紹介をすると、軸がいくつかありまして、
- RPGのように通常業務を覚えさせる
- 話しかけやすいような雰囲気を出すミッションを定期的に出す
- 研修セクションの終わりに確認テストを出す
そんなことを軸に作っていました。
「話しかけやすいような雰囲気を出す」というのがキモですね

はい、めっちゃ怒られました。
いやこの仕組み面白かったんですけどね。
珈琲のみたいです!って話したことのない、しかも女性社員に話しかけるチャンスを与える…なんてワタシは優しい先輩なんだ…
しかも選ばれたお局様とかすげぇ天使みたいな表情で極上の珈琲いれてくれてたし!
ちょっとお茶目だったなぁと反省はしていますが、
新人が来るたびにオメカシしていた女性陣の顔を私は忘れません。
なんで怒られたかって?
裏で集計取ってたからですよね
学校で付き合いたい人ランキングを放課後男子だけ集まってとってるあれじゃん。
可愛いもんじゃないか!
そんなボロクソ言わなくてもいいじゃないか(´;ω;`)
正座させられたのはいい思い出です。
廃止されたアイデア2「社長の名前クイズ」
はいこちらも登壇の際は皆さん爆笑してましたね。
研修中に、その研修セクションに合わせて、確認のアダプティブカードが届くようにフローを構築していたんですが、

ただ答えさせるだけじゃつまんねぇな、と思ったわけです。
簡単に言うと、社長の話が長くなってきたくらいの時間にですね。
社長に休憩をはさんでもらって、休憩中ににこんなアダプティブカードが届くんです。
社長の名前をフルネームで答えよ
当時の社員の方からの声を紹介します
会議室から悲鳴が聞こえた (30台女性)
ひどい、酷すぎる。俺だって書けないのに(40代男性)
社長の名前、なんだっけ?(20代男性)
必死にHP探して社長の名前検索してる新人の顔オモシレーwww(ワイ)
当時の新人さんは二度と社長の名前を忘れないでしょう。
これも面白かったのに廃止になりました。
理由はですね。
ワタシがふざけすぎたんですね。
最初に自己紹介した社長が休憩宣言した後に、上記のクイズが流れてきて、絶望した新人さん達の行動は、「自社ウェブサイトの社長の自己紹介を見に行く」だったんですが、
先回りして社長の名前を変更していたり、
自社ウェブサイトをブラックリストに入れてアクセスできなくしていたり、
そんなことしていたらマジで誰一人社長の名前答えられなくて、社長が悲しくなって廃止になりましたとさ
面白かったのになぁ
追加要素1「社員の顔クイズ」(入社1か月未満)
ここからは追加要素ですね。
社員の顔写真と名前でAzure登録されている組織だったので、
このテーブルを使って、毎日出社時間に、
こんなアダプティブカードが届きます。

意外とこれは好評で、新入社員が強制的に名前を覚える機会になり、勘違いも減るそうです。
そんなに面白くないのになぁ。
追加要素2「駐車場決めワークショップ」(研修終わるまでの)
これも当たりでした。
人が入るときにいろいろ要件が多いんですよねこの会社。
駐車場も足りない足りない言って走り回って、契約が決まったら決まったで、
今度は
「ちょっと新人の女の子の〇〇さん、第二駐車場だと夜帰るときに夜道歩くことにならない!?」
「ワタシを第二駐車場まで歩かせるっていうの!?」
「ハイエースココ止めると二回切り返さなきゃいけないじゃん!」
みたいなナカナカに面倒くさい問題なども、よく生まれていました。
このよくわからないMTGを、すべて新人に放ってしまおう、という施策でございます。
こちらの共通目標に対して、ほとんど会ったことのない先輩社員にヒアリングを重ねて、ちゃんと全員が納得するような、新駐車場配置を決めるという、そんな初めてのタスクをこなす仕組みになっております。
狙いとしては、
・議事録をとる(OneNoteの使い方を覚える)
・自分のタスクを把握する(Plannerの使い方を覚える)
・先輩たちにヒアリングする(先輩たちとのコミュニケーション)
・自分たちで考え、納得させる提案を作る(企画立案)
・プレゼンテーション(発表、資料作成、パワポの使い方を覚える)
ヒアリング内容も自分たちで決めてFormsを作成してもらうため、
「今、どんな車種を乗っているか」
「男か女か」
「足に持病があるか」
「役職は何か」
中には「あなたは怒ると怖いですか?」
という奇想天外なアンケを作った班もいたほどですwww
結構気にしますよね。
例えば部長に一番遠い駐車場あてがうわけにいかないとか
ワンボックス乗ってる人が隅っこの止めずらいところにしていいのかとか
いろいろ考えると思います。
ちなみにこんなアプリを作って考えてもらいました。

最終的に「提出」というボタンを押すと、Power Automateでそれぞれに新配置が送られ、異議がある方はそれ用のアプリで「異議あり!」と返ってきますw
一番特等席を20代の新人君にした本人は、全員から異議を食らっていました。
割と丸投げできたし、自立も促せた
はい、結構自立していただけるし、
会社の重要な任務を承ることで、ある程度の責任感を持つことができていると思います。
こういうゲームみたいなオンボーディング、みなさんもやってみませんか?
(なぜか怒られるので、調子に乗りすぎないようにね・・・)
Power Appsキャンバスアプリでよく作るパーツセットの作り方
スラムダンクの主題歌ランキング1位は「煌めく瞬間に捕われて」です。
MANISHさん今何してんだろう。
あきらです。
この記事は、Power Apps Advent Calendar 2022 12月18日(Calendar1)担当分の記事です
本日は(も)Power Apps Advent Calendarの記事となります。
AutomateもBIもありますので見てね!
本日はノリで始めた「学習アプリ作成会」がオールアップしましたので、そちらのお話。
意外と好評だった「え?そんな作り方あるの?」ってものがちょいちょいあったので、そちらを紹介していきます。
Galleryを使用したナビゲートメニュー
はい、こちらはですね
以前私が紹介してるんですよ?
やはりあまり読まれていないのだろうこのブログ
Power会のコーヒーブレイクと言えばこのブログ!って紹介している甲斐がありますね。
こちらでコンポーネント化まで説明しております。
ちなみに動画がいい!って人はこちらからどうぞ!
だからこっちでは説明しない!ってのは不親切かもしれないので、サクッとやり方を載せておきましょうか。
Galleryコントロールの作成
オーサリングメニュー挿入→レイアウト内にある「空の垂直Gallery」を選択します。
右のような画面ができればOKです。追加したGalleryコントロール名は「galMenu」とします。

Galleryには「Table」という形式のデータを入れることで項目を定義できます。
Tableについて勉強してみましょう。
Excelなどで表となっているデータは「配列」という特殊な構造となっています。
配列というのは、「同じ構造のものをn個並べる」という構造のことを言います。
例えば、次のようなExcelを見てみたとき、
key=1のものとkey=2の列の構造は「key」,「name」,「color」の三種類の同じ構造だと言えます。
|
key |
name |
color |
|
1 |
バナナ |
黄色 |
|
2 |
リンゴ |
赤 |
|
3 |
桃 |
ピンク |
|
4 |
イチゴ |
赤 |
違うのは中に入っている値となるため、日本語で並べるならば、
「keyが1のものはnameがバナナで、colorが黄色です」
という文言になります。ではkeyが2~7のものも同じように日本語で伝えようとするならば、
「keyが2のものはnameがリンゴで、colorが赤です」
「keyが3のものはnameが桃で、colorがピンクです」
「keyが4のものはnameがイチゴで、colorが赤です」
このように同じ文言を使用して表現することができます。
この「同じ文言で定義できるが値がkey値によって変動する連続性のある構造」を配列といいます。
ではPower Appsで配列を定義してみましょう。
Galleryのitemには配列しか入れることが出来ないため、こちらで試してみましょう。
配列を扱うときはブラケットと呼ばれる『 [ ] 』で配列全体を、カーリーブラケット『 {} 』で行全体を表します。
先ほどのフルーツの配列を先ほど配置したGalleryに入れてみましょう。
GalleryのItemsプロパティに以下のように記述してみます。

では入った配列を確認してみましょう。
galMenuのテンプレート内にボタンコントロール(btnMenu)とアイコンコントロール(icoMenu)を挿入してみましょう。
Galleryのテンプレートはツリービューから選択することが出来ませんので、Gallery選択時に左上に表示されている
鉛筆マークをクリックすると選択できます。

さきほど指定したtableのアイテムが二つなので、ボタンもアイコンも二つしか出てこない、ということです。
ではGalleryのプロパティを変更しましょう。
Galleryを選択し、プロパティペインから「折り返しの数」を「2」に変更します。
ボタンが並列に並べばOKです。


では先ほど作成したbtnMenuのテキストを変更して配列のnameと紐づけてみましょう。
btnMenuのプロパティペインから「テキスト」と書かれている箇所をクリックしてください。

すると画面上側「関数バー」の値が「Text=」に変化しますので以下の文章を右側に記入します。
ThisItem.Value.name
以下のように表示が変わります。

このように配列さえ指定しておけば同じ形のコントロールを何個も生成しなくとも等間隔に並べてくれます。
では配列の値を変更し、表示を編集してみてください。
そうするとアイコン種別やNavigateする移動先なども配列で指定することが可能なことが分かります。
いろいろ作成してみましょう。

カレンダービューの構造解説
はい、Calendarビューですね
こちらはあれです。
テンプレートの中に入ってるやつですね。
まずはベースとなるGalleryを作成していきます。
ただ、その前に若干要件が多くなるため、仮で別画面を作成しておきましょう。
左上の「新しい画面」から新しい空のページを作成していきます。

仮に「CalendarScreen」としておきましょう。
新しく作成した「CalendarScreen」にオーサリングメニューから「空の垂直Gallery」を挿入します。

こちらを以下のプロパティで設定します。
|
名前 |
galCalendar |
|
罫線 |
1 |
|
テンプレートのパティング |
0 |
|
テンプレートのサイズ |
Self.Height/6 |
|
幅 |
700 |
|
高さ |
600 |
Itemsプロパティを定義していきます。
以下のように1~35までの数字のテーブルを用意しておきましょう。
Items=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]
そのうえで「折り返しの数」プロパティで「7」と設定を変更しましょう。
ここまで出来たら、Templateを選択し、ラベルコントロールを挿入、プロパティを以下のように設定してみましょう。
|
名前 |
lblCalendarNum |
|
テキスト |
ThisItem.Value |
|
罫線 |
1 |
|
垂直方向の配置 |
上 |
|
幅 |
Parent.Width/7 |
|
高さ |
Parent.TemplateHeight |
以下のようになればOKです。
Calendarっぽい画面が出来上がりました。

では日付にかかわる関数とともにcalendarを学習してみましょう。
今の日付を取得するためにはToday関数というものを使います。
LabelをGalleryの外側に挿入してみましょう。

こちらに今日の日付を入れてみます。
配置したラベルのテキストプロパティに以下の関数を記述します。
Text=Today()
これで本日の日付が取得できました。

次に月初日を取得してみましょう。
月初つまり今月の1日を取得するためには、以下の操作で取得できることがわかります。
月初日=現在の日付―現在の日付の日数+1
現在の日付の「日」だけを取得するには「Day関数」というものを使います。
例:Day(”2022/07/09”)=9
また日付の加減にはDateAdd関数というものを使います。
例:DateAdd(”2022/08/09”,-1)=2022/08/08
こちらを踏まえて、月初日を別のラベルに作成してみましょう。
Labelを配置してテキストプロパティに以下の関数を記述します。
DateAdd(Today(),-Day(Today())+1)
これで月初日が取得できました。

次に作成した日付の週番号というものを考えて見ましょう。
週番号というのは日曜日始まりで、日→1,月→2…土→7と曜日によって付けられる番号のことを言います。
今回作成した2022/09/01は木曜日なので、週番号は「5」となるわけです。
週番号の取得には「WeekDay関数」というものを使用します。
例:WeekDay(“日付データ”)で週番号を返す
ではラベルをもう一つ作成し、この週番号を返してみましょう。
追加したラベルのテキストプロパティに以下の数式を記述します。
Text=Weekday(DateAdd(Today(),-Day(Today())+1))
以下の表示になれば成功です(2022/09/01で作成しています)

最後に作成したWeekDayのラベルをgalCalendarのTemplateに追加してみましょう。
名前を「lblWeekday」とします。
右上に置くと以下のようになります。

ではもう一つラベルを足して、表示されている二つのラベルの値を引き算してみましょう。

すると、月初日の位置が0となる公差1の等差数列が出来上がるのが確認できます。

あとはこの値に、月初の日付を足してあげればcalendarの完成です。
Label名は「lblCalendarValue」とします。
Text=DateAdd(Today(),-Day(Today())+1+lblCalendarNum-lblWeekday)

Day関数を使い「日」だけを表示します。
プロパティを以下のように設定しましょう。
|
名前 |
lblCalendarValue |
|
テキスト |
Day(DateAdd(Today(),-Day(Today())+1+lblCalendarNum-lblWeekday)) |
|
罫線 |
1 |
|
垂直方向の配置 |
中央 |
|
テキストのアライメント |
中央揃え |
|
幅 |
Parent.Width/7 |
|
高さ |
Parent.TemplateHeight |
|
フォントサイズ |
10 |
|
Fill |
White |
以下のようになればOKです。

今回はTodayで作成していますが、これを変数にしてあげれば、毎月のcalendarを作成することができますね。
ちなみにaddcolumnとsequenceを使用すると一瞬で作れますので、そちらでと試してみてくださいね✨
動画で見たい方は以下からどうぞ。
参考になってもならなくても高評価、チャンネル登録、コメントやお気に入りにして置いて頂ければ幸い&光栄です。
終わりに
やってることは実は、数学的な考え方もちょっといるんですが、
コードが長いので難しく見えるだけです。
パーツとして保存しておけば、コンポーネント化も簡単ですね。
頑張って作成してみましょう。
講習作成してたテナントだけUIが急に変わったビックリ小噺
これからお休みになる方も、そしてお目覚めの方も、時刻は0時になりました。
12月5日月曜日、はなくそブログのお時間です。
おとどけするのは、可愛いお姉さんだと思った?
残念でした髭面のおっさんです。
※アップデートの内容なので2022/12/04時点の内容となりますのでご注意
※また当テナントにたまたま来てたアプデなので、皆さまのテナントでは適用されていない可能性もありますのでご注意
というわけで今回はこちらの企画の記事になります。
この記事は、Power Automate Advent Calendar 2022 12月5日(Calendar3)担当分の記事です。
ちなみにAppsのcalendarも若干空きがありますので、何かネタがあるかたはサンタクロースになっちゃってください。
私は本来のサンタの役目である、「子供のプレゼントを考える」的なことが物理的にできないため、残念ながらヒマなので、たくさんの記事を書く予定です。
8本書くらしいよ!馬鹿じゃねえの?半年くらいblog書いてないのにねHAHAHA…
(なんで8本も…)
まぁ幹事だしね!
BIもあるのでYou書いちゃいなよ!ってことで載せておきます。
いつのはなし
ある夜、ワインを飲みながらガウンに身を包んでいたとき、気ままに、そう気ままにこちらのイベントに参加していました。
アフタートークでサクッと小話に花を咲かせて、Power Automate講習作成をしているキーボードからは小気味よいタッチ音が、ブラームスのような旋律を奏でていました。
そして0時を回ったころ…
急にUIが変わった…orz
講習作り直しじゃねぇか…
ってことで開き直ってUIの様相をちょうどアドカレの時期なのでお知らせします。
ちなみに対象は https://make.powerautomate.com/ の画面です。
ホーム画面、全体
ホーム画面から見ていきましょう

なんか色々変わっているように見えるのは、TOPの画像のせいですね。
いうほど変わっていません。
特筆して変化があるのが2点です。
オシャレなカード
こちらですね。

ちなみに以前のカードがこちら

テンプレもないし、「作成」しかボタンがなくなり、すっきりしました。
あともう1点変化があります。
サイドメニューから「テンプレート」が消え失せています。

あまり私はテンプレを使わないので、気づきにくいですが、変更かかったらかかったで「え?どこからテンプレ使えばいいの?」となりますね。
作成画面
つづいて作成画面です。
ここが割と色々ツッコミが入りそうな画面ですね。
今までと結構差分がでそうですね。
新旧比較で説明していきます。
TOPページからの導線
いままではTOPページから新しいフローを作成しようと思うと、テンプレートしか表示されていなかったものが、新UIでは「作成」ボタンが出来ています。

新UIで作成ボタンを押してみると、次のような画面になります。

これまた見慣れない画面です。
「テンプレから開始」か「独自に構築」の二択。
スケジュール済とかどこ行った?手動トリガーどこ行った?
ってなりますが、後述します。
とりあえずTOP画面から作成までサクッと行けるようになりました。
「作成タブ」からの導線
じゃあいつもの「作成」タブのほうはどうなってるか見てみましょう。
今までは1から開始というブロックの中に、複数ボタンがありました。
下のような形でしたね。

たとえばスケジュール済クラウドフローを作成しようとすると


と、このような手順になりました。
新UIの場合、最初のボタンがない以下のようなUIになっています。

さきほどのTOPページからの導線と違うのは下部のその他の…というメニューがある点でしょうか。
ここでPADやProcess adviserに繋がっていくみたいですね。
とりあえずコチラでもメインは二択です。
テンプレートを使って開始する
テンプレを使いたければ、ここなのかな?
他に導線が見当たらないのでコチラからいってみましょう。

するとテンプレの画面がオシャレになった版がでてきます。
旧UIと比較してみましょう。
フィルターがカード形式になってる。おっしゃれー

独自に構築する
ってことはテンプレ使う場合以外は、「独自に構築する」になるのかな?
ってことで触ってみます。

次にコネクタ選択画面になりました!
ポップアップのあの小さなカードはどこに!?
なんかずっと使ってる人ほどムズムズしそうですね…
Triggerを選択させます。

ちなみに下部にスキップするリンクが存在しているので、
そちらクリックしたらいつものAutomateのメイン作成画面に入れます。

見た感じトリガーの画面は事前選択できる項目が絞られているようです。
コネクタ選択で「手動トリガー」も「日時での繰り返しトリガー」もすべて「コネクタ選んでね?」に統合された感じですね。
私は影響ないですが、最近始めた人は混乱しないかな?
講習作ってる人とかね!!!!!!!(大声)
手動トリガーを選択してみました。
選択したら下側に説明文が出てきて、「次へ」が押せるようになりました。
押してみます。

こうなると次はどうせアクション選んでね画面がくるのかな?と思ったら案の定でした。
- 手順2アクションの選択 って記述
- 上部にトリガーとアクションを合わせたものをフローと呼びます、みたいな説明
- そしてトリガー選択画面と同じようにアクションを選択

とりあえずNotificationsでも選んでおきます

するといつものAutomateの作成画面に移動します。
(名前つける工程なかったな…)

「作成タブ」からの導線
もう一つ導線ありましたよね
マイフローからの導線です。サクッとお伝えしますね。

お、なんかMSさんからメニューを絞っていく圧力を感じますね。
選択肢を多くとり、多様性を考えるのではなく、単純な二択にすることで、迷いを無くすような意思が感じられます。
まとめ
ざっくりいうとこんな感じかと思います。


こう見るとすっきりしたのかな?
なんにせよ今までのUIに慣れている人は苦労しそうな内容ですね。
名前付ける工程が、フロー作成画面行かないと無いのがムズムズしますね。
保存前に注意喚起とかあるといいかな?と思いました。
また今まで講習などを「スケジュール済クラウドフロー」などのボタンから始めていた人は、改訂を行ったほうがいいと思います。
誰の事かって?
私だよ!!!!
みなさんのテナントにくるのを楽しみにお待ちくださいませ。
学校の勉強で使えるアプリを作る会を開いてみた
どーも「ちょっと何言ってるかわからない」の人に声が似てるって言われて、本当に何言ってるかわからないときに、「ちょっと何言ってるかわからない」って言ったら、質問してきた可愛いOLさんが笑いを堪えてて、うっかり好きになりそうでした、
あきらです。
ちなみにワタシが好きな芸人はノンスタイルです。
先日こんなイベントを開催しました。
ワタシ勉強すきなのでね。
学生の時にこんなアプリがあったらよかったなぁ、とか
自身がカテキョとかやってますんで、そのときにこんなアプリ欲しいなぁとか思うわけですね
しかもしかも
教育分野へのアプローチってぶっちゃけ金にならんので、
だったら実績にもなるし、無料でわちゃわちゃ楽しく作っていこう!ってなったわけです。
詳細は下です!
- 主催その① 生徒役 兼 元英語教員のくろさん
- 主催その② 補助役 兼 Power Platform大好きおじさん ようさん
- 主催その③ ファシリ役 兼 先生役 兼 なんちゃってMicrosoft MVPのあきらさん
- イベント参加にあたり用意しておいてほしいデータソース
- 後日YouTubeで編集し、公開予定です
- お客様の声
主催その① 生徒役 兼 元英語教員のくろさん
教員が生徒???ってなるかと思いますが、彼は教員を退職してからビットゼミさんというところで、職業訓練に参加し、そこでPower Appsと出会ったそうです。
ですので初心者からやっと初級者になったかな?というレベルの方ですね。
ある日突然…
ワイ「広島のPower Appsの発表してた人ですよね!?」
くろ「あ、はい…」
ワイ「一緒にイベントやろうずwww」
くろ「え?あ、え?」
ワイ「やろうずwww」
くろ「え、あn」
ワイ「やろうずwwwwww」
くろ「あ、はい…」
という素敵な打合せで一緒に学習アプリ作成会なるものをやることになり、
彼にヒアリングを行った結果、そんなに上級者というほど学べてないことが発覚したので、「ワイが教師でクロさんに教えるってイベントにしよう」となったわけです。
初心者向けのイベントやろうと思ってたので、ちょうどいいですね。
主催その② 補助役 兼 Power Platform大好きおじさん ようさん
ある日
ワイ「やろうずwww」
よう「よくわからんけどいいですよ!」
ワイ「飲み込み早すぎwww」
って感じで一緒にやることになりました。
一応ワタシが先生役でやろうとなると、ずーーーーーーーーっと喋ってなきゃいけないので面倒なんですよね。
ってことで仲良しのようさんに頼んだ次第です。
このイベントで「関数解説おじさん」というあだ名になることを狙っています。
ようさんは副業でYouGearsLaboという事業を行っています。
blogはコチラ(すごい丁寧に書いてあるのでスーパーおすすめです)
Youtubeで自身もイベントやっております。
主催その③ ファシリ役 兼 先生役 兼 なんちゃってMicrosoft MVPのあきらさん
ワタシです。
今年の4月にMVPいただきましたー
皆様のご支援のおかげです。ほんとにありがとうございます。
実はカテキョもやってる人間でして、参考書ヲタクでもありますwww
楽器とか作ってるアホなので、「ワタシ、実はアホがタイプです!好き!!」って人は、是非DMとかコメントとかで罵倒してください。
歓喜の歌声でも披露します。
イベント参加にあたり用意しておいてほしいデータソース
全然難しいDBではありません。
はっきりいってDBですらない(とワタシは思っています)
SharePointのリスト機能で以下のようなものを10レコードくらい作っておいてほしいです。
そうするとスムーズに一緒に手を動かしながら、イベントを楽しめると思います。
●以下のようなリストを作成しておいてください

簡単に手順を紹介すると
①テキトーなSharePointサイトを作成
②ホーム画面「新規」ボタンから「リスト」を選択
③「空白のリスト」を選択
④リスト名を「EnglishQuestion」として「作成ボタン」で作成
⑤出てきたリストで「列の追加」ボタンを選択し「一行テキスト」を選択し、名前を「answer」として「保存」ボタンで保存
⑥Title列に日本語、answer列に英単語で単語帳みたいなリストを10件以上登録
この手順で完成します。
そもそも環境持ってないよ!って方は、ようさんのコチラのブログを参考に作成してみてください!
後日YouTubeで編集し、公開予定です
一応続きもののイベントですので後日公開する予定です。
結構、アンケート結果見る限りアイディアもいろいろ出てきそうなので、
継続募集しております。
「○○作ってほしい!」「イベント内でコレが学びたい!」
みたいな要望がありましたら以下から応募ください。
どしどし要望書いておくってください。
注意点としてはあくまで「学習に使えるアプリ」という括りです。
業務アプリを作ることはありませんので注意です。
その場合は有料講習いたしますので、blogのFormから応募くださいませ。
お客様の声
かなり高評価いただいております。
自分ではわかりませんが、なんか自分は教えるのがうまいらしいぜ!
いやっふー!発狂しちゃうねコリャ
評判知りたければTwitterで#PowerEducationで検索してね☆
一同、励みになりますので感想などどしどし書いたって下さい。
これからも楽しくイベント行うので、頑張ってついてきてください←
学習に困難さを持つ方のための、学習に困難さを持つ方が作るアプリケーション
暑くなってきましたねー、あきらです。
デブって来たから余計にそう感じます。
ITの力でどうにかしてくださいませ。早く痩せさせて!(他力)
身長と髪質だけは瑛太なんです!あとは体脂肪だけなんです!
顔?うるせぇな!仕事しろ!blogなんて読んでんじゃねぇ!
さて、Microsoft Virtual Marathon 2022に出走いたしました。
皆さん驚かれたことでしょう。
「あきらさんがあんな真面目な登壇するなんて!!!」
「普段から低音で何言ってるかわからんけど、更に声ガッサガサやんか!」
「何咳きこんでんだ!なめてんのか!」
「他人の功績発表して賞賛されてんじゃねぇよ!硝酸かけんぞゴラァ」
などなど、素敵なお便りが続々と届いています。
みんな大好きだぜ!
いやワイは隙あらばフザケタイ人間ですけどね。
今回の話では隙がなかった。というポエミーな表現でまとめておきますね。
ポエミーってなんだっけ?
登壇資料です。
登壇内容とイベント詳細
今回の登壇は「様々な現場のPower Platform」というタイトルでお届けしました。
が、見た人は思ったでしょう。
「「「全然、様々じゃねぇ」」」
これは結局Diversityを表現したかったので、様々という表現を使っただけなのです。
わかり難くてすみませんすみませんすみません。
登壇順が決まってからちょっと内容を変えたという経緯もあります。
順番がですね。
- Power座談会
- Dynamics座談会
- ワイ
- 教育系登壇1
- 教育系登壇2
- 教育系登壇3
- 教育系登壇4
ていう順番だったのでね。
なんか教育に繋げるような登壇をしたかったのですよ。
VMって全体でリレーしていくようなスタイルがいいと思ってるのでね。
全体の流れを考えて見てる人にギャップを与えたくないものです。
ですので普段気が利かないカスがなんとなく、ちょっと次の人へのパスを意識したわけです。
お風呂場で髪の毛掃除するときに、集めてポイが張ってあるとうれしいでしょ?
そういうことです(?)
今回のイベントはcompassページでまとめて下さっておりました。
まとめた方はMicrosoft MVPの太田さんが頑張ってくれてました。
仕事はええよ…レジェンドども…ワイが喉痛くて寝てる間にコンテンツが瞬く間にできていく。
compassページ
Marathonページ
そしてモデレーターの方々や何といっても日本チームのリーダーの愛さん!
すげぇよ、もう頭あがんねぇよ。
過去の本全部持ってます(たぶん)
SharePointで迷ったときは大体はあなたに頼っています。尊敬します!
そしてなんだかんだあなたの声が好きです///(告白)
平野様の会社でございます。↓↓↓
講習が丁寧です!
今回の経緯
もともとは「おっ今年もやるんかー!よっしゃーどのセッション見ようかなー」っていう自宅で一人でパーティーピーポーする予定だったんですけど、
あるイベントで「初参加でもいいですよ!どんどんみんなでバトンつないでいきましょう!」みたいな一言に奮起した方が数名いらっしゃいましてね。
なんならワイMVPとったばかりだし、なんか出走しなきゃいけないんじゃね?っていう普遍的な強迫観念に迫られたわけです。
前々日くらいにガンプラお兄さんとパンダさんとお〇じゃさんといっしょ!っていうイベントのテナントでごにょごにょ話していて、
「ワイら何で出走するなんて言っちゃったんだろう・・・」というトークをしてたわけです。
以下その時の会話
ワイ「資料準備どうですか?ワイは安定の0%!」
ガンプラ「もうこの話やめよ!!!もういい!!!イヤァァァァァァァ!!!!!」
パンダ「私たちの裏番組豪華だから!大丈夫だから!てか私たちが裏番組だから!」
ガンプラ「そうだ!私の登壇なんて誰も見ない!そうなんだ!」
ワイ「何自分に言い聞かせてるんですかwwwワイ初日で糞登壇してハードルさげよか?www」
ガン&パンダ「あきらさんはどーせ本番はしれっと客楽しませるじゃん!(殺意)」
ワイ「お、おう…」
この会話を聞いて
ワタシは
お客様を泣かそうと決意しました。
おばちゃんとカズとディスレクシア
今回の主役は私ではないですね。皆さんわかったと思いますけど。
そうです。僕の友人であり尊敬するエンジニアの話です。
高校一年生ながらJavascriptやPython、そしてPower Appsなどを精力的に楽しく学んでる少年のお話でした。
彼には生まれつき識字や書字に障害を持っているディスレクシアという特徴を持っています。
簡単に言うと文字を正確に書こうとしても下のような文章になってしまうのです。

これは字が汚いとかそういう問題ではなく、正確に文字を認識しているつもりでも、それを書字しようと思うと脳信号からの伝達が必要なのですが、そこが違うタイプの脳構造になっているため上記のような書字になってしまう、というものです。
想像できるでしょうか?
例えば先生に「今から遠足の持ち物を書くからね!ノートに書き写して親御さんに伝えてね!」と言われても
彼らは書くことができない。
翌日、「なぜ持ってこなかったんだ!」と叱られてしまう。
本人はどんどん「自分はなぜこんな当たり前のこともできないのか」と自己嫌悪になってしまう。
想像できるでしょうか?
計算は十分暗算できているのに、それをテスト用紙に書くことができない。
もちろんそれを返却され、つく成績は最低評価。
文字が書けないだけなのに、理解はできているのに。
そんな中で、エンカレッジ桃花台という塾に通い始めます。
ITの力を借りて、PCの勉強をして、
どんどん元気になっていき、気が付けば塾長は教えることがなくなり、教えを乞う側にw
自分の力で道を切り開いていった彼を私はとても尊敬します。
感謝と恩送り
そもそもカズの
「自分のような障害を持っている人たちが、ほかの人と同じように楽しく勉強できるそんなアプリを作りたい」
の一言から始まった、このプロジェクト。
ワイはダークなエモーションのホルダーなので、
ワイ「塾長に売りつけよう!」(悪意)
そんな気持ちを純粋無垢に持っていたんですが、
カズ「お世話になった塾長に送りたい」(善意)
もうね、目から鱗ボロボロ
え?大人ってこんな汚れるものなの?
いやワイが高校1年のときって女性の下半身の構造しか考えてなかったんだけど?
天使かなんかなの?
その時は流石にワイの目に一筋の涙がこぼれそうでこぼれなかった。
ただここで思ったわけですね。
Pay it forwardという言葉を。
カズがしたことは2つ
- 自分のような障害を持つ子の未来を明るいものにしたい
- お世話になった塾長に恩を返したい
これ2つとも素敵な恩送りですね。
結構サラリーマンだといるわけですよ。
「自分のころはこんな風にしごかれた!だから俺もお前をしごく!」
みたいなね。
超くだらない。
現行踏襲っていうのは、変化に対極にあるもので。
松下幸之助さんも「現状維持は衰退の始まり」だとおっしゃってます。
なかなか全文書かれることないのでね。
書いてみるとですね。
"人間は変わることに恐れを持ち、
変えることに不安を持つ。
しかし、全てのものが刻々と動き、
一瞬一瞬にその姿を変えつつあるこの世の中。
「うまくいっているから十分だ。」
と考えて現状に安んずることは、即、
退歩につながる。
今日より明日、明日よりあさってと、
日に新たな改善を心がけたい。"
幸之助えええええ!って叫びたくなりますね。
考える葦である我々が「変化をしない」という選択肢を選ぶことが滑稽ですね。
カズは私がおっぱいのことしか考えてなかったときに、「成長と変化」そして「未来」についてきちんと考えていたわけですね。
自慢の友人です。
真面目なキモチと告白
ワタシ20代後半で鬱になってるんですが、
その原因がそもそも「群発頭痛」って病気なんですわ。
後天性の群発頭痛。
海外では身体障碍者に分類される病です。
日本ではなんかしらんけど健常者として扱われる。
まぁ別にいいけど、これが原因で社会で働けないやつもいるんやで。
今更可哀そうとかって言葉はいらんけどな!自分でなんとかしたからな!ワイ最強!
有名どころだとダニエルラドクリフさんとかがそうですね。
簡単に言うといきなり視界が真っ白になり、悪魔に取りつかれたように頭を抱え意識がなくなる、みたいな病気です。
目の奥にある神経を悪魔がバイオリン弾き始めるみたいな感じですかね。
思い出したくもない!
ただワタシは基本アホなんで、そんな頭痛が起こっても、「走ったら治る!」と河川敷をMarathonしてた男でしたので事なきを得ていました。
そんなときに「障碍者手帳をとりますか?」と言われたのですが、
ぶっちゃけ日常生活頑張ってたら、そんなもん要らないんですわ。
大別のために「障害者」「障碍者」「ギフテッド」とかって言葉使われて、
可哀そうって言われて、「障害者」の「害」の字が侮辱だとかなんとか…
当人からするとどうでもいいわけです。
その辺に理解があるぜおじさんやおばさんが、「本当に僕らがしてほしいこと」を正しく受け取らず、「彼らはこういう表現が辛いに違いない!」って勝手に動くんです。
だんだんと、
周りが信じられなくなり、
誰にも相談できなくなり、
自分で未来を切り開こうとする。
その一歩すら「大丈夫だよ」「ゆっくりでいいんだよ」「君はほかの人と違うのだから」と言われる。
どうか「障碍者なのにすごいでしょ!」「子供なのにすごいでしょ!」って言わないでほしい。
僕たちはただ一人の人間として、
みんなと同じく努力の仕方を工夫して、
みんなと平等に笑いあう世界が好きなんだ。
対等になるための努力を一瞥しないで。
未来を作る
ものづくりの根本というのは「今ないものを創作する」という信念なのです。
そのトリガーはたくさんあると思います。人間の七つの大罪とよばれるようなものが中心だと思います。
現行踏襲が過去を大切にする信念ならばそれはそもそもモノづくりというのでしょうか?
失敗していい土壌があれば、現行踏襲なんて誰もしないでしょうに。
挑戦に目を輝かせるでしょうに。
その手を淀みなく失敗に向かって動かすでしょうに。
朝も夜も問わず、おもちゃを与えられた子供のように熱中するでしょうに。
そんな土壌が広がっています。
コードという手段を使わずとも、モノを作れるようになってきています。
先人たちが未来を夢見た結果です。
失敗を怖がるより、やったことないからと割り切るより、
まずは挑戦してみませんか?
さぁ、私たちは誰のためにモノづくりをしよう。
神経衰弱みたいな機構をPower Appsで作成してみた(初級者向け)
こんばんは。
ひっさしぶりにバドミントンやったら全身筋肉痛になったので、
プロジェクターで天井に画面写してトラックボールとワイヤレスキーボードで、
ベッドの中で仕事してました、超真面目ワーカーあきらです。
今回は年末イベントで1人だけ納期内に完成できなかった神経衰弱みたいなアプリをつくってみようと思います。
準備
- トランプ画像
- 背景画像
- Complete時のGIF
こんだけですね
あとはまぁ関数の組み合わせだけです。
データソース要らないんで初心者向け?
(もう初心者向けってなんだかわからなくなってきた)
adobe stockで調べれば山のように出てきますので参照ください。
https://stock.adobe.com/jp/images/playing-cards-deck-full-complete/220211310
https://stock.adobe.com/jp/images/playing-cards-fall-on-a-black-table/290521309
こいつらを加工して作ってみました。
画像に名前を付ける
まずはバラシて一個一個に名前を付けてみます。
記号と数字で一意性定義できるので、こんな感じですか。

1枚「Back」って名前の裏面を書いておきます。
名前つけたらインポートしましょうか。

(某楽器アプリみたいになりましたね)
Collectionにぶち込む
ClearCollect(
colCard,
{
id: j1,
card: 14,
flag: 0
},
{
id: j2,
card: 14,
flag: 0
} //長いから割愛
);
ClearCollect(
colCard,
Shuffle(colCard)
)
まぁとりあえず画像とリンクさせるCollectionを作成して、
それをshuffleで返す!
ってのをOnStartで返してあげます。
そうするととりあえずゲームスタートしたら、順番ランダムでCollectionが生成します。
colCardというCollectionと定義します。
Galleryにぶち込む
あくまで上記手順は「生成」までですので
それを表示するGalleryが必要になります。
横のGalleryを追加してあげて、折り返しプロパティを4に設定
Itemsプロパティに先ほど定義した「colCard」というCollectionを入れてあげましょう。
そしてTemplateにImageコントロールを入れて、
Imageプロパティに
If(
ThisItem.flag = 0,
back,
ThisItem.id
)
と入れてあげましょう。
意味としては、「このアイテムのflagが0ならばbackって言うイメージを、そうでなければidの項目と同じ名前のイメージを表示してね」って意味ですね。
Collection生成時、すべてのflag列は「0」としたので、全て裏向きのイメージが出来上がったと思います。

flagの値で状態を定義する
例えば
| flag | 状態 |
| 0 | トランプが裏の状態 |
| 1 | トランプがめくられている状態 |
| 2 | トランプがめくられていてかつゲーム終了まで裏にならない状態 |
| 3 | トランプがめくられていてかつ三枚めくるときに裏になる状態 |
こんな風に定義します。
あとは流れで説明しますが、
下の図みたいな構造でいきます。
あとは画面の動きで説明します!(めんどくさくなってきた)
ゲームを始める状態ではすべてflagは0(裏側の画像表示)

- 1枚めくるとcolHandというCollection(下部)に1枚目のカードが格納される
- 同時にflagを1にして「めくられた札」という状態にする

2枚目のカードをめくると
- Collectionに同じように格納
- Galleryの中の枚数を数えて2枚になっていたら右上のtoggleがオンになる
- toggleがオンになったらOnCheckプロパティで正誤判定(正ならflagを2にそうでなければflagを3に)をしてすかさずオフに
Galleryの中にある札で
flagが2なら次の挙動でもめくられたまま
flagが3なら次の挙動で裏に戻る
というのをGalleryの中のImageコントロールのOnSelectに定義してあげれば良いです。


そしてすべてのカードのflagが2になれば、隠してあったGif(なんでもいいです)が見えるようになればゲームとして成立しますね。

あとは
- 下のGalleryを消去
- toggleを非表示
- Try Againボタンでカードのshuffleと全てのidを0にする
という挙動を作成できれば完了です。
これで神経衰弱が作成できます。
タイム計測してタイムアタック方式にしてランキング保存とかでも面白いかもしれません。
次のステップ
実はですね。
このtoggleを使った機構を考え出したのはコルネさんという方なのです。
ある日夜な夜なおばちゃんに召集がかけられ、
「うちの生徒が作るアプリを手伝って!!!!!!!(大声)」
と言われ、界隈の重鎮たちが一同に会した会がありまして、
そこでコルネさんが天才的な閃きでサクッと作ってしまったわけです。
重鎮たちも賞賛の嵐!
いやはや凄い技術者です。
そんなコルネさんのブログがこちらです。
ワタシのブログとは比べ物にならないくらい技術が詰まったブログなので、穴が開くほど見てください。
もともと教育に使うための機構を考えて作成しようと思っていたので、
例えば日本語と英単語を同一IDにして表示させ、ペアを集めていくみたいなアプリだと、勉強しながら遊べるかもしれません。
ん?それ面白いな…
作って売るか…
というわけで作ったら(大事なところ隠して)公開します!!