会社にいると、なぜか必ず発生する問題があります。
「あの備品、誰が持ってる?」
ノートPC、モバイルルーター、HDMI変換アダプタ、検証用端末、会議用マイク…。
存在は確かにあるはずなのに、所在が不明になる現象。
よくある運用の末路
だいたい次のどれかになります。
-
Excelで管理している(更新されない)
-
台帳はあるが返却記録がない
-
SlackやTeamsで「誰か持ってます?」と聞く文化
-
最終的に同じ備品を買い足す
つまり、
👉 備品がないのではなく「状態が見えない」
ここが問題です。
今回作ったDXのゴール
Power Platformだけで、以下を実現しました。
✔ 誰が持っているかリアルタイム可視化
✔ 借用・返却をスマホ1タップで記録
✔ 一定期間未返却なら自動リマインド
✔ 管理者は棚卸しがほぼ不要
全体構成(これだけ覚えれば作れる)
使ったのはこれだけです。
| 役割 | サービス |
|---|---|
| データ管理 | SharePointリスト |
| 入出庫UI | Power Apps |
| 自動通知 | Power Automate |
| 可視化 | Power BI(任意) |
Step1:データ構造を作る(SharePoint)
まずはここが最重要です。
UIより先にデータ設計を決めます。
備品マスタリスト
リスト名:EquipmentMaster
| 列名 | 種類 | 説明 |
|---|---|---|
| Title | 1行テキスト | 備品名 |
| EquipmentID | 1行テキスト | 管理番号 |
| Category | 選択肢 | PC / 周辺機器など |
| Status | 選択肢 | 在庫 / 貸出中 / 故障 |
| CurrentUser | ユーザー | 現在利用者 |
| LastCheckoutDate | 日付 | 最終貸出日 |
貸出履歴リスト
リスト名:EquipmentLog
| 列名 | 種類 |
|---|---|
| Title | 備品ID |
| User | ユーザー |
| Action | 借用 / 返却 |
| DateTime | 日付 |
👉 ポイント
履歴は必ず別テーブルにします。
これをやらないと分析不能になります。
Step2:Power Appsで貸出アプリを作る
Canvasアプリで作ります。
① 備品一覧画面
ギャラリー設定
Items = EquipmentMaster
表示項目
-
備品名
-
Status
-
CurrentUser
② 借用ボタン
借用処理コード
Patch(
EquipmentMaster,
ThisItem,
{
Status: "貸出中",
CurrentUser: User(),
LastCheckoutDate: Now()
}
);
Patch(
EquipmentLog,
Defaults(EquipmentLog),
{
Title: ThisItem.EquipmentID,
User: User(),
Action: "借用",
DateTime: Now()
}
)
③ 返却ボタン
Patch(
EquipmentMaster,
ThisItem,
{
Status: "在庫",
CurrentUser: Blank()
}
);
Patch(
EquipmentLog,
Defaults(EquipmentLog),
{
Title: ThisItem.EquipmentID,
User: User(),
Action: "返却",
DateTime: Now()
}
)
④ 自分が借りている物だけ表示
Filter(
EquipmentMaster,
CurrentUser.Email = User().Email
)
Step3:QRコードで爆速入力(ここがDXポイント)
備品にQRコードを貼ります。
QRコードの内容
EquipmentID
Power Appsでスキャン
Set(scannedID, BarcodeScanner1.Value);
LookUp(
EquipmentMaster,
EquipmentID = scannedID
)
👉 これで
備品を見つけて → スキャン → 借用
が3秒で終わります。
Step4:未返却の自動リマインド(Power Automate)
フロー作成
トリガー
Recurrence(1日1回)
SharePoint取得
Get items
Filter Query:
Status eq '貸出中'
条件分岐
addDays(LastCheckoutDate, 7) < utcNow()
Teams通知
Post message in chat with user
メッセージ例:
備品「@{Title}」が7日以上貸出中です。
返却または延長をお願いします。
Step6:Power BIで「備品のブラックボックス」を可視化する
ここまで作ると、
-
誰が借りているか
-
いつ借りたか
は分かります。
ただし運用していると、次の疑問が必ず出ます。
✔ どの備品が一番使われている?
✔ 放置されがちな備品は?
✔ 新しく買うべきカテゴリは?
✔ 特定部署だけ占有してない?
これを感覚ではなく、数字で見える化するのがPower BIです。
Power BIで使うデータ
今回使うのはこの2つ。
EquipmentMaster
EquipmentLog
特に重要なのは履歴の EquipmentLog です。
Step6-1:SharePointリストをPower BIに接続
① Power BI Desktopを起動
② データ取得
データ取得
↓
SharePoint Online リスト
③ サイトURLを入力
https://会社名.sharepoint.com/sites/サイト名
④ 以下2つを選択
-
EquipmentMaster
-
EquipmentLog
Step6-2:データ整形(超重要)
Power BIでほぼ必ずやる作業です。
Action列を使いやすくする
Power Queryで以下を確認。
借用
返却
表記ゆれがあると全部死にます。
日付列をDatetime型にする
DateTime → 日付/時刻型
ユーザー名を分離(おすすめ)
User.DisplayName
User.Email
両方持っておくと分析が楽です。
Step6-3:リレーション設定
Power BIのモデル画面で、
EquipmentLog.Title
↓
EquipmentMaster.EquipmentID
を紐付けます。
Step6-4:まず作るべき3つの可視化
ここからが実務で効く部分です。
① 備品利用ランキング
作り方
ビジュアル:棒グラフ
軸
EquipmentID
値
借用回数
借用回数メジャー
BorrowCount =
CALCULATE(
COUNTROWS(EquipmentLog),
EquipmentLog[Action] = "借用"
)
👉 これで
「稼働している備品」
が一発で見えます。
② 長期貸出アラート一覧
これが運用で一番効きます。
新規列を作成
貸出日数 =
DATEDIFF(
EquipmentMaster[LastCheckoutDate],
NOW(),
DAY
)
テーブル表示
| 備品名 | 利用者 | 貸出日数 |
👉 管理者が棚卸しする必要がほぼ消えます。
③ 稼働率分析(DX感が一気に出る)
稼働率計算(簡易版)
稼働率 =
BorrowCount /
DISTINCTCOUNT(EquipmentMaster[EquipmentID])
👉
「足りないのか」
「余っているのか」
が判断できます。
Step6-5:部署別利用分析(おすすめ)
ユーザーから部署情報を取れる場合は神になります。
Azure AD連携している場合
User.Department
が取得可能です。
作れる分析
-
部署別貸出数
-
部署別占有率
-
備品偏在
Step6-6:Power BIをTeamsに埋め込む
ここまでやると一気に実務ツールになります。
手順
Power BI Serviceに公開
↓
Teamsタブに追加
↓
常時閲覧可能
👉 管理者が「レポート作る」文化が消えます。
運用してわかったPower BIの真価
備品管理は単なる在庫管理ではなく、
投資判断材料
になります。
実際に起きた例
✔ 使用率0%の備品が判明
→ 更新停止
✔ 特定部署だけ占有
→ 追加購入判断
✔ HDMI変換が慢性的不足
→ 即増設
Power BIを入れる最大のメリット
貸出管理だけならPower Appsで十分です。
でもPower BIを入れると、
✔ 管理業務が分析業務になる
✔ 予算説明が数字でできる
✔ DXっぽさが急に増す
ここが効きます。
ここまでの完成形アーキテクチャ
Power Apps
↓
SharePoint
↓
Power Automate
↓
Power BI
↓
Teams公開
Power Platformだけで完結します。
貸出アプリは問題を「解決」します。
Power BIは問題を「予防」します。
実装してわかった落とし穴
❌ Statusを自由入力にした
→ 表記ゆれ地獄
必ずChoice型にする。
❌ CurrentUserをテキストにした
→ ユーザー名変更で壊れる
👉 必ず「ユーザー型」
❌ 履歴を保存しなかった
→ 「誰が最後に使った?」が追えない
運用で一番効いた仕掛け
借用操作を「善意」に依存しない
ポイントはここです。
✔ QRコードで操作を最短化
✔ 未返却は自動通知
✔ 管理者が追いかけない
導入後の変化
地味ですが確実に効きます。
-
備品探索時間ゼロ
-
重複購入が消える
-
棚卸し作業がほぼ消滅
-
「誰が持ってる?」文化が消える
なぜPower Platformが向いていたか
この手の仕組みは、
-
完璧な在庫管理システム
-
ERP連携
-
購買統合
までやりがちです。
でも備品管理は、
👉 軽さが正義
Power Platformは
-
UIがすぐ作れる
-
Teamsと相性がいい
-
改修が容易
という点で非常に相性が良かったです。
まとめ
備品管理はIT的に難しくありません。
難しいのは、
人が記録したくなる導線を作ること
です。
そしてその答えは、
👉 操作を3秒で終わらせること
でした。
もしこの記事を見て「作ってみたい」と思った人は、
まずはSharePointに2つのリストを作るところから始めてください。
そこまでできれば、もう完成の半分です。