タスク2.4 - 進行中の注文の統計コレクター

タスクの概要

このチュートリアルでは、処理フローアクティビティとイベントを使用して特定のデータを収集する方法をさらに詳しく見ていきます。具体的には、モデル内で進行中の注文数に関するデータを収集します。これは、他の「進行中の作業(WIP)」の測定結果に似ていますが、主に、注文の到着から履行までの注文そのものを調査します。これを測定するために、処理フロー内のアクティビティの各セットでトークンの数を調べます。このとき、統計コレクターの内部イベントを使用してカウントして測定します。

このチュートリアルは、このシリーズのチュートリアル1で使用されたものと同じモデルをベースにしています。モデルのロード方法については、そのチュートリアルを参照してください。

統計チュートリアル1 - 基本的な統計コレクターを作成する

ステップ1 統計コレクターを設定する

始めるには、まず、統計コレクターを作成して設定する必要があります。そのためには、次の手順を実行します。

  1. 画面の左側にある[ツールボックス]タブをクリックして、ボタンをクリックし、新しいツールを追加します。[統計情報]セクションに移動して、[統計情報コレクター]を選択します。これにより、プロパティウィンドウが開きます。
  2. 最上部にあるフィールドをクリックして、統計コレクターの名前を「OrdersInProgress」に変更します。
  3. まだ開いていない場合は、処理フローのビューを開きます(これを行うには、最上部にある[処理フロー]ボタンをクリックして、一般ディレクトリを選択してから、[処理フロー]を選択します)。
  4. 統計コレクターのプロパティウィンドウに戻って、サンプラーボタンをクリックし、新しいイベントをサンプリングします。サンプラーがアクティブになっている状態で、[処理フロー]ウィンドウに移動して、アクティビティ[ステーションを取得]をクリックします。開いているメニューから、[On Entry]イベントを選択します。
  5. ここで、もう一度同じ操作を繰り返して、別のイベントを追加します。サンプラーボタンをクリックしてから、[処理フロー]ウィンドウで、同じフローの最後にある[シンク]アクティビティに移動します。もう一度、[On Entry]イベントを選択します。
  6. Get Station - On Entry]イベントをクリックして選択してから、[追加のラベル]フィールドの近くにあるボタンをクリックします。オプション[このイベントのラベルを追加...]を選択します。
  7. すぐ近くの[名前]フィールドで、そのラベルに「Delta」という名前を付けます。
  8. [値]フィールドに、「1」と入力します。
  9. 行の値]フィールドに、「1」と入力します。これは単なるフィラー値です。統計コレクターが行そのものを記録するには、この値を空にすることができないためです。
  10. ここで、[Sink - On Entry]イベントをクリックします。[追加のラベル]フィールドの近くにあるボタンをクリックして、オプション[このイベントのラベルを追加...]を選択します。
  11. 名前]フィールドで、このラベルの名前も「Delta」に変更します。
  12. 今回は、[]フィールドに、「-1」と入力します。
  13. もう一度、[行の値]フィールドに、「1」と入力します。
  14. ここで、プロパティウィンドウで[]タブをクリックします。
  15. 最上部にあるボタンをクリックして新しい列を追加します。
  16. 名前]フィールドで、その列に「OrdersInProgress」という名前を付けます。
  17. 行追加値]フィールドに、「0」と入力します(これは、コンテンツのベース値を0から始めたいからです)。
  18. その後で、[イベントの値]フィールドの横にある矢印をクリックして、[データ]カテゴリと[増分データ値]オプションを選択します。これで、新しいフィールドサブウィンドウが表示されます。
  19. 増加量]フィールドに、「data.Delta」と入力します(これは、設定したDeltaラベル値のために、トークンが入ってから出るたびに、列の値に1が加算されてから1が減算されることを意味します)。
  20. 保管タイプ]フィールドをクリックして、[整数]を選択します。これは、このコレクターでは、整数を進行中のトークンの数として扱うためです。
  21. 最後に、イベントを[OrdersInProgress]列に接続する必要があります。[イベント/列の接続]フィールドで各イベントをクリックして、[このイベントで更新される列を指定する]という名前のセクションで、[OrdersInProgress]チェックボックスがオンになっていることを確認します。
  22. 適用]ボタンをクリックします。

これで、モデルの実行中にOrdersInProgressコレクターのテーブルを表示すると、[OrdersInProgress]列が進行中のトークンの内容で更新されていることを確認できます。テーブルを表示するには、[ツールボックス]タブで[OrdersInProgress]コレクターを右クリックして、[テーブルを表示]オプションを選択します。

最初のイベントが発生するまで、テーブルに値が入力されないことに気付く場合があります。最初のトークンが最初のアクティビティを通過するまでテーブルは空白のままです。ただし、チャートを作成するためなどでモデルを0の値から開始したい場合は、最初からテーブルに0を入力する別のイベントを統計コレクターに追加できます。

そのためには、次の手順を実行します。

  1. OrdersInProgressコレクターのプロパティウィンドウを開きます。
  2. イベント]タブで、最上部の近くにあるボタンをクリックします。オプション[リセット時にイベントを作成する]を選択します。
  3. リセット時]イベントが選択された状態で、[行の値]フィールドをクリックして、「1」と入力します。
  4. 適用]ボタンをクリックします。

これで、モデルをリセットして実行すると、OrdersInProgressの値がモデルの実行時間の開始時点で0から始まる様子を確認できます。

ステップ2 チャートを作成する

ここでは、ダッシュボードで単純なテーブルチャートだけを使用して、統計コレクターテーブルをチャート化します。

  1. まず、画面の最上部にある[ダッシュボード]ボタンをクリックして、[ブランクのダッシュボードを追加]オプションを選択します。
  2. 右側の[プロパティ]で、フィールド[ダッシュボード名]をクリックします。ダッシュボードの名前を「OrdersInProgress」に変更します。
  3. ダッシュボードビューがアクティブになっている状態で、左側のライブラリに移動します。[基本のチャートタイプ]セクションで、[テーブルチャート]を探してダッシュボードにドラッグします。これにより、新しいチャートのプロパティウィンドウが開きます。
  4. データソース]フィールドをクリックして、オプションから[OrdersInProgress]コレクターを選択します。
  5. 含める]セクションで、[OrdersInProgress]ボックスをオンにします。
  6. 適用]ボタンをクリックします。

これで、モデルをリセットして実行すると、トークンが処理を通過すると、OrdersInProgressの値がインクリメントされ、デクリメントされる様子を確認できます。

これがこのチュートリアルの結果です。次のチュートリアルでは、梱包中のパレットのサイズごとに、モデル内の注文数を測定する方法を学習します。