在庫管理アプリを10分で作る
小さな技術系 IT 会社ですが、各種デバイス類の販売を EC ショップと相対で行っております。少量多品種を目指すべく、あまり在庫はしないようにしていますが、半導体不足が解消しない現在、多少の在庫を持つようにしております。で、最新の在庫数が、早速わからなくなってきてしまいました。
ということで、在庫管理アプリを作っておこう、ただし時間をかけずに 10 分で、と思い立った次第です(おそらくブログを書いている時間の方が長いです)。
過去にこのブログでも何度か登場しているノーコード/ローコード開発サービスAppSheetを使います。
1. ER 図を思い浮かべてテーブルを作る
在庫管理といっても、極めてシンプルであり、エクセルで十分なくらいです。 ただ、エクセルにはない UI/UX が 10 分でできるなら、やってみる価値はあります。
まず、データをどう管理するか、テーブル設計から考えます。
簡単ですが、商品マスタ(どんな商品があるか)と取引データ(それらの商品が、いつ・どのくらいの数だけ補填されたのか、販売されたのか)の2種類のテーブルがあれば十分と思いました。
商品マスタには、製品名や写真を登録します。
取引データには、各商品の数量変動を都度入れていきます。最初のデータとして、取引数カラムに現時点の在庫数をもれなく入れていくことにします。その後、在庫補填があれば同じく取引数カラムに + で数量を入れ、売れれば ー で数量を入れていく想定です。
2. 最新在庫数はどうするか?
ただ、このままでは、“最新の在庫数は結局いくつなのか"を管理する部分がありません。 ここまでの話をまとめると、取引データテーブル内の同一商品の取引数カラムの総和を取れば、常に最新の在庫数が算出されることがわかります。
こんな時に威力を発揮するのが、バーチャルカラム(Virtual Column)という機能です。
商品マスターテーブルに、バーチャルカラム(Virtual Column)を 1 つ加えて、次のような計算をするように設定します。
SUM(
SELECT(
Transaction[P_Num], [_THISROW].[P_ID]=[P_ID]
)
)
これにより、商品マスターテーブルに、最新在庫数のカラムが仮想的に作られます。
3. 10 分クッキングの結果
ダミーデータですが、期待通りの UI/UX とデータになっていることがわかります。
取引データにある"LIG16-JP"のすべての数量の総和( = 22 + (-2) = 20)が、商品マスタ側に表示されています。
商品マスタ | 取引データ |
---|---|
想定通りですが、気持ちがよいですね。
社内のシンプルな在庫管理アプリとしては十分な出来栄えではないでしょうか?
さて、在庫を数えて本当の数値をいれていかねばです。。。。(こっちはもっと時間がかかるか?)