Ciao,
Sto cercando di creare una tabella che contenga le linee di riferimento per ogni modello. Ogni linea di riferimento è l'aspettativa di rendimento per ogni modello. Intendo disporre di uno script in grado di importare le linee di riferimento dalla tabella centrale e tracciare la linea di riferimento sui grafici di controllo o sui grafici di variabilità durante l'andamento dei rendimenti di ciascun modello.
Ecco i miei dati fittizi per la tabella dei rendimenti
| Modello | WaferID | Prodotto |
| IC1 | UN | 50 |
| IC1 | B | 60 |
| IC1 | C | 70 |
| IC2 | E | 30 |
| IC2 | F | 40 |
| IC2 | G | 50 |
| IC2 | H | 60 |
| IC3 | R | 80 |
| IC3 | S | 90 |
| IC3 | T | 70 |
| IC3 | z | 65 |
Ecco la mia tabella delle linee di riferimento fittizie che deve essere importata nelle carte di controllo
| Modello | Linea di riferimento per l'aspettativa di rendimento |
| IC1 | 50 |
| IC2 | 45 |
| IC3 | 70 |
Il grafico di controllo o il grafico di variabilità che sto cercando di tracciare ha "Rendimento" nell'asse y e "WaferID" come asse x. Quindi non posso utilizzare la funzione "proprietà colonna" nella colonna "Rendimento" per impostare le linee di riferimento. Ho più di 60 circuiti integrati da esaminare e sto cercando un aiuto in cui potrebbe essere automatizzato piuttosto che inserito manualmente. Ecco un'istantanea di esempio di ciò che sto cercando di ottenere. Qualsiasi aiuto sarebbe molto apprezzato.

Ho preso una strada diversa. Ho diviso la colonna Resa per Modello per creare una colonna separata per Modello. Quindi, utilizzando Proprietà colonna> Limiti specifiche> Target, sono stati inseriti i valori previsti (che sono essenzialmente obiettivi, no?). Guardare il file allegato.
Loaclising JSL nelle diverse lingue supportate da JMP è perfettamente possibile, ma richiede un certo sforzo in più. Per alcuni dettagli su come questo può essere fatto, vedere il Carta scoperta di @hecht_jmp . Ad esempio, se stai lavorando con nodi di contorno (come nel codice sopra) e li fai riferimento per nome, quasi sicuramente fallirà. D'altra parte, il riferimento per numero (come nel codice sopra), potrebbe non riuscire se la struttura del rapporto cambia (ad esempio, se i contenuti del rapporto vengono resi più ricchi tra le versioni).
Probabilmente è meglio inviare un'e-mail a support@jmp.com e indirizzarli a questo thread.
Ho testato questo JSL sul mio JMP11 cinese. Ottieni il seguente rapporto nel registro. Ancora non riesco a tracciare una linea di riferimento. Puoi spiegarmi?
GMan
Grazie mille Ian. Funziona alla grande.
Il codice seguente produrrà:

e dovrebbe iniziare. Puoi usare "Aiuto > Libri > Guida agli script" e "Aiuto > Indice degli script" per capire cosa sta facendo. Si noti che l'uso dei titoli dei nodi di contorno non è attualmente molto robusto, ma potrebbe essere migliorato o fatto in modo diverso.
NamesDefaultToHere(1);
// Yield table
dt1 =
New Table( "Yield",
Add Rows( 11 ),
New Column( "Model",
Character,
"Nominal",
Set Values(
{"IC1", "IC1", "IC1", "IC2", "IC2", "IC2", "IC2", "IC3", "IC3", "IC3",
"IC3"}
)
),
New Column( "WaferID",
Character( 16 ),
"Nominal",
Set Values( {"A", "B", "C", "E", "F", "G", "H", "R", "S", "T", "Z"} )
),
New Column( "Yield",
Numeric,
"Nominal",
Format( "Best", 12 ),
Set Values( [50, 60, 70, 30, 40, 50, 60, 80, 90, 70, 65] )
)
);
// Reference table
dt2 =
New Table( "Reference",
Add Rows( 3 ),
New Column( "Model", Character, "Nominal", Set Values( {"IC1", "IC2", "IC3"} ) ),
New Column( "Value",
Numeric,
"Nominal",
Format( "Best", 12 ),
Set Values( [50, 40, 70] )
)
);
// Start here . . .
// Get the values in dt2 into lists for later
modelVal = Column(dt2, "Model") << getValues;
refVal = Column(dt2, "Value") << getValues;
// Control Charts
cc = dt1 << Control Chart(
Sample Label( :WaferID ),
Chart Col( :Yield, Individual Measurement ),
By( :Model )
);
// Loop over the control chart reports
for(r=1, r<=NItems(cc), r++,
ccRep = Report(cc[r]);
// Extract the level of 'Model' from the title of the outline node
title = ccRep[OutlineBox(1)] << getTitle;
delimPos = Munger(title, 1, "=");
level = Substr(title, delimPos+1, Length(title)-delimPos);
// Get the reference value and plot it using a graphics script
ref = refVal[Loc(modelVal, level)];
Eval(
Substitute(
Expr(ccRep[FrameBox(1)] << addGraphicsScript(PenColor("Blue"); HLine(TBD))),
Expr(TBD),
ref[1]
);
);
);