タスク2.3 - カスタム統計を作成および追跡する
タスクの概要
前のチュートリアルタスクで分かったように、滞在時間統計は、フローアイテムが1つのオブジェクトに入ってからそのオブジェクトを出るまでの時間を追跡します。しかし、複数のオブジェクトにわたるフローアイテムの滞在時間を追跡する場合はどうすればよいでしょうか。たとえば、複数のオブジェクトから構成されるワークステーションに出入りする時点の、フローアイテムの滞在時間を追跡する必要がある場合があります。統計コレクターには、このようなカスタムの滞在時間統計を作成する機能があります。このチュートリアルタスクでは、これらの機能について説明します。
このチュートリアルタスクでは、統計コレクターを使用してカスタムの統計を作成する方法について学習します。さらに、計算済みテーブルを使用して統計コレクターからデータを変換する方法についても学習します。このチュートリアルタスクでは、オブジェクトのグループから現在のコンテンツ統計を表示するデータテーブルを作成する方法についても説明します。
ステップ1 カスタム滞在時間統計を作成する
このステップでは、ワークステーション全体のフローアイテムの滞在時間をリッスンする新しい統計コレクターを作成します。フローアイテムが最初にキューに入るときと、プロセッサから出るときをリッスンすることで、このカスタム滞在時間を作成します。また、これらの両方のイベントをトリガーするフローアイテムのIDを追跡するため、アイテムというラベルも作成します。
シミュレーションモデルでこれらのイベントをリッスンするには:
- [ツールボックス]で[追加]ボタン をクリックして、メニューを開きます。[統計]をポイントし、[統計コレクター]を選択して新しいコレクターを作成し、プロパティウィンドウを開きます。
- プロパティウィンドウの上部にある名前ボックスで、コレクターの名前を「WorkstationStaytimes」に変更します。
- [イベントリスニング]タブの[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- [ツールボックス]で[MyQueues]グループをクリックして、メニューを開きます。[エントリ時]を選択してサンプリングします。このイベントが統計コレクターのイベントリストに表示されるようになります。
- この新しいイベントをイベントリストで選択した状態で、[パラメータ]テーブルの[イベントの詳細]を確認します。[イベントデータラベル名]列の[入るアイテム]行にあるセルをダブルクリックします。現在のテキストを削除し、このラベルに「Item」という名前を付けます。
- イベントリストの上にある[サンプラー]ボタン をクリックして、再度サンプリングモードに入ります。
- [ツールボックス]で[MyProcessors]グループをクリックして、メニューを開きます。[終了時]を選択してサンプリングします。このイベントも統計コレクターのイベントリストにも表示されるようになります。
- この新しいイベントをイベントリストで選択した状態で、[パラメータ]テーブルの[イベントの詳細]を確認します。[イベントデータラベル名]列の[出るアイテム]行にあるセルをダブルクリックします。現在のテキストを削除し、このラベルに、キューのエントリ時イベントのラベル名と一致する「Item」という名前を付けます。
シミュレーションモデルを保存することをおすすめします。
ステップ2 イベント依存データテーブルを設定する
前のステップでは、フローアイテムがキューに入るときと、プロセッサから出るときをリッスンするように統計コレクターを設定しました。このステップでは、各フローアイテムを追跡し、ワークステーションへの出入りに応じて列を更新するデータテーブルを設定します。
このデータテーブルを作成するには:
- [データ記録]タブの[行]グループで、[行作成モード]メニューを開きます。[一意の行の値]を選択します。
- [行の値]メニューをクリックし、[アイテム]を選択します(これは前に作成したイベントデータラベルと同じです)。
- [列]グループで[追加]ボタン をクリックして新しい列を追加します。
- [名前]ボックスで、列の名前を「Item」に変更します。
- [更新]メニューをクリックし、[行が追加されたとき]を選択します。
- [値]ボックスの横にある矢印をクリックして、メニューを開きます。[ID]をポイントし、[行の値のID]を選択します。
- [表示形式]メニューをクリックし、[未加工]を選択します。
- [列]グループで[追加]ボタン をクリックして新しい列を追加します。
- [名前]ボックスで、列の名前を「EnterTime」に変更します。
- [値]ボックスの横にある矢印をクリックして、メニューを開きます。[時間]をポイントしてから[モデル日付/時刻]を選択します。
- 前のステップを繰り返して3つ目の列を追加し、名前を「ExitTime」に変更します。
- 列リストで[イベント/列の依存関係を編集]ボタンをクリックしてテーブルを開くと、統計コレクターがリッスンしているすべてのイベントと、作成した2つの新しい列が表示されます。
- [EnterTime]列の[MyQueues - エントリ時]行にあるセルをクリックします。このセルに「X」を入力します。また、[ExitTime]列の[MyProcessors - 終了時]行に「X」を入力します。
- [一般]タブで[テーブルを表示]ボタンをクリックして、このコレクターのデータテーブルを開きます。
- モデルをリセットして実行します。
モデルを実行すると、フローアイテムがキューに入ったときにデータテーブルの[開始時刻]列が更新されることが分かります。その後、同じフローアイテムがプロセッサから出るときに[終了時刻]列が更新されます。
ステップ3 計算済みテーブルを作成する
このステップでは、計算済みテーブルを作成して、追加のカスタム統計を取得します。計算済みテーブルツールを使用すると、コレクターのデータテーブルにある未加工データを変換できます。このステップでは、ワークステーション内のフローアイテムの合計滞在時間(キューに入ってからプロセッサを出るまで)を計算できるテーブルを作成します。
計算済みテーブルはSQLクエリを使用してこれらのカスタム統計を作成します。このステップでは、フローアイテムの終了時刻から開始時刻を減算するSQLクエリを作成します。このデータをWorkstationStaytimes統計コレクターから取得し、TotalTimeという名前の新しい列に表示します。
この情報は、計算済みテーブルによって生成されたデータテーブルを含む任意のデータテーブルからエクスポートできます。その後、必要に応じて、サードパーティのソフトウェアを使用してこのデータを分析できます。
この計算済みテーブルを設定するには:
- [ツールボックス]で[追加]ボタン をクリックして、メニューを開きます。[統計]をポイントし、[計算済みテーブル]を選択して新しいテーブルを作成し、プロパティウィンドウを開きます。
- プロパティウィンドウの上部にある名前ボックスで、この計算済みテーブルの名前を「TotalStayTimes」に変更します。
- [クエリ]ボックスに「
SELECT Item, ExitTime - EnterTime AS TotalTime FROM WorkstationStaytimes
」と入力します。 - [更新]ボタンをクリックし、[結果を表示]ボタン をクリックすると、完全な計算済みテーブルが表示されます。
シミュレーションモデルを保存することをおすすめします。
ステップ4 現在の統計データテーブルを作成する
このステップでは、統計コレクターにデータテーブルを作成して、オブジェクトグループの現在の統計を記録する方法について学習します。このような統計コレクターを作成するには、データテーブルで[列挙された行]行作成モードを使用します。このタイプの統計コレクターは、[列挙された行]リストで指定したすべてのオブジェクトの現在の統計を記録します。このデータテーブルは、シミュレーションモデルの実行中に継続的に更新されます。このような統計コレクターは特定のイベントをリッスンするため、[イベントリスニング]タブはスキップされます。
このステップでは、シミュレーションモデル内のすべてのキューの入力、出力、平均コンテンツに関する統計を収集します。前のチュートリアルタスクですべてのキューのグループを作成しているため、列挙された行リストには、MyQueuesグループのみを追加します。統計コレクターは、データテーブル内のグループメンバーごとに1つの行を作成します。
この統計コレクターを作成するには:
- [ツールボックス]で[追加]ボタン をクリックして、メニューを開きます。[統計]をポイントし、[統計コレクター]を選択して新しいコレクターを作成し、プロパティウィンドウを開きます。
- プロパティウィンドウの上部にある名前ボックスで、コレクターの名前を「QueueStatistics」に変更します。
- [データ記録]タブで[行作成モード]メニューをクリックし、[行を列挙]を選択します。
- [列挙された行]リストの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- [ツールボックス]で[MyQueues]グループをクリックして、サンプリングします。グループが[列挙された行]リストに表示されます。
- [列]グループで[追加]ボタン をクリックして新しい列を追加します。
- [名前]ボックスで、列の名前を「Object」に変更します。
- [更新]メニューをクリックし、[行が追加されたとき]を選択します。
- [値]ボックスの横にある矢印をクリックして、メニューを開きます。[ID]、[行の値のID]の順にポイントします。
- [列]グループで[追加]ボタン をクリックして新しい列を追加します。
- [名前]ボックスで、列の名前を「Input」に変更します。
- [更新]メニューをクリックし、[常に]を選択します。
- [値]ボックスの横にある矢印をクリックして、メニューを開きます。[オブジェクト統計]、[オブジェクト別統計]の順にポイントし、ピックリストオプションウィンドウを開きます。
- ピックリストオプションの[オブジェクト]ボックスに「
data.rowValue
」と入力します。 - [統計]メニューをクリックし、[入力]を選択します。
- [列]グループで[追加]ボタン をクリックして新しい列を追加します。
- [名前]ボックスで、列の名前を「Output」に変更します。
- [更新]メニューをクリックし、[常に]を選択します。
- [値]ボックスの横にある矢印をクリックして、メニューを開きます。[オブジェクト統計]、[オブジェクト別統計]の順にポイントし、ピックリストオプションウィンドウを開きます。
- ピックリストオプションの[オブジェクト]ボックスに「
data.rowValue
」と入力します。 - [統計]メニューをクリックし、[出力]を選択します。
- [OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
- [一般]タブで[テーブルを表示]ボタンをクリックして、このコレクターのデータテーブルを開きます。
- モデルをリセットして実行します。
モデルを実行すると、データテーブルが更新され、各キューの現在の入出力に関する最新の統計情報が表示されます。
このようなデータテーブルは、他の利用可能なオブジェクト統計(最小コンテンツ、最大コンテンツ、平均コンテンツなど)を使用しても作成できます。
ステップ5 チャートを追加して現在の統計を比較する
このステップでは、3つの異なるチャートを作成して、キューの現在の統計を表示します。キューの入力と出力を比較する棒グラフを作成します。また、同じデータを表示する円グラフとテーブルチャートも作成します。
これらのチャートを作成するには:
- ダッシュボードの空白スペースをダブルクリックして、クイックライブラリを開きます。
- [チャート]グループで[棒グラフ]をクリックして、ダッシュボードに追加します。プロパティウィンドウが自動で開きます。
- ウィンドウの上部にある名前ボックスで、チャートの表示名を「Queue Input vs. Output」に変更します。
- [データ]タブで[データソース]メニューをクリックし、[QueueStatistics]コレクターを選択します。
- [タイトル]メニューをクリックし、[オブジェクト]を選択します。
- [含める]グループで、[入力]と[出力]のチェックボックスをオンにします。
- [設定]タブで[パーセンテージを表示]チェックボックスをオフにします。
- [OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
- ダッシュボードの空白スペースをダブルクリックして、クイックライブラリを開きます。
- [チャート]グループで[円グラフ]をクリックして、ダッシュボードに追加します。プロパティウィンドウが自動で開きます。
- 円グラフに対して、前のステップを繰り返します。
- すべての円グラフを表示するには、円グラフのサイズを変更する必要がある場合があります。必要に応じてクリックし、黒いサイズ調整ボックスを使用してサイズを変更できます。
- ダッシュボードの空白スペースをダブルクリックして、クイックライブラリを開きます。
- [チャート]グループで[テーブルチャート]をクリックして、ダッシュボードに追加します。プロパティウィンドウが自動で開きます。
- ウィンドウの上部にある名前ボックスで、チャートの表示名を「Queue Input vs. Output」に変更します。
- [データ]タブの[含める]グループで、[オブジェクト]、[入力]、[出力]チェックボックスを3つともオンにします。
- [OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
- モデルをリセットして実行します。
一定時間が経過すると、キューコンテンツの傾向が安定する傾向にあることが分かります。
結論
これで、統計コレクターのチュートリアルは終了です。これで、シミュレーションモデルから必要なデータを正確に取得できる可能性についてよく理解できるようになりました。サードパーティのソフトウェアでさらに分析するために、各データテーブルから未加工データをエクスポートすることもできます。