見出し画像

New Release‼️ Power Apps 奮闘‼️ 第三弾『ショートカットキークイズ』

出戻りガツオ🐟です!
Power Appsの挑戦、第三弾ということで8月10日の夜にリリースさせていただきました!ショートカットキークイズアプリを本日は紹介させてください!

Power Appsでの表示イメージ!

お力添えをいろいろな方にいただき、Power Appsの挙動を学びながら作成しましたので、ポイントと工程についてnoteに書きます!

フリーでダウンロードできるので興味があれば、是非ダウンロードしてください🥺

ダウンロードはこちら!

作ろうと思った"きっかけ"

Power Apps第三弾・・・🐟何を作ろうか・・・少し悩みました。
自分専用のアプリよりも「公開できるアプリ」の作成に興味があったからです。

特に最近かなりの確率で拝読するHiroさん @mofumofu_danceさんのこのアプリは、

  • コレクションの使い方

  • 汎用性

  • シンプル

などなど刺激をうけ、クイズアプリとか作ってみたいなと思った次第です。

七草あんこ@PowerApps全振り 先生 @ankoromochi7793も、物凄いアプリ作ってる・・・

降って出たアイディア

一方で先日、競技Excelという大会に参加いたしました。双方予選落ち・・・。

私めっちゃExcelは自信あっから!超実務やってるし!マジガチでワイエクセラー🐟
以前の私

それくらいの心持でしたが、結果は敗北・・・。普段よくしていただいているゅぇ。🐹 As Boolean @YUExcelMARU さんは鮮やかな技で準優勝・・・。

ショートカットキーやExcel関数など、丁寧に学んだ成果を存分に活かされている事実と自分の驕りに対して、悔しさをひたすら感じ、Excel学びなおしを誓うのです・・・!

👆ゅぇ。🐹 As Boolean @YUExcelMARU さんは、「ショートカットキー勉強会」も開催され、大盛況!

そうだ!これを機会にPower Appsの作成とExcelのショートカットキー学び直しをしよう!

と心に誓うのでした!

アプリのご紹介!画面の構成と機能

Top画面

アプリのTop画像!

Excelモード!

Excel ショートカットキークイズ
切り替わりイメージ gif
  • 本チャンのクイズモードです。ソースはエクセルの神髄のHPをご参考にさせていただいています。感謝🙇🙇

  • ルールは1問10秒です。gif画像のように画面転移します。

  • 設問に対し、クリックしたショートカットキーの内容があっていれば正解の仕様です。

Windowsモード!

Windows ショートカットキークイズ
  • こちらはWindowsの標準ショートカットキークイズです。

  • ソースはMicrosoftのページになります。勉強になりますね🐟

Google Chromeモード!

Google Chrome ショートカットキークイズ

Google Chromeモードも作りました!それぞれの画面のカラーはアイコンのカラーを基調にして作っています1

  • Google Chromeモード、こちらもソースは公式から! 

これだけマスターできれば達人でしょう( ̄ー ̄)ニヤリ

ライブラリモード

ライブラリモード
  • メニューで本のマークをクリックすると、一覧を見ることができます。
    上書き保存が一つだけじゃないってご存じでしたか?私は衝撃でした!

👆あきイカ🦑さんのつぶやき借りるゲソ

作者も全然うまくできない激ムズ仕様ですwwww
是非トライしてみてください!


ショートカットキークイズアプリを作るポイント

データソースを無しにしたい

アプリを作るうえでの今回のテーマです。
ExcelやGoogleスプレッドシート、SharePointをデータソースに使えることがPower Appsの魅力ではありますが、今回は全てPower Appsに直打ちする形で接続先に依存しないアプリの作成を目指しました。

ポイントとなるのは『コレクション』の扱いです。
ざっくりまとめると

  1. データソースがないため、関数でコレクションを作成する
     -ClearCollect ,-Table

  2. データソースからクイズと回答を作成する
     -ClearCollect ,-Shuffle ,-Collect, -Remove, -Filter…etc

  3. 問題数に対する正誤数のカウント、制限時間の制御
     -UpdateContext, -Refresh

こういった関数が活躍します。また回答を作るにあたり、画像のようなラベリングをするには、回答のコレクションにおけるインデックスの付与などが課題になりました。

回答画面

また一画面の中に動的に正解の○、×の表示。結果の表示などを実現したいため、関数の挙動・整理が大切になりました。

👆回答後にはこのような画面に切り替える

Power Appsで改めて良かったこと

クイズを作るにあたり、Power Appsでその機能を実現することで良かった点として、レコードの考え方があります。

出戻りガツオなりのレコードの理解

コトバで説明することが難しいですが、レコードの何を、いつ、どのイベントで、どの情報を表すか、評価するか

といったことを工夫することで、データの応用がかなり効くのです。

レコード.shortcutの場合は Ctrl + Sが表示され、同時に正解は、レコード.answerのプロパティで判断する、こうしたことが実現できます!

レコードのプロパティは関数で表現することができるので、動的なアプリがExcel関数のように表現できることが大変魅力的でした!

※Google Apps Scriptのオブジェクトの考え方に似てますね(コゴト🐟)

課題

今回もっとうまくできたのではないかなと思うポイントは、コレクションの宣言、式をもっとスッキリさせることです。

具体で見てみると、例えば問題生成のこちら・・・

// Local Context
UpdateContext({_afterAnswer:false,_result:false,_count_quiz:30,_correct:0});
// Set Quiz Collection
ClearCollect(colQuizExcel,
    FirstN(Shuffle(colExcel),_count_quiz)
);
// Set Correct Record
UpdateContext({_quizNum:1});
UpdateContext({recQuestion:Last(FirstN(colQuizExcel,_quizNum))});
//--Loop section
// Copy All OrgData
ClearCollect(_colExcel,colExcel);
// Set _choice else correct record
ClearCollect(_choice,
    FirstN(
        Shuffle(
            Remove(
                _colExcel,
                First(
                    Filter(_colExcel,shortcut=recQuestion.shortcut)
                    )
                )
            )
        ,5)
);
// Add _choice correct record
Collect(_choice,{shortcut:recQuestion.shortcut,answer:recQuestion.answer});
// Shuffle
ClearCollect(_choice_shuffled,Shuffle(_choice));
// init answers and get Index
Clear(_answers);
ForAll(
    Sequence(CountRows(_choice_shuffled)) As Index,
    Collect(
        _answers,
        Patch(
            Last(FirstN(_choice_shuffled,Index.Value)),
            {Index:Index.Value}
        )
    )
);
//--Loop section
// Set global mode
Set(ScrMode,"Excel");

コメントアウトして内容に気を付けましたが、コレクションの宣言が多すぎる気がしています。もっと絞れそう・・・。そんな気持ちです。

単純にインデックスを付けたい!っていう事象に対しても新しくコレクションを作る始末。これってアンチパターンだったりするのかなと悩んでいます😟

ちなみにインデックスの付与は大先生の記事を参考にしました!

とはいえ頑張った作品

ひと様に見せる作品!ということで気合も入りました。
「アプリのチェック」機能も活用し、イケてないとこつぶし。こういう確認機能があると内容のブラッシュアップには大変参考になります。

アプリのチェック機能で自動で内容を評価できる

至らないところも当然あるでしょう。また生みの親の責任もあるので、作った作品の修正、アップデートは向き合って進めていきたいなと思います💪

ひとに使ってもらえる喜び

今回本当にうれしかったことは人に使ってもらえる喜びです。
Google Formから依頼を出してもらってダウンロードできる形式にしていますが、Twitterでやってみた報告はとくに嬉しい。涙がでそうです😢

※悔しめの報告が多いですが、激ムズ仕様なので仕方ないです。
特にあきイカ🦑さんホントめっちゃ見てくださって感激・・・!!

競技Excel主催のKTさんもお声をくださりありがたいです😢

Special Thanks!

素晴らしい絵を貸してくださった筒井さん、
ショートカットキーを考えるきっかけをもらったゅぇ。さん(勝手に感謝)、
ソースに活用してくださることを快諾してくださった神髄先生。
盛り上げてくださったあきイカさん。
感謝感謝です!!

筒井.xls@Excel関数擬人化マンガを描く経理 @Tsutsui0524 さん

エクセルの神髄 @yamaoka_ss さん

ゅぇ。🐹 As Boolean @YUExcelMARU さん

あきイカ@よわよわ🦑イカエンジニアYouTuber @akiikasakiikaさん

ありがと~🐟🐟

最後にお決まりの宣伝!

News! - 登壇情報

お世話になっている人の耳よりNews!!

そして私は!!

実は・・・noteに先行して書くと!!

こちらに9月3日、9月10日登壇予定!!チェケラ!!
頑張るぞぉおお!!もちろんこのスタイルで出るよ!!

出戻りガツオスタイル🐟

Power Appsはじめましたの登壇です!運営様のお力添えをいただきながら、楽しい登壇にするので是非是非!

登壇資料・・・・( ^ω^)・・・ファイト💪💪💪

是非是非Power Appsダウンロードしてください!

こちらのFormからダウンロード可能です!

ハンドルネーム欄ありますけど、あああでもいいですよwコメントも必須ではないのでお気軽に!

ツヨツヨ勢のFBも・・・欲しい🐟

最後の最後に!!!

いつもお読みいただきありがとうございます!
ITを使って仕事を楽しくする一助になりたいと思ってますので
お読みいただいた方はぜひTwitterもフォローしてください!

Power奮闘やPythonやExcel、Google Apps Scriptなどなど雑多につぶやきます。よなよなエールが大好きです🍺

リプ、いいね👍、RT大歓迎です!
強く求めてます🐟😂🐟
業務改善フレンズ大歓迎!!切磋琢磨しましょ~♪♪

それではまた今度!ばいば〜い!

この記事が気に入ったらサポートをしてみませんか?