Forzare la mappa completa con il set di dati parzialeCiao,
Spero che qualcuno possa aiutarti con delle indicazioni qui. Come parte di una generazione di report più ampia, sto generando mappe di calore per wafer con il seguente script:
Graph1 = dt << Graph Builder (
Dimensioni (300, 300),
Mostra Pannello di controllo (0),
Mostra piè di pagina (0),
Y Group Edge ("Left"),
variabili (
Gruppo X (: Col, Mostra titolo (0)),
Gruppo X (: ChipCol, Mostra titolo (0)),
Gruppo Y (: Riga, Mostra titolo (0)),
Gruppo Y (: ChipRow, Show Title (0)),
Colore (: test_value)
),
Dove ((: ReportLevel == Report_Level &: lot == this_lot &: wafer == this_wafer)),
Per (: VarDescription),
Elementi (Heatmap (Legend (13))),
SendToReport (
Dispatch ({}, "titolo grafico", TextEditBox, {Set Text ("")}),
Dispatch ({}, "titolo X", TextEditBox, {Set Wrap (2)}),
Dispatch ({}, "titolo Y", TextEditBox, {Set Wrap (2)})
)
)
Ho fino a 150 valori possibili per: VarDescription e ho scoperto che eseguendo questo in un ciclo per creare ogni singola mappa, aggiungere il diario e chiudere la mappa era molto goffo. Ho scoperto che consentire al generatore di grafici di creare tutte le mappe contemporaneamente con l'istruzione By (: VarDescription) era molto più fluido e, per costruire il mio diario, posso estrarre le singole mappe dalle posizioni dell'array nell'oggetto grafico. Ciò che mi ha bloccato è che ottenere una mappa completa si basa sull'avere valori per TUTTI i siti, altrimenti ottengo mappe parziali e consolidate. Anche se ho provato solo alcuni siti, voglio che l'intera mappa venga visualizzata per considerazioni spaziali. Nella mia tabella di dati, includo una manciata di righe di riferimento (fittizie) che rappresentano valori vuoti per tutte le posizioni nella prima colonna e nella prima riga. In questo modo forzerà la visualizzazione della mappa completa nel generatore di grafici quando sono incluse le righe "fittizie". Dove sono bloccato è come includere queste righe di riferimento per ciascuna mappa quando si utilizza l'istruzione By (: VarDescription) nel generatore di grafici rispetto all'utilizzo di un'istruzione di filtro (Where). Non penso che ci sia un modo per farlo dopo la creazione iniziale delle mappe. C'è un modo per aggiungere dati a un oggetto grafico dopo il fatto? O modificare il filtro generato? Ho notato che le singole mappe nel journal finiscono con i filtri modificati, presumo generato dall'istruzione By (). Come alternativa al lavoro che si adatta a questo approccio, ho preso in considerazione solo la creazione di righe "fittizie" per tutti: VarDescription possibilità ma la tabella dati diventerebbe terribilmente grande e ingombra. Sto cercando di evitarlo.
Grazie!
Ri: Forzare la mappa completa con il set di dati parzialeJim - Grazie! Questo è un approccio eccellente. Ho imparato JMP al volo e penso che parte di ciò che ha reso un approccio in loop per ogni trama così clamorosa all'inizio è stata la mia inesperienza nel generare grafici e tabelle in modo invisibile per manipolarli e chiuderli dietro le quinte. Mi piace l'idea di creare un modello in questo modo e semplicemente di inserire dati ovunque esista. Probabilmente avrò bisogno di rivedere una buona parte della mia sceneggiatura dato che c'è un sacco di diverse elaborazioni che sto facendo, ma a lungo andare sarà meglio. Grazie ancora!
Cory
Ri: Forzare la mappa completa con il set di dati parzialeEcco una sceneggiatura che credo ti darà quello che vuoi. Genererà tutte le wafermaps in una finestra del journal. Ho omesso la clausola Where () dal tuo script Graph Builder, perché non avevo i valori disponibili, ma dovresti essere in grado di aggiungere la riga senza problemi reali.
Names Default To Here( 1 );
dt = Current Data Table();
// Create the empty wafer map data set
dtWaferMap = dt << Summary(
private,
Group( :Col, :ChipCol, :Row, :ChipRow ),
Freq( "None" ),
Weight( "None" )
);
dtWaferMap << delete columns( "N Rows" );
// Get a list of all of the VarDescriptions
Current Data Table( dt );
Summarize( dt, byVarDes = by( :VarDescription ) );
// Create the output journal
NW = New Window( "Heat Maps", <<JOURNAL></JOURNAL>

Ri: Forzare la mappa completa con il set di dati parzialeAvevo effettivamente iniziato con Page () come back, ma il problema è che funziona solo se tutte le mappe descrivono sottoinsiemi dello stesso parametro poiché c'è una leggenda / scala comune. Ho davvero bisogno che ogni mappa sia un parametro diverso, e By () crea effettivamente grafici discreti.
Ri: Forzare la mappa completa con il set di dati parzialeHo creato alcuni dati di esempio utilizzando la struttura dei dati e creato una replica della tua mappa di calore. Ho quindi aggiunto un secondo set di valori VarDescription, con solo un sottoinsieme di celle. Quindi, piuttosto che usare un "BY", ho lasciato VarDescription nell'area della pagina e ho ottenuto quanto segue

Il problema con la pagina è che consente solo valori di 100 pagine. Tuttavia, questo è facilmente superabile inserendo i dati in un campione di 100 pagine.
Ecco il codice generato da Graph Builder
Graph Builder(
Size( 418, 646 ),
Show Control Panel( 0 ),
Show Footer( 0 ),
Y Group Edge( "Left" ),
Variables(
Page( :VarDescription ),
Group X( :Col, Show Title( 0 ) ),
Group X( :ChipCol, Show Title( 0 ) ),
Group Y( :Row, Show Title( 0 ) ),
Group Y( :ChipRow, Show Title( 0 ) ),
Color( :test_value )
),
Elements( Heatmap( Legend( 33 ) ) ),
SendToReport( Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ) )
);
Ri: Forzare la mappa completa con il set di dati parzialeProprio come un seguito, ho guardato un po 'di più nelle mappe di forma. Sembra che potrebbe funzionare in qualche modo, ma non vedo come adottare facilmente il formato row / col, subrow / subcol delle mie trame che ha importanza per la nostra applicazione. Suppongo di poterlo forzare a forza. Le mappe che sto generando non sono usate semplicemente come rappresentazione spaziale del prodotto finale su coordinate x / y. Vengono utilizzati per indirizzare le parti e comunicare rapidamente con altre persone. Trattare in x / y aggiungerebbe semplicemente un altro livello di traduzione che è un po 'grossolano per i nostri scopi.
Ri: Forzare la mappa completa con il set di dati parziale
Riga e colonna fondamentalmente definiscono la griglia della mappa. ChipRow e ChipCol sono essenzialmente sotto-righe e sotto-colonne.
Questo è un output di esempio che viene generato per ogni univoco: VarDescription. Ecco come appare quando ci sono dati per tutti i siti.

Quello che sto cercando di fare è forzarlo a sembrare completo, anche con dati parziali. Le file fittizie completano questo e ottengo questo.

Senza il vantaggio delle file fittizie, questo è come sarebbe ...

Non ho esplorato una mappa di forma, ma con un piccolo lavoro in anticipo, quello potrebbe essere il modo migliore per andare. Posso esaminarlo un po 'di più.
Ri: Forzare la mappa completa con il set di dati parzialeSto tentando di replicare il tuo problema.
Un paio di domande:
Potresti inserire una schermata dei tuoi risultati?
Quali sono le definizioni di Row e ChipRow e di Col e ChipCol?
Hai esplorato usando una mappa delle forme?