タスク2.4 - 進行中の注文の統計コレクター
タスクの概要
このチュートリアルでは、処理フローアクティビティとイベントを使用して特定のデータを収集する方法をさらに詳しく見ていきます。具体的には、モデル内で進行中の注文数に関するデータを収集します。これは、他の「進行中の作業(WIP)」の測定結果に似ていますが、主に、注文の到着から履行までの注文そのものを調査します。これを測定するために、処理フロー内のアクティビティの各セットでトークンの数を調べます。このとき、統計コレクターの内部イベントを使用してカウントして測定します。
このチュートリアルは、このシリーズのチュートリアル1で使用されたものと同じモデルをベースにしています。モデルのロード方法については、そのチュートリアルを参照してください。
ステップ1 統計コレクターを設定する
始めるには、まず、統計コレクターを作成して設定する必要があります。そのためには、次の手順を実行します。
- 画面の左側にある[ツールボックス]タブをクリックして、ボタンをクリックし、新しいツールを追加します。[統計]セクションに移動して、[統計コレクター]を選択します。これにより、プロパティウィンドウが開きます。
- 最上部にあるフィールドをクリックして、統計コレクターの名前を「OrdersInProgress」に変更します。
- まだ開いていない場合は、処理フローのビューを開きます(これを行うには、最上部にある[処理フロー]ボタンをクリックして、一般ディレクトリを選択してから、[処理フロー]を選択します)。
- 統計コレクターのプロパティウィンドウに戻って、サンプラーボタンをクリックし、新しいイベントをサンプリングします。サンプラーがアクティブになっている状態で、[処理フロー]ウィンドウに移動して、アクティビティ[ステーションを取得]をクリックします。開いているメニューから、[エントリ時]イベントを選択します。
- ここで、もう一度同じ操作を繰り返して、別のイベントを追加します。サンプラーボタンをクリックしてから、[処理フロー]ウィンドウで、同じフローの最後にある[シンク]アクティビティに移動します。もう一度、[エントリ時]イベントを選択します。
- [ステーションを取得 - エントリ時]イベントをクリックして選択してから、[追加のラベル]フィールドの近くにあるボタンをクリックします。オプション[このイベントのラベルを追加...]を選択します。
- すぐ近くの[名前]フィールドで、そのラベルに「Delta」という名前を付けます。
- [値]フィールドに、「
1
」と入力します。 - [行の値]フィールドに、「
1
」と入力します。これは単なるフィラー値です。統計コレクターが行そのものを記録するには、この値を空にすることができないためです。 - ここで、[シンク - エントリ時]イベントをクリックします。[追加のラベル]フィールドの近くにあるボタンをクリックして、オプション[このイベントのラベルを追加...]を選択します。
- [名前]フィールドで、このラベルの名前も「Delta」に変更します。
- 今回は、[値]フィールドに、「
-1
」と入力します。 - もう一度、[行の値]フィールドに、「
1
」と入力します。 - ここで、プロパティウィンドウで[列]タブをクリックします。
- 最上部にあるボタンをクリックして新しい列を追加します。
- [名前]フィールドで、その列に「OrdersInProgress」という名前を付けます。
- [行の追加の値]フィールドに、「
0
」と入力します(これは、コンテンツのベース値を0から始めたいからです)。 - その後で、[イベントの値]フィールドの横にある矢印をクリックして、[データ]カテゴリと[増分データ値]オプションを選択します。これで、新しいフィールドサブウィンドウが表示されます。
- [増加量]フィールドに、「data.Delta」と入力します(これは、設定したDeltaラベル値のために、トークンが入ってから出るたびに、列の値に1が加算されてから1が減算されることを意味します)。
- [保管タイプ]フィールドをクリックして、[整数]を選択します。これは、このコレクターでは、整数を進行中のトークンの数として扱うためです。
- 最後に、イベントを[OrdersInProgress]列に接続する必要があります。[イベント/列の接続]フィールドで各イベントをクリックして、[このイベントで更新される列を指定する]という名前のセクションで、[OrdersInProgress]チェックボックスがオンになっていることを確認します。
- [適用]ボタンをクリックします。
これで、モデルの実行中にOrdersInProgressコレクターのテーブルを表示すると、[OrdersInProgress]列が進行中のトークンの内容で更新されていることを確認できます。テーブルを表示するには、[ツールボックス]タブで[OrdersInProgress]コレクターを右クリックして、[テーブルを表示]オプションを選択します。
最初のイベントが発生するまで、テーブルに値が入力されないことに気付く場合があります。最初のトークンが最初のアクティビティを通過するまでテーブルは空白のままです。ただし、チャートを作成するためなどでモデルを0の値から開始したい場合は、最初からテーブルに0を入力する別のイベントを統計コレクターに追加できます。
そのためには、次の手順を実行します。
- OrdersInProgressコレクターのプロパティウィンドウを開きます。
- [イベント]タブで、最上部の近くにあるボタンをクリックします。オプション[リセット時にイベントを作成する]を選択します。
- [リセット時]イベントが選択された状態で、[行の値]フィールドをクリックして、「1」と入力します。
- [適用]ボタンをクリックします。
これで、モデルをリセットして実行すると、OrdersInProgressの値がモデルの実行時間の開始時点で0から始まる様子を確認できます。
ステップ2 チャートを作成する
ここでは、ダッシュボードで単純なテーブルチャートだけを使用して、統計コレクターテーブルをチャート化します。
- まず、画面の最上部にある[ダッシュボード]ボタンをクリックして、[ダッシュボードを追加]オプションを選択します。
- 右側の[プロパティ]で、フィールド[ダッシュボード名]をクリックします。ダッシュボードの名前を「OrdersInProgress」に変更します。
- ダッシュボードビューがアクティブになっている状態で、左側のライブラリに移動します。[基本のチャートタイプ]セクションで、[テーブルチャート]を探してダッシュボードにドラッグします。これにより、新しいチャートのプロパティウィンドウが開きます。
- [データソース]フィールドをクリックして、オプションから[OrdersInProgress]コレクターを選択します。
- [含める]セクションで、[OrdersInProgress]ボックスをオンにします。
- [適用]ボタンをクリックします。
これで、モデルをリセットして実行すると、トークンが処理を通過すると、OrdersInProgressの値がインクリメントされ、デクリメントされる様子を確認できます。
これがこのチュートリアルの結果です。次のチュートリアルでは、梱包中のパレットのサイズごとに、モデル内の注文数を測定する方法を学習します。