製造業の工場など、機械による生産ラインにおいて
遅延箇所を見える化したときの備忘メモです。
#生産ラインの可視化
- 生産ラインはいくつかの工程に分かれており、それぞれ機械で加工します。
- 各工程の開始時刻、終了時刻を記録したログを分析します。
- 機械が故障するとその工程はストップし、修理完了したら再開します。
- ストップしていた工程をPowerBIの分析レポートで可視化します。
###今回の細かい設定
- 製造工程は3つ。工程A~工程Cとする。
- 製品は100個。製品ID(ロットID)を 001~100 とする。
- 工程Bにて、80個目の製品を加工中に機械が故障してラインが滞留し始めたとする。
- 機械の故障はすぐに修理されて、90個目あたりで再開したとする。
#今回の目標(こんなグラフを作ります)
製品ID 80~90 はグラフが上に伸びてますが、これが遅延発生していた状態です。
その内訳は黒の面積が広いので、工程Bに問題があったことがわかります。
#作り方
##元データの準備
製品ID | 処理工程 | 開始時刻 | 終了時刻 |
---|---|---|---|
001 | 工程A | 9:00 | 9:16 |
001 | 工程B | 9:16 | 9:21 |
001 | 工程C | 9:21 | 9:32 |
002 | 工程A | 9:17 | 9:32 |
002 | 工程B | 9:32 | 9:38 |
002 | 工程C | 9:38 | 9:48 |
・・・ | ・・・ | ・・・ | ・・・ |
082 | 工程A | 20:50 | 21:05 |
082 | 工程B | 21:05 | 22:05 |
082 | 工程C | 22:05 | 22:10 |
・・・ | ・・・ | ・・・ | ・・・ |
100 | 工程A | 23:11 | 23:26 |
100 | 工程B | 23:26 | 23:31 |
100 | 工程C | 23:31 | 23:42 |
これをPowerBIにインポートします。 |
##処理時間の算出
インポートしたテーブルに、各工程でかかった 処理時間(分) を追加します。
(2018/12/13 追記:DATEDIFF関数に変えました)
新しい列の追加
処理時間(分) = DATEDIFF( [開始時刻], [終了時刻], MINUTE )
処理時間(分)
のデータ型は 時刻 ではなく10進数にするのがポイント。
理由は PowerBIでは、時刻型を[値]に設定すると、集計方法で[合計]が選べない からです。
【ひとりごと】
一般的に日付時刻データ型はコンピュータ内部で実数値として扱われているはずなので、合計するのは難しくないはず、、、
と思ってたのですがPowerBIは違うんでしょうか。
最後までお読みいただき、ありがとうございました。