業務の隙間を埋める技術メモ。

「それ、作れるか?」より 「それ、作って大丈夫か?」を考えたい。 業務で“ちゃんと使える”かどうかを、 実際に手を動かして確かめたログを残しています。

社内備品の「誰が持ってる問題」をなくすDXをPower Platformだけで作った話

 

会社にいると、なぜか必ず発生する問題があります。

「あの備品、誰が持ってる?」

ノート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つのリストを作るところから始めてください。

そこまでできれば、もう完成の半分です。