盆栽の管理向上をめざして 17:棚場のスタッツを表示する【盆カン2公開】
はじめに
AppSheetを用いたアプリ作りは粗削りではあるが、ダイナミックに機能を追加できるのでとても気に入ってます。
ここのところ、盆栽計測装置「Bonsai Dock」の開発に取り組んでおりましたので、「盆カン」の話題が少なくなっておりましたが、日々改良を続けておりました。
Statsビューを作りたい
盆栽管理ソフト「盆カン」を知り合いに紹介する機会が増えてきました。
「たくさんお持ちですね。何鉢あるの?」
「どんな木がお好きですか?」
といった質問に即座に答えられない自分がいます。
こんなとき、スポーツ中継でよく見られるStatsビューがあるといいな。と思いました。
ボール支配率、シュート数、コーナーキック数などなど。
棚場の盆栽鉢を特徴づけるデータをうまく引っ張り出してこれないものだろうか?
AppSheetであれこれするのはどうも苦手なもので
AppSheetなら簡単にできるかも。と思い探し始めましたが、そんなに都合よく見つかるものではありませんでした。AppSheetを使うコツは、あれこれこだわらず簡単にできることを受け入れるスタンスが良いのかもしれません。ひょっとしたら、ちゃんと用意されているのかもしれませんが、今回は探し出すことはできませんでした。
Googleスプレッドシートの力を信じてみよう
元データの「My盆カン」に「Stats」シートを作り、そこにデータを集め、AppSheetで表示すればよい。ということを思いつきました。
そういえばAppSheetに出会う前はGoogleスプレッドシートでゴリゴリ作りこんでいました。関数でゴリゴリ作るのも嫌ではありません。
ここはひとつ、Googleスプレッドシートの力を信じて進んでみることにしました。
こんな感じです。
AppSheetで扱いやすくするため、「StatsID」、「項目」、「値」としました。
思いつくままに、項目を書き出し、その内容を関数を使って表示するようにしました。
ST001 / 現存する鉢数
=C4-C3
ST002 / なくなった鉢数
=COUNTIF('盆栽鉢T'!D2:D,"<>")
ST003 / 登録鉢数
=ROWS('盆栽鉢T'!A2:A)
ST004 / 次の盆栽鉢ID
=C4+1
ST005 / 記録数
=ROWS('記録T'!A2:A)
ST006 / 最新記録日
=TEXT(MAX('記録T'!C2:C),"yyyy/mm/dd hh:mm:ss")
ST007 / 最多記録数
=MAX(ARRAYFORMULA(COUNTIF('記録T'!B2:B, UNIQUE('記録T'!B2:B))))
ST008 / 最多記録鉢ID
=MODE('記録T'!B2:B)
ST009 / 活動記録数
=ROWS('活動記録T'!A2:A)
ST010 / 最新活動記録日
=TEXT(MAX('活動記録T'!B2:B),"yyyy/mm/dd hh:mm:ss")
多分自力ではここまでの表現はできなかったと思います。ネット検索とChatGPTの力を借りています。
例えば、「最多記録数」というのは「記録T」シートの中で一番多く撮影された盆栽鉢の数を表しています。ネット検索をあれこれした結果、生み出したのですが、なぜそうなるのか全く理解できませんでした。
そこで、ChatGPTを使って、解説してもらうことをひらめきました。
といった感じです。
プロンプトのおかげで、とても丁寧でわかりやすい解説をしてもらうことができました。
Googleスプレッドシートを作り始めたときにさらに解説してもらうだけではなく、追加で新しいことも教えてもらいました。
MODE関数を使うとこんなにすっきり書けるようになるなんて驚きです。
MODE=頻出値か。確かに。
あとはAppSheetで表示するだけ
ここまでくれば、あとは表示するだけです。新しいViewを作り、Statsシートを表示してみました。
これらの値がすぐに見えるようになり、非常に便利になりました。
そしてここまでの機能を「盆カン2」に盛り込んで公開してみました
公開ポートフォリオ
「盆カン2」を選びます。
「Copy and Customize」を選びます。
本当は、バージョンアップ版としてリリースしたいところなのですが、どのようにしたらよいかわからないので、別アプリにしています。
さいごに
今回は小ネタのご紹介にとどめようと思っていたのですが、ChatGPTを使いだしたあたりから楽しくなって、「盆カン2」の公開まで進めることができました。
思えば、ここ最近の盆カンの改造テーマはデータの「見える化」だったかもしれません。IoTの4段階「監視」、「制御」、「最適化」、「自律化」の中でも初手からなかなか進めないでいます。
これからもこの盆カンを中心に装置つくりを進めていきたいと思います。
今回も最後までお読みいただき誠にありがとうございます。