Evaluar estadística de muestras

La estadística de muestras en lo esencial es un resumen estadístico del reporte de producción.

Puede ser agrupado de manera muy flexible abarcando diferentes columnas (también en forma combinada)
Por consiguiente la mayoría de las columnas de la tabla de devolución contienen arrays.
En caso de agrupaciones desfavorables a través de un período de evaluación más prolongado, estos arrays pueden llegar a ser muy grandes, lo cual tiene efectos desfavorables sobre la eficiencia de las evaluaciones.

Ejemplo: Evaluación sobre un año

Solo se agrupa por máquinas. (no combinado con agrupación por muestra o ticket)

La columna de resultados AGG_PATTERN_NAME entonces contiene un array con todos los nombres de muestra producidos en este año.

Parámetros de llamada:

Indicación para los filtros:

Como en el reporte de producción, todos los filtros fueron implementados como filtros "débiles".
Información general de reporte

Parámetro

Tipo

Descripción

__sSchema

text

Esquema de las tablas de base de datos secundarias.
Si se trabaja con tablas temporales, _sDestSchema siempre tiene que ser == ‘‘

_sTable_Prefix

text,

Prefijo de las tablas de base de datos secundarias.

_aSortorder

text[]

Clasificar (Array (conjunto) de nombres de columnas)

Ejemplo: ARRAY['MC_SORT_ID','START_TIME']

_bGroupByMachine

boolean

Agrupar por máquina

_bGroupByShift

boolean

Agrupar por turno

_bGroupByUserName

boolean

Agrupar por usuario (en la máquina)

_bGroupByPattern

boolean

Agrupar por muestra

_bGroupBySeq

boolean

Agrupar por secuencia

_bGroupByTicketUid

boolean

Agrupar por ticket (UID de PPS)

_bGroupByTicketProductionId

boolean

Agrupar por ID de producción de ticket

_bGroupByTicketProductionSub1Id

boolean

Agrupar por Sub-Id 1 de producción de ticket

_bGroupByTicketProductionSub2Id

boolean

Agrupar por Sub-Id 2 de producción de ticket

_bGroupByTicketCustomerId

boolean

Agrupar por ID de cliente de ticket

_bGroupByTicketArticleId

boolean

Agrupar por ID de artículo de ticket

_aFilterShift

integer[]

Filtrar a través de turno(s)

Ejemplo:
emitir solo turno 1 y 3: ARRAY[1,3]

_aFilterUsername

text[]

Filtrar a través de usuario (tejedor)

Ejemplo: ARRAY[‚User_1,'User_3']

_aFilterPattern

text[]

Filtrar a través de secuencias

Ejemplo: ARRAY['S-kUuG01','P-Sjo9v3']

_aFilterSeq

text[]

Filtrar a través de secuencias

Ejemplo: ARRAY['SEQ-WNJhP3','SEQ-wMWzx2']

_aFilterTicketUid

bigint[][]

Filtrar a través de UID de ticket interna

Ejemplo: ARRAY[3374994314,3738720541]

_aFilterTicketProductionId

text[]

Filtrar a través de la ID de producción de ticket

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

_aFilterTicketProductionsub1Id

text[]

Filtrar a través de la Sub1Id de producción de ticket

Ejemplo: ARRAY['SubId_2','SubId_21']

_aFilterTicketProductionsub2Id

text[]

Filtrar a través de la Sub2Id de producción de ticket

Ejemplo: ARRAY['-']

_aFilterTicketCustomerId

text[]

Filtrar a través de la Id de cliente de ticket

Ejemplo: ARRAY['cId-2','cId-4']

_aFilterTicketArticleid

text[]

Filtrar a través de la ID de artículo de ticket

Ejemplo: ARRAY['H8T803']

_aFilterUserState

Smallint[]

Filtrar a través de estado de usuario

Ejemplo: ARRAY[4,3]

_aFilterSintralState

Smallint[]

Filtrar a través de estado de Sintral

Ejemplo: ARRAY[4,3]

_xFilterMinDuration

interval

Filtrar piezas de tisaje que estuvieron activos por menos de x segundos.
Con ello es posible filtrar las piezas fantasma, que pueden resultar por ejemplo debido a un incorrecto orden de eventos.
Valor razonable de la práctica: aprox. 2 seg.

_bFilterUseOnlyNettoTime

boolean

Incluir solo duraciones neto de tiempo. ( == La máquina estableció el identificador de productividad == Tiempo desde Muestra cargada hasta Parada contador de piezas es 0)

_bFilterUseOnlyProductiveTicketTime

boolean

Si == true, los tiempos en los que se produjeron tickets de mantenimiento o en los que se produjo sin tickets son filtrados

Tabla de devolución

Notas:

Columna

Tipo

Contenido

MC_ID

integer

ID de máquina de SKR

MC_SORT_ID

smallint

Para ordenar alfabéticamente por el nombre de máquina
(El nombre de la máquina puede ser determinado con ayuda de la MC_ID)

AGG_SEQ_NAME

text[]

Nombre de secuencia (n)

AGG_PATTERN_NAME

text[]

Nombre de muestra (n)

START_TIME

timestamp without time zone

Hora de inicio

END_TIME

timestamp without time zone

Hora de finalización

AGG_SHIFT_STATES

smallint[]

Turnos activos

AGG_USER_STATES

smallint[]

User States activos mientras que la pieza o el ticket fue procesado

AGG_SINTRAL_STATES

smallint[]

Sintral States activos mientras que la pieza o el ticket fue procesado

AGG_USER_NAME

smallint[]

Usuarios activos mientras que la pieza o el ticket fue procesado

AGG_TICKET_DATA

text[]

TicketData
Formato actual:
TicketType | CustomerId | Articleid | ProductionId | ProductionSub1Id | ProductionSub2Id | Uid

KNIT_COUNT

integer

Número de las piezas de tisaje completas (sin cancelar)

BREAK_COUNT

integer

Número de las piezas de tisaje canceladas

SUM_BREAK_DURATION

interval

Tiempo utilizado para piezas/tickets cancelados

(Columna probablemente solo tenga sentido si se agrupó por muestra)

AVG_DURATION

interval

Tiempo promedio por pieza de tisaje

  • con tiempos de parada
  • las piezas canceladas son ignoradas

MIN_DURATION

interval

Tiempo mínimo por pieza de tisaje

con tiempos de parada

las piezas canceladas son ignoradas

MAX_DURATION

interval

Tiempo máximo por pieza de tisaje, con tiempos de parada, las piezas canceladas son ignoradas

SUM_DURATION

interval

Tiempo en total

  • con tiempos de parada
  • las piezas canceladas son ignoradas

AVG_KNIT_DURATION

interval

Tiempo promedio por pieza de tisaje

  • sin tiempos de parada
  • las piezas canceladas son ignoradas

MIN_KNIT_DURATION

interval

Tiempo mínimo por pieza de tisaje

  • sin tiempos de parada
  • las piezas canceladas son ignoradas

MAX_KNIT_DURATION

interval

Tiempo máximo por pieza de tisaje

  • sin tiempos de parada
  • las piezas canceladas son ignoradas

SUM_KNIT_DURATION

interval

Tiempo en total

  • sin tiempos de parada
  • las piezas canceladas son ignoradas

[MIN_UID]

bigint

Debuginfo: UID de hora de inicio en <prefix>_collected_filter_rows

[MAX_UID]

bigint

Debuginfo: UID de hora de finalización en <prefix>_collected_filter_rows

[AGG_TICKET_UID]

bigint[]

Debuginfo: UID’s de ticket activo

[AGG_TICKET_CUSTOMER_ID]

text[]

Debuginfo: CUSTOMER ID‘s de ticket activo

[AGG_TICKET_ARTICLE_ID]

text[]

Debuginfo: ARTICLE ID‘s de ticket activo

[AGG_TICKET_PRODUCTION_ID]

text[]

Debuginfo: PRODUCTION_ID‘s de ticket activo

[AGG_TICKET_PRODUCTION_SUB1_ID]

text[]

Debuginfo: PRODUCTION_SUB1_ID‘s de ticket activo

[AGG_TICKET_PRODUCTION_SUB2_ID]

text[]

Debuginfo: PRODUCTION_SUB2_ID‘s de ticket activo

Código de ejemplo „sample_pattern_statistik.sql“

Importante:

Se parte de la base que las tablas auxiliares de evaluación report_01.sample_xxxxxxxx ya fueron generadas.
Generar tablas auxiliares de evaluación (curso del cursor - UDF)

Para un sistema de productividad insertar un campo vacío ‘‘ en vez del esquema report_01,. Pero debe ser idéntico a lo indicado al crear las tablas auxiliares.

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.

);