Tutorial Task 2.9 - Output By Hour By Type
任务概述
在本任务中,您将创建一个统计收集器,用于记录每小时每种类型的总产出:


本任务基于本系列任务1中使用的相同模型。关于如何打开模型的信息,请参考该任务:
步骤1向统计收集器添加事件
在此步骤中,您将向统计收集器添加事件。操作如下:
- 点击屏幕左侧的工具箱选项卡,点击
按钮以添加新工具。导航至统计部分并选择统计收集器。这将打开一个属性窗口。 - 点击顶部的字段,将统计收集器重命名为OutputByHourByType。
- 在“事件”选项卡中,点击“采样器”按钮。然后在工具箱中选择“存储系统”选项。在槽位退出时选项。
- 在行值字段中,输入以下代码:
数据。项目。类型 - 点击
“事件”选项卡左上角的加号按钮。选择创建定时器事件选项。将此事件的 - 名称设置为每小时 - 完成。点击
- “首次时间”旁边的三角形按钮。First Time属性并选择1小时选项。
- 点击重复间隔属性旁边的三角形按钮,然后选择每小时选项。
- 在行值字段中,编写以下代码:
collector.getAllRowValues() - 勾选事件后完成相关行复选框。
- 点击
事件标签左上角的加号按钮。选择创建定时器事件选项。option. - 将此事件的名称设置为每小时开始
- 。点击首次执行时间属性旁的箭头 并选择重置时
- 。点击重复间隔属性旁的三角按钮并选择 其中的每小时
- 选项。点击行值属性旁的三角按钮 并选择来自全局表列
- 。在弹出窗口中,请确保表属性设置为产品信息
- 设置列属性 为类型。
- 点击弹窗外区域可将其关闭。




说明
在此步骤中,您监听了三个事件:
- 存储系统的“货位离开”事件、
- 一个在一小时后触发且之后每小时触发一次的计时器事件,以及
- 一个在模型重置时触发且之后每小时触发一次的计时器事件。
第一个事件的行值是单个值——离开存储系统的物品类型。第二个事件的行值是统计收集器中当前所有活跃行值的集合。第三个事件的行值是ProductInfo表中Info列的所有值。无论哪个事件触发,每个行值都是一个有效的类型。
这些事件各自有特定的用途。“货位离开”事件将使统计收集器能够递增与该类型关联的标签。第一个计时器事件将使统计收集器能够显示给定小时的总数,并完成该行。第三个事件将为下一小时重新启动整个过程。
步骤2向统计收集器添加列
在此步骤中,您将向统计收集器添加列。为此:
- 点击列选项卡。
- 点击
按钮
并选择添加列。 - 将列名称设置为时间。
- 点击行添加值字段旁的箭头,选择时间,然后选择模型日期/时间。
- 再次点击
按钮
并选择添加列。 - 在名称字段中,将此列重命名为类型。
- 点击行添加值字段旁的箭头,指向数据,并选择行值。
- 将存储类型属性设置为整数。
- 再次点击
按钮,并选择添加列。 - 在名称字段中,将此列重命名为输出。
- 设置事件值字段到
数据。行。输出。 - 将存储类型属性设置为整数。
- 在事件/列连接区域,选择 该每小时 - 完成事件并勾选输出框 以将此事件连接到输出列。



解释
在这一步中,您添加了三列:时间、类型和输出。时间列和类型列较为直接;在每个小时开始时,这两列会记录当前时间以及每行对应的类型。第三列在添加行时不会记录数值,而是等待每小时 - 完成事件的发生。当该事件发生时,此列将记录输出值,即数据实体上的行标签。
剩下的唯一任务就是确保输出标签具有正确的数据,这将在下一步中完成。
步骤 3向统计收集器添加触发器
在这一步中,您将为统计收集器添加触发器。操作如下:
- 点击触发器选项卡。
- 点击加号按钮
并选择在行更新时。 - 点击加号按钮
在“行更新时”触发器中选择增加行标签。 - 在弹出的窗口中,将增量字段设置为
"输出"。增量值 应该已经设置为1。 - 点击应用按钮。
您可以在工具箱中右键单击OutputByHourByType收集器,并选择“查看表格”选项。 如果重置并运行模型,您将看到表格每小时按类型记录输出。 您可能希望尽可能快地运行模型,以查看数据填充情况。

说明
当模型重置时,EveryHour - Start事件触发。 它从ProductInfo表中收集一组Type值。 这为每个Type值在表格中添加一行。时间和类型 列被填充,但输出列留空。
当物品离开库存时,统计收集器会确定其类型。由于该类型已存在对应行,且"槽位离开"事件未关联任何列,表格不会发生变化。但此时会触发该类型行的"行更新"事件。您在此触发器添加的代码会使名为"输出"的行标签递增。通过这种方式,您就能统计特定类型的输出数量。
每小时,两个计时器事件都会触发。每小时-结束事件首先触发,因为它在列表中位置更高。该事件将所有当前行值作为其行值输出,因此会更新所有三个活动行。此事件与"输出"列关联,最终将记录"输出"行标签。随后事件完成该行,行值被清除,行标签也随之销毁。
最后,每小时-开始事件再次触发。它将再次从产品信息表中提取所有类型值。由于统计收集器已清除这些数值,它会为每个类型新增一行,重新开始整个过程。
步骤四创建图表
现在您将创建图表,以时间曲线的形式展示统计收集器中的数据。操作步骤如下:
- 点击仪表板屏幕顶部的按钮,然后选择添加仪表板选项。
- 在仪表板视图处于活动状态时,导航至左侧的库。在基础图表类型部分下,找到并拖拽一个时间序列图图表到仪表板上。这将打开新图表的属性窗口。
- 点击数据源字段,并从选项中选择OutputByHourByType收集器。
- 将X值属性设置为时间列。
- 将Y值属性设置为输出列。
- 勾选类型框中的按颜色拆分列表。
- 在设置中,将绘图样式属性更改为线条和点。
- 点击文本标签页。
- 勾选自定义标题框,并将自定义标题设置为按类型输出。
- 在显示列标题区域中, 勾选类型框。
- 点击颜色标签页。
- 点击编辑数值按钮,选择移除所有颜色。
- 点击加号按钮
三次以添加三种颜色。 - 点击应用按钮。
如果您现在重置并运行模型,您将能够看到图表显示您的按类型分小时输出收集器的时间序列图。和之前一样,您可能需要运行模型一段时间才能看到结果。

Cookie preferences
May we collect and use your data?
Learn more about the Third Party Services we use and our Privacy Statement.THIRD PARTY SERVICES
Strictly necessary – required for our site to work and to provide services to you
Improve your experience – allows us to show you what is relevant to you
Customize your advertising – permits us to offer targeted advertising to you
Are you sure you want a less customized experience?
Your experience. Your choice.
May we collect and use your data to tailor your experience?
Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.


微信扫一扫,打赏作者吧~