欲しいアプリは自分で作る!

Power Platform や Azure などを利用して作成した業務アプリや趣味アプリなどをご紹介します。

Power Pages はじめの一歩

この記事は、Power Apps Advent Calendar 2023 12/25 担当分の記事です。

qiita.com


Power PagesってPower Appsじゃなくね?というツッコミがあるかと思いますがご了承くださいm(__)m
※以前はPower Apps Portalsという名前でPower Appsの一部だったので許してね!w


最近お仕事でPower Pagesをいじることがあったので、自分の理解これで合ってるのかなーという確認も含めて、正直あまり自信はないのですが基礎的な部分からアウトプットをしてみることにしました。

本記事では、Power Pagesに触れたことのない方が、サイトの作成から最低限の一覧画面と入力フォーム画面を作れるようになるところまでをスコープとしています。
もし「その理解ちょっと違うよ」とか「こうしたらもっと楽だよ!」などありましたら、是非是非ご意見ください。

  • 作業全体像
  • 各手順
    • 1. サイトを作成する
      • 1-1. Power Pagesのトップ画面を開く
      • 1-2. 「最初から始める」を選択する
      • 1-3. 必要項目を入力し「完了」を選択する
      • 1-4. 待つ
    • 2. テーブルを用意する
      • 2-1. 「データ」を選択する
      • 2-2. 「+表」→「+新しいテーブル」を選択する
      • 2-3. テーブル名とプライマリ列名を設定する
      • 2-4. プライマリ列をオートナンバーにする
      • 2-5. 列を追加する
      • 2-6. ビューを作成する
      • 2-7. フォームを作成する
    • 3. 一覧ページを作成する
      • 3-1. ホームのページにリストを配置する
      • 3-2. リストを設定する
      • 3-3. アクセス権を設定する
      • 3-4. 確認してみる
    • 4. 新規入力フォーム画面を作成する
      • 4-1. 新規入力フォームのページを追加する
      • 4-2. ページ内にフォームを配置する
      • 4-3. フォームを設定する
      • 4-4. 確認してみる
    • 5. 編集フォーム画面を作成する
    • 6. 各画面の遷移を設定する
  • 最後に動作を確認
続きを読む

キャンバスアプリのモダンコントロールのプロパティ最新アップデート状況(2023/12/2時点)

※クラシックとモダンのプロパティの比較ではなく、最新バージョンのモダンのプロパティとひとつ前のバージョンのモダンのプロパティを比較した、超絶ニッチな記事です。ご了承ください。


この記事は、Power Apps Advent Calendar 2023 12/3 担当分の記事です。

qiita.com


Power Appsのキャンバスアプリでは、少し前からモダンコントロールと呼ばれる新しいデザインのコントロールが使えるようになりました。
※現状は半分以上がまだプレビューです。

モダンコントロールを有効にする設定

モダンコントロールはここに

現在はクラシックのコントロールとモダンのコントロールが両方使える状況になっています。
両方を比較したことがある方はご存じだと思うのですが、モダンコントロールのプロパティって、クラシックコントロールに比べると少ないんですよね。

もちろんデザインが異なるので同じにはならないかもしれませんが、現在はまだ欲しいプロパティ機能が乏しい状態にあります。

クラシックのテキスト入力コントロール

モダンのテキスト入力コントロール

で、このプロパティの乏しさが今後どう増えていくのかの傾向を掴むために、ここ最近のバージョンの違いを比較してみました。

  • 比較するバージョン
  • 比較した結果
  • まとめ
続きを読む

キャンバスアプリの作成経験がない開発経験者が押さえておくとよいと思う3つのポイントと、さすが開発経験者だなぁと思う3つのポイント

皆さまが Power Platform に出会ったのはいつ頃ですか?
私は2017年6月なので、Power と付き合って間もなく満6年になります。近づけたと思ったら急に遠くに行ってしまう、掴みどころのない奴です(?)


そんな魅力的な Power ちゃんですが、縁あってこれまでハンズオンも含めると延べ100名以上の方に Power Platform(主にキャンバスアプリ)の利用方法を教育(登壇発表を除く)させていただく機会をいただきました。ありがとうございます。教育業務大好物です(?)

ということで、今日はその拙い経験の中で感じたポイントについてまとめてみました。

  • 1. 2種類の対象者
    • 1-1. 開発"未経験者"が押さえておくとよいポイント
    • 1-2. 開発"経験者"が押さえておくとよいポイント
      • 1-2-1. ポイント1
      • 1-2-2. ポイント2
      • 1-2-3. ポイント3
  • おまけ:さすが開発経験者の方だなぁと思ったポイント
続きを読む

買い物メモをかごに入れる順番に並び替えてくれる LINE ボットを作ってみた

皆さんは買い物される時、事前にメモなど書いて買い物されますか?

私は頭では覚えられないので、メモ帳アプリを使って事前にメモし、スーパーでかごに入れたものから消しています。
(メモなしで買い物に行くとほぼ買い忘れる)


で、このメモが結構煩わしいんですよね。
思い付いた順にメモするとこうなるんですが、

  • ビール
  • ネギ
  • 豚バラ
  • 牛乳
  • アイス
  • 鶏むね
  • ほうれん草

この順番で買い物しようとすると、同じところを何度も行ったり来たりしなきゃいけないんですよね。
で、売り場にあるものをメモから探そうとすると「野菜は~え~っとネギと~アイス…ぁあ違うっ!あとほうれん草と~」 ってなりますよね(私だけ?)


できるなら、スーパーのルート順や冷凍食品が溶けない順に並べたいですよね。
※下記はあくまで一例ですが、元スーパーの社員だった私の両親曰くスーパーにおける商品の配置には法則があるようなので、おおよそこんな感じなのかなと思います。

  • ネギ
  • ほうれん草
  • 豚バラ
  • 鶏むね
  • 牛乳
  • ビール
  • アイス


ということで、買い物メモを並び替えてくれる LINE ボットを作ってみました。


目次

  • 1. 作成した LINE ボット
  • 2. アーキテクチャ
  • 3. 処理方法
    • 3-1. トリガ、応答、変数の初期化
    • 3-2. LINE から受信した品目をテーブル化
    • 3-3. 品目にソート順を付与
    • 3-4. 品目をソート順の昇順でソート
    • 3-5. ソートできた品目を文字列化 / ソートできなかった品目を文字列化
    • 3-6. ソート結果をユーザーに返信
    • 3-7. ソートできなかった品目をデータベースに登録し管理者に通知
  • 4. 改良:数量を入力されても並び替えられるようにする
    • 4-1. 改良点① LINE から受信した品目をテーブル化
    • 4-2. 改良点② 品目にソート順を付与
    • 4-3. 改良点③ ソートできた/できなかった品目を文字列化
  • 5. まとめ
続きを読む

2022年を振り返ってのご挨拶

自分は周りに迷惑をかけるために生まれてきたのかと思うくらい、今年も沢山の方々にご迷惑をおかけし、また沢山の方々に支えられて何とか生きてこられた一年でした。


色々と考えた結果、来月末をもって現職を退くことにしました。


原因は、自分の能力不足とモチベーション維持不足、ただこれだけです。
限られた時間の中で期待される成果を出すことができず、焦った結果心身を崩し、結局周りに迷惑をかけたという、ただただ残念な結果でした。



前職も現職も、めちゃくちゃ優秀かつ人柄の良い上司や同僚に恵まれました。
もはやカルチャーショックでした。

コンサルもSIも未経験な私を採用してもらい、たったの7か月という在籍期間で現職に送り出してくれた前職にも、そんなよわよわ経歴の私を採用してくれた現職にも、申し訳ない気持ちでいっぱいです。
崩れた心身をなかなか回復できず、想像以上に現場には負担を強いてしまい、何も恩返しもできず終えてしまうことは、痛恨の極みです。


職を変え、居住地を変え、新しい世界に飛び込んだ結果、経歴を見る限り崖っぷちのキャリアになりました。
何度も「経歴に不安がある」と書類選考で落とされ、既に会社員向いてない気しかしませんが、次が無理なら、いよいよ会社員向いてない。


正直、来年がめちゃくちゃ怖いです。



でも、後悔はしていません。


この世界に飛び込んでみてよかった。
自分の限界がよく分かった。
自分のやりたいことが少しずつはっきりしてきた。
日本には、世界にはこんなにも優秀な人が沢山いるのかと、ワクワクした。


来年の抱負。

"死ぬ気"で頑張るのは、一旦やめにしよう。
もっとワガママに生きてみよう。
もっと周りに甘えてみよう。
恩を返すことは一旦考えず、送ることを考えよう。

また病もうと、職を失おうと、人生とことん楽しんでみよう。



正直、私に対してもううんざりだという方もいると思います。
どうぞご遠慮なく友だち/フォロー外してください(全く気にしませんので)


でももし、まだこんな私でも興味持っていただけましたら、引き続き見守っていただけると嬉しいです。



来年もよろしくお願いいたします。


ヘラクレスオオカブトの状態をいつでも確認できる LINE ボット with ヘラクレス監視システムをローコードで作ってみた

(2023/01/27追記)
こちらの記事ですが、Qiita Advent Calendar 2022 プレゼントカレンダーにて Develop fun! 賞をいただきました。
栄えある賞をいただき、誠にありがとうございました!

blog.qiita.com




皆さんは動物や生き物は好きですか?
私は犬が死ぬほど大好きです。何時間でも犬と遊べます。

姉宅の飼い犬と戯れる私
なお妻は動物が苦手なため、我が家で犬を飼うことは許されません(画像は姉の飼い犬)。


そんな私ですが、この度息子(8)の要請により、ヘラクレスオオカブトというカブトムシ(以下、ヘラクレス)を飼うことになりました。

飼うことになったヘラクレス

今回、このヘラクレスの温度管理や生態観察を目的として、いつでもヘラクレスの状態を確認できる仕組みを作ってみましたので、紹介させてください。


本記事のゴールは以下を想定しております。

  • 生体監視システムを自分でも作れるようになる
  • 様々なシステムを API 連携できる面白さが分かる
  • ローコード・ノーコードの可能性の高さを実感できる
  • ヘラクレスオオカブトを飼ってみたくなる

ご興味ありましたら、是非ご覧いただけますと幸いです。


なおこの記事は、身の回りの困りごとを楽しく解決! by Works Human Intelligence Advent Calendar 2022 12月10日(Calendar1)担当分の記事です。 qiita.com


目次

  • 1. ヘラクレスオオカブトとは
  • 2. システム概要
  • 3. 作り方:機能① ヘラクレスの様子と温度・湿度を確認
    • 3-1. ヘラクレスの様子を10分間隔で自動撮影する
    • 3-2. 撮影した画像を Azure Blob Storage に格納する
      • 3-2-1. Blob Storage の作成
      • 3-2-2. Power Automate の作成
      • 3-2-3. Power Apps への追記
    • 3-3. LINE からのリクエストを受けて画像と温度・湿度をユーザーに返送する
      • 3-3-1. LINE の設定
      • 3-3-2. Logic Apps の作成
  • 4. 作り方:機能② ヘラクレスに動きがあった際に通知
    • 4-1. (事前作業)Custom Vision の設定
    • 4-2. (事前作業)ヘラクレスの形を Custom Vision にトレーニングさせる
    • 4-3. 画像を Custom Vision に送信しヘラクレスの位置情報を取得する
    • 4-4. 位置情報をデータベースに登録する
      • 4-4-1. Microsoft Dataverse にテーブルを追加する
      • 4-4-2. テーブルに位置情報を登録する
    • 4-5 ヘラクレスの移動を検知してユーザーに通知する
  • 5. まとめ
  • 参考記事
続きを読む

Power Apps のキャンバスアプリは結局のところ SharePoint リストからデータを何レコード取得できるのか調べてみた

あくまで 2021/06/05 時点の調査結果であり、今後動きが変わる可能性がありますのでご注意ください。



Power Apps の「委任」についてご存知の方は、おそらく「500件」という数字がパッと思いつくと思います。

委任をご存知ない方はよろしければご参考ください:
qiita.com


で、この500件というのは何かというと、Microsoft の Docs には「委任できない場合の制限」の説明に「Power Apps では、ローカルで処理可能なデータの量を既定で 500 件のレコードに制限しています。」と記載されています。

docs.microsoft.com

また、キャンバスアプリの作成画面では「設定」の中に「委任がサポートされていないサーバー ベースの接続から取得する行数を設定します」という記載で、上記の500件を最大2000件まで設定できる機能があります。 f:id:jn-kodama:20210605163445p:plain

これだけを見るといかにも「委任できない場合は500件(設定で最大2000件)しか取得できないんだな」と思いますよね。
逆に言うと「委任できる場合は制限なく取得できる」と思いますよね。
(少なくとも私が昔委任に関する記事を書いたときはそう思っていました)


ということで、本当にそうなのか? を実際に確かめてみました。
この記事では、データソースからレコードを取得する時によく利用されると思われる以下の2つの方法について、委任できる場合と委任できない場合でどうなるかを見ていきます。

  • ギャラリーコントロールで一覧表示
  • コレクションにデータを格納


  • 使用するデータソース
  • 取得できる行数を意図的に変更しておく
  • 実験① ギャラリーコントロールで委任できる式を利用して取得
  • 実験② ギャラリーコントロールで委任できない式を利用して取得
  • 実験③ ClearCollect 関数で委任できる式を利用して取得
  • 実験④ ClearCollect 関数で委任できない式を利用して取得
  • まとめ
続きを読む