运行重复值的计数JSL脚本 - 第2部分<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我很高兴有人在几天前提出了这个计数问题,但是,我想进一步提出许多制造/生产线会遇到的类似问题。
使用相同的颜色示例,具有不同的颜色产品,如红色,蓝色,绿色,黄色,白色。通过使用count_color脚本,我们可以直接计算每种颜色的计数。
然后,如果我将累计5个相同颜色的产品计数到一个装箱作为装运单位。当某个颜色产品达到其最大拳击容量时,即将推出的具有相同颜色的产品将自动将计数重置为1。为了区分包含相同颜色的生产的每个盒子的生产顺序,Box列应该保持像RED-1,RED-2,....
另一个约束是count_color需要区分/排序产品在哪个Shift(日或夜)。请参考下表。
我希望可以设计一个有用的jsl脚本来帮助满足生成count_color列和Box列的这种请求。
谢谢
| 颜色 | count_color | 转移 | 框 |
|---|
| ..... | ..... | | |
| 红色 | 4 | 晚 | RED-4 |
| 红色 | 五 | 晚 | RED-4 |
| 红色 | 1 | 天 | RED-1 |
| 红色 | 2 | 天 | RED-1 |
| 蓝色 | 1 | 晚 | BLUE-3 |
| 黄色 | 1 | 天 | YELLOW-2 |
| 蓝色 | 2 | 晚 | BLUE-3 |
| 绿色 | 1 | 晚 | 绿色-2 |
| 红色 | 3 | 天 | RED-1 |
| 蓝色 | 1 | 天 | BLUE-1 |
| 绿色 | 1 | 晚 | 绿色-2 |
| 白色 | 1 | 晚 | WHITE-1 |
| 白色 | 1 | 天 | WHITE-1 |
| 红色 | 4 | 天 | RED-1 |
| 红色 | 五 | 天 | RED-1 |
| 红色 | 1 | 天 | RED-2 |
| 蓝色 | 3 | 晚 | BLUE-3 |
| 黄色 | 2 | 天 | YELLOW-2 |
| 红色 | 1 | 晚 | RED-1 |
Re:运行重复值的计数JSL Script-Part2谢谢,MS。
Re:运行重复值的计数JSL Script-Part2如果将其粘贴到公式编辑器中,我的公式会给出预期结果。要按脚本添加它,就像您似乎已经完成的那样,您需要使用NameExpr()技巧来确保在进入公式属性之前不评估表达式(参见最近这篇博客 )。如果你看一下MS_Box_Script列中的公式,你会注意到它不是我在上面发布的。
DT = 当前数据表 () ;
DT << 新栏目 ( “真正的MS_Box_Script” ,
式 ( 名称Expr ( EVAL ( Eval Expr ( : 颜色 || “ - ” || 烧焦 ( 天花板 ( Col Sum ( 行 () <= EXPR ( 行 ()) , : 颜色 , : 转移 ) / 五 ))))))
) ;
Re:运行重复值的计数JSL Script-Part2谢谢,它很棒!
Re:运行重复值的计数JSL Script-Part2你好MS,
感谢您为我编写框脚本!
但是,您编写的脚本不能用作例外。
设计是有一个盒子商店5(最大)相同颜色的产品,然后一个新的!空的将进来存储即将推出的相同颜色的产品。Ť 盒子描述,即使是用于存储相同颜色的产品,也应该从1移动到2或2到3,就像n + 1一样。 但是,您提供的脚本对于相同的颜色都具有相同的框#。
我用过的Box脚本是
dt =当前数据表();
dt <<新列(“MS_Box_Script”,
数字,
“连续”,
格式(“最佳”,4),
公式(Eval(Eval Expr(:color ||“ - ”|| Char(Ceiling(Col Sum(Row()<= Expr(Row()),: color,:Shift)/ 5)+1)))) );
我附加了示例文件,“Excepted Box Result”列应该是脚本应该能够执行的结果。
你能帮忙解决这个问题吗?非常感谢,
| 颜色 | 转移 | 例外箱子结果 | MS_Box_Script |
| 蓝色 | 天 | BLUE-1 | BLUE-1 |
| 蓝色 | 天 | BLUE-1 | BLUE-1 |
| 蓝色 | 天 | BLUE-1 | BLUE-1 |
| 蓝色 | 晚 | BLUE-1 | BLUE-1 |
| 蓝色 | 晚 | BLUE-1 | BLUE-1 |
| 蓝色 | 晚 | BLUE-1 | BLUE-1 |
| 蓝色 | 晚 | BLUE-1 | BLUE-1 |
| 绿色 | 天 | GREEN-1 | GREEN-1 |
| 绿色 | 天 | GREEN-1 | GREEN-1 |
| 绿色 | 天 | GREEN-1 | GREEN-1 |
| 绿色 | 天 | GREEN-1 | GREEN-1 |
| 绿色 | 天 | GREEN-1 | GREEN-1 |
| 绿色 | 天 | 绿色-2 | GREEN-1 |
| 绿色 | 天 | 绿色-2 | GREEN-1 |
| 绿色 | 天 | 绿色-2 | GREEN-1 |
| 绿色 | 晚 | GREEN-1 | GREEN-1 |
| 红色 | 天 | RED-1 | RED-1 |
| 红色 | 天 | RED-1 | RED-1 |
| 红色 | 天 | RED-1 | RED-1 |
| 红色 | 天 | RED-1 | RED-1 |
| 红色 | 天 | RED-1 | RED-1 |
| 红色 | 天 | RED-2 | RED-1 |
| 红色 | 天 | RED-2 | RED-1 |
| 红色 | 天 | RED-2 | RED-1 |
| 红色 | 晚 | RED-1 | RED-1 |
| 红色 | 晚 | RED-1 | RED-1 |
| 红色 | 晚 | RED-1 | RED-1 |
| 红色 | 晚 | RED-1 | RED-1 |
| 红色 | 晚 | RED-1 | RED-1 |
| 黄色 | 天 | YELLOW-1 | YELLOW-1 |
| 黄色 | 天 | YELLOW-1 | YELLOW-1 |
| 黄色 | 天 | YELLOW-1 | YELLOW-1 |
| 黄色 | 晚 | YELLOW-1 | YELLOW-1 |
| 黄色 | 晚 | YELLOW-1 | YELLOW-1 |
| 黄色 | 晚 | YELLOW-1 | YELLOW-1 |
| 黄色 | 晚 | YELLOW-1 | YELLOW-1 |
| 黄色 | 晚 | YELLOW-1 | YELLOW-1 |
| 黄色 | 晚 | YELLOW-2 | YELLOW-1 |
| 黄色 | 晚 | YELLOW-2 | YELLOW-1 |
Re:运行重复值的计数JSL Script-Part2伟大的配方!我认为这适用于Box:
EVAL ( Eval Expr ( : 颜色 || “ - ” || 烧焦 ( 天花板 ( Col Sum ( 行 () <= EXPR ( 行 ()) , : 颜色 , : 转移 ) / 五 ))) )
Re:运行重复值的计数JSL Script-Part2建立在前几天他们所做的事情上。
如果(Mod(Eval(Eval Expr(Col Sum(Row()<= Expr(Row()),: Color,:Shift))),5),
Mod(Eval(Eval Expr(Col Sum(Row()<= Expr(Row()),: Color,:Shift))),5),
五
)
*编辑*或
Mod(Eval(Eval Expr(Col Sum(行()<= Expr(行()),:颜色,:Shift))) - 1,5) + 1