评估花型统计

花型统计本质上是生产报表的统计摘要。

可以非常灵活地通过不同列进行分组(也可以合并)
因此,返回表的大部分列包含数组。
如果不合适的分组发生在一个较大的评估区段,这些数组可能会变得非常庞大,会对评估的效果造成不利影响。

示例:年度评估

只按机器分组。(不与按花型分组或按工票分组合并)

结果列AGG_PATTERN_NAME包含了今年生产的所有花型名称的数组。

调用参数:

有关筛选器的注释:

像生产报表一样,所有的筛选器都是“弱”筛选器
报表概览

参数

型号

描述

__sSchema

text

辅助数据库表的 schema。
使用临时表时,_sDestSchema 必须始终为== ‘‘

_sTable_Prefix

text,

辅助数据库表的前缀

_aSortorder

text[]

排序(列标题数组)

示例: ARRAY['MC_SORT_ID','START_TIME']

_bGroupByMachine

boolean

按机器分组

_bGroupByShift

boolean

按班次分组

_bGroupByUserName

boolean

按用户分组(在机器上)

_bGroupByPattern

boolean

按花型分组

_bGroupBySeq

boolean

按顺序分组

_bGroupByTicketUid

boolean

按工票分组(PPSUID)

_bGroupByTicketProductionId

boolean

按工票生产 ID 分组

_bGroupByTicketProductionSub1Id

boolean

按工票生产子 ID1 分组

_bGroupByTicketProductionSub2Id

boolean

按工票生产子 ID2 分组

_bGroupByTicketCustomerId

boolean

按工票客户 ID 分组

_bGroupByTicketArticleId

boolean

按工票货品 ID 分组

_aFilterShift

integer[]

按班次筛选

示例:
仅针对班次1和3: ARRAY[1,3]

_aFilterUsername

text[]

按用户筛选(挡车工)

示例: ARRAY[‚User_1,'User_3']

_aFilterPattern

text[]

按顺序筛选

示例: ARRAY['S-kUuG01','P-Sjo9v3']

_aFilterSeq

text[]

按顺序筛选

示例: ARRAY['SEQ-WNJhP3','SEQ-wMWzx2']

_aFilterTicketUid

bigint[][]

按内部工票UID 筛选

示例: ARRAY[3374994314,3738720541]

_aFilterTicketProductionId

text[]

按生产工票ID筛选

示例: ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8']

_aFilterTicketProductionsub1Id

text[]

按工票生产sub1D筛选

示例: ARRAY['SubId_2','SubId_21']

_aFilterTicketProductionsub2Id

text[]

按工票生产sub2D筛选

示例: ARRAY['-']

_aFilterTicketCustomerId

text[]

按工票客户 ID 筛选

示例: ARRAY['cId-2','cId-4']

_aFilterTicketArticleid

text[]

按工票货品 ID 筛选

示例: ARRAY['H8T803']

_aFilterUserState

Smallint[]

按用户状态筛选

示例: ARRAY[4,3]

_aFilterSintralState

Smallint[]

按Sintral状态筛选

示例: ARRAY[4,3]

_xFilterMinDuration

interval

筛选掉活动时间小于x秒的织片。
借此,可以筛选掉那些由于不利的或错误的事件订单而导致的假织片。
合理的值为:大约 2 秒

_bFilterUseOnlyNettoTime

boolean

只包括净时间。( == 机器具有生产标志 == 从导入花型直至片数计数器为 0 时停机的时间 )

_bFilterUseOnlyProductiveTicketTime

boolean

如果== 真,服务工票的时间或无工票生产的时间将被筛选掉。

返回表

注意:

型号

内容

MC_ID

integer

SKR 机器 ID

MC_SORT_ID

smallint

按机器名称按字母顺序排序
(机器名可以借助 MC_ID 确定)

AGG_SEQ_NAME

text[]

顺序名称 (n)

AGG_PATTERN_NAME

text[]

花型名称 (n)

START_TIME

timestamp without time zone

开始时间

END_TIME

timestamp without time zone

结束时间

AGG_SHIFT_STATES

smallint[]

活动班次

AGG_USER_STATES

smallint[]

织片或工票处理过程中活动的用户状态

AGG_SINTRAL_STATES

smallint[]

织片或工票处理过程中的Sintral状态

AGG_USER_NAME

smallint[]

织片或工票处理过程中处于活动状态的用户

AGG_TICKET_DATA

text[]

工票数据
当前格式:
TicketType | CustomerId | Articleid | ProductionId | ProductionSub1Id | ProductionSub2Id | Uid

KNIT_COUNT

integer

完成织片数量(未取消)

BREAK_COUNT

integer

取消织片数量

SUM_BREAK_DURATION

interval

用于取消的织片/工票的时间

(可能的情况是,只有当列按花型分组时才有意义)

AVG_DURATION

interval

每个织片的平均时间

  • 包括停机时间
  • 忽略已取消的织片

MIN_DURATION

interval

每个织片的最短时间

包括停机时间

忽略已取消的织片

MAX_DURATION

interval

包括停机时间的每个织片最长时间,忽略已取消的织片

SUM_DURATION

interval

总时间

  • 包括停机时间
  • 忽略已取消的织片

AVG_KNIT_DURATION

interval

每个织片的平均时间

  • 不包括停机时间
  • 忽略已取消的织片

MIN_KNIT_DURATION

interval

每个织片的最短时间

  • 不包括停机时间
  • 忽略已取消的织片

MAX_KNIT_DURATION

interval

每个织片的最长时间

  • 不包括停机时间
  • 忽略已取消的织片

SUM_KNIT_DURATION

interval

总时间

  • 不包括停机时间
  • 忽略已取消的织片

[MIN_UID]

bigint

调试信息:<prefix>_collected_filter_rows 中开始时间 UID

[MAX_UID]

bigint

调试信息:<prefix>_collected_filter_rows 中结束时间UID

[AGG_TICKET_UID]

bigint[]

调试信息:活动工票UID’s

[AGG_TICKET_CUSTOMER_ID]

text[]

调试信息:活动工票CUSTOMER ID‘s

[AGG_TICKET_ARTICLE_ID]

text[]

调试信息:活动工票ARTICLE ID‘s

[AGG_TICKET_PRODUCTION_ID]

text[]

调试信息:活动工票PRODUCTION_ID‘s

[AGG_TICKET_PRODUCTION_SUB1_ID]

text[]

调试信息:活动工票PRODUCTION_SUB1_ID‘s

[AGG_TICKET_PRODUCTION_SUB2_ID]

text[]

调试信息:活动工票PRODUCTION_SUB2_ID‘s

代码示例„sample_pattern_statistik.sql“

重要点:

假设评估辅表report_01.sample_xxxxxxxx已经生成。
创建评估辅表(光标运行- UDF)

为高效工作,输入一个空的字段‘‘而不是report_01,架构。但必须与创建辅表时指定的内容相同。

select * from skrpps_02.eval_pattern_statistic

(

'report_01' -- Schema

,'sample' – Table Name Prefix

,ARRAY['AGG_MC_SORT_ID','AGG_SEQ_NAME','AGG_PATTERN_NAME'] – Sorting

 

,true -- GroupBy Machine

,false -- GroupBy Shift?

,false -- GroupBy UserName

,true -- GroupBy Pattern

,true -- GroupBy Sequence

,false -- GroupBy "TICKET_UID"

,false -- GroupBy "TICKET_PRODUCTION_ID"

,false -- GroupBy "TICKET_PRODUCTION_SUB1_ID"

,false -- GroupBy "TICKET_PRODUCTION_SUB2_ID"

,false -- GroupBy "TICKET_CUSTOMER_ID"

,false -- GroupBy "TICKET_ARTICLE_ID"

 

,NULL -- ARRAY[2,3] -- Filter by shift

,NULL -- ARRAY['User_3','User_4'] -- Selection/Filter UserName

,NULL     -- ARRAY['S-kUuG0','P-Sjo9v3'] -- Selection/Filter Pattern

,NULL -- ARRAY['SEQ-WNJhP3','SEQ-9bEqD1'] -- Selection/Filter Sequences

,NULL -- ARRAY[3374994314,3738720541] -- Selection/Filter FilterTicketUid bigint[]

,NULL -- ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8'] -- Selection/Filter FilterTicketProductionId text[]

,NULL -- ARRAY['SubId_2','SubId_21'] -- Selection/Filter FilterTicketProductionSub1Id text[]

,NULL -- ARRAY['-'] -- Selection/Filter FilterTicketProductionSub2Id text[]

,NULL -- ARRAY['cId-2','cId-4'] -- Selection/Filter FilterTicketCustomerId text[]

,NULL -- ARRAY['H8T803'] -- Selection/Filter FilterTicketArticleId text[]

,NULL -- ARRAY[4,3] -- Selection/Filter UserState

,NULL -- ARRAY[4,3] -- Selection/Filter SintralState

 

,'00:00:01' -- FilterMinDuration‚ Filter-out fabric pieces or tickets with a duration shorter than the specified value.

-- (e.g. in order to keep times after ending a ticket and before starting the next out of the report in case of the Auto Production Mode)

,false – Evaluate net times only. ( == Machine has set the Productive flag == Time from pattern loaded state to Piece Counter is zero

,false – If == false, all times allocated to service tickets will be filtered-out.

);