CIAO,
Non ho mai creato un report più grande di semplici caselle di allineamento, né ho mai disposto gli elementi in modo creativo in un riquadro 2D. Ho un set di dati molto più ampio e voglio creare un output HTML interattivo. Il mio progetto originale era un report a SCHEDE con un sistema di sotto-schede. Ad esempio, 3 SCHEDE con 3 sotto-SCHEDE e ogni sotto-scheda con 3 pannelli di visualizzazione. La mia speranza era di richiamare una funzione per ogni grafico di cui avevo bisogno. L'intero report condividerà diversi grafici.
Ho provato a creare questo report TAB da un file di struttura esterno. Non avevo le competenze per farlo. Il mio problema principale non è la struttura del report, ma l'aggiunta di grafici. L'esempio seguente è un tentativo poco convincente con una chiamata di funzione. Il problema è che devo creare un sottoinsieme di alcune tabelle e chiuderle, il che rende il tutto problematico. Ho bisogno di un modo per creare un report TAB e un sottoinsieme di tabelle e passarvi i grafici.
txnelson: ha modificato la voce, prendendo il JSL elencato e posizionandolo in una casella di visualizzazione JSL utilizzando l'icona "JSL"
file_list = {"inspections.csv", "recipes.csv"};
area_list = {"IS", "MFC"};
Recipe1 = Open( directory || "MFC_Module_Raw_Data.jmp" );
REC_DUR_PLOT = Function( {},
Recipe1 << New Column( "Date_Hour",
Numeric,
"Continuous",
Format( "m/d/y h:m", 19 ),
Input Format( "m/d/y h:m" ),
Formula( :Date + Hour( :Time ) * 3600 ),
Lock( 0 )
);
dt2 = Recipe1 << Summary( Group( :Tool, :Date_Hour ), N( :Carrier ID ) );
plot1 = Graph Box(
dt2 << Graph Builder(
Size( 662, 912 ),
Show Control Panel( 0 ),
Variables(
X( :Date_Hour ),
Y( :Name( "N(Carrier ID)" ) ),
Group Y( :Tool ),
Color( :Tool )
),
Elements( Points( X, Y, Legend( 11 ) ), Smoother( X, Y, Legend( 12 ) ) ),
SendToReport(
Dispatch(
{},
"N(Carrier ID)",
ScaleBox,
{Add Ref Line( 20, "Solid", "Medium Dark Red", "Target", 2 )}
)
)
);
);
//RP1 << append (plot1);
Close( dt2, No Save );
);
REC_DUR_PLOT();
New Window( "Weekly Report",
tb1 = Tab Box(
"CC1 Collective",
Tab Box(
"CC1 Recipe Duration [sec]",
RP1 = Panel Box( "Process Run Time",
REC_DUR_PLOT();
),
"CC1 Chamber Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CC1 Water Flow [l/min]",
V List Box(
Panel Box( "Avg Water Flow",
Text Box( "Avg Water Flow" ),
),
Panel Box( "Min Water Flow",
Text Box( "Min Water Flow" ),
),
Panel Box( "Max Water Flow",
Text Box( "Max Water Flow" ),
),
),
"CC1 Water Volume [L]",
Panel Box( "Water Volume in Liters",
Text Box( "Water Volume in Liters" ),
),
"CC1 Water Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CC1 Exhaust Air Flow [m3/h]",
V List Box(
Panel Box( "Avg Exhaust Air Flow",
Text Box( "Avg Exhaust Air Flow" ),
),
Panel Box( "Min Exhaust Air Flow",
Text Box( "Min Exhaust Air Flow" ),
),
Panel Box( "Max Exhaust Air Flow",
Text Box( "Max Exhaust Air Flow" ),
),
),
"CC1 Exhaust Air Volume [m3]",
Panel Box( "Exhaust Flow in m3",
Text Box( "Exhaust Flow in m3" ),
),
),
"CC2 Collective",
Tab Box(
"CC2 Recipe Duration [sec]",
Panel Box( "Process Run TIme",
Text Box( "Process Run Time" ),
),
"CC2 Chamber Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CC2 Water Flow [l/min]",
V List Box(
Panel Box( "Avg Water Flow",
Text Box( "Avg Water Flow" ),
),
Panel Box( "Min Water Flow",
Text Box( "Min Water Flow" ),
),
Panel Box( "Max Water Flow",
Text Box( "Max Water Flow" ),
),
),
"CC2 Water Volume [L]",
Panel Box( "Water Volume in Liters",
Text Box( "Water Volume in Liters" ),
),
"CC2 Water Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CC2 Exhaust Air Flow [m3/h]",
V List Box(
Panel Box( "Avg Exhaust Air Flow",
Text Box( "Avg Exhaust Air Flow" ),
),
Panel Box( "Min Exhaust Air Flow",
Text Box( "Min Exhaust Air Flow" ),
),
Panel Box( "Max Exhaust Air Flow",
Text Box( "Max Exhaust Air Flow" ),
),
),
"CC2 Exhaust Air Volume [m3]",
Panel Box( "Exhaust Flow in m3",
Text Box( "Exhaust Flow in m3" ),
),
),
"CC3 Collective",
Tab Box(
"CC3 Recipe Duration [sec]",
Panel Box( "Process Run TIme",
Text Box( "Process Run Time" ),
),
"CC3 Chamber Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CC3 Water Flow [l/min]",
V List Box(
Panel Box( "Avg Water Flow",
Text Box( "Avg Water Flow" ),
),
Panel Box( "Min Water Flow",
Text Box( "Min Water Flow" ),
),
Panel Box( "Max Water Flow",
Text Box( "Max Water Flow" ),
),
),
"CC3 Water Volume [L]",
Panel Box( "Water Volume in Liters",
Text Box( "Water Volume in Liters" ),
),
"CC3 Water Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CC3 Exhaust Air Flow [m3/h]",
V List Box(
Panel Box( "Avg Exhaust Air Flow",
Text Box( "Avg Exhaust Air Flow" ),
),
Panel Box( "Min Exhaust Air Flow",
Text Box( "Min Exhaust Air Flow" ),
),
Panel Box( "Max Exhaust Air Flow",
Text Box( "Max Exhaust Air Flow" ),
),
),
"CC3 Exhaust Air Volume [m3]",
Panel Box( "Exhaust Flow in m3",
Text Box( "Exhaust Flow in m3" ),
),
),
"AUD4 Collective",
Tab Box(
"AUD4 Recipe Duration [sec]",
Panel Box( "Process Run TIme",
Text Box( "Process Run Time" ),
),
"AUD4 EndPoint Pressure [kpa]",
V List Box(
Panel Box( "Min EndPoint Pressure",
Text Box( "Min EndPoint Pressure" ),
),
Panel Box( "Avg EndPoint Pressure",
Text Box( "Avg EndPoint Pressure" ),
),
Panel Box( "Max EndPoint Pressure",
Text Box( "Max EndPoint Pressure" ),
),
),
"AUD4 Chamber Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"AUD4 N2 Flow [m3/h]",
V List Box(
Panel Box( "Avg N2 Flow",
Text Box( "Avg N2 Flow" ),
),
Panel Box( "Min N2 Flow",
Text Box( "Min N2 Flow" ),
),
Panel Box( "Max N2 Flow",
Text Box( "Max N2 Flow" ),
),
),
"AUD4 N2 Volume [m3]",
Panel Box( "N2 Volume in m3",
Text Box( "N2 Volume in m3" ),
),
),
"AUD5 Collective",
Tab Box(
"AUD5 Recipe Duration [sec]",
Panel Box( "Process Run TIme",
Text Box( "Process Run Time" ),
),
"AUD5 EndPoint Pressure [kpa]",
V List Box(
Panel Box( "Min EndPoint Pressure",
Text Box( "Min EndPoint Pressure" ),
),
Panel Box( "Avg EndPoint Pressure",
Text Box( "Avg EndPoint Pressure" ),
),
Panel Box( "Max EndPoint Pressure",
Text Box( "Max EndPoint Pressure" ),
),
),
"AUD5 Chamber Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"AUD5 N2 Flow [m3/h]",
V List Box(
Panel Box( "Avg N2 Flow",
Text Box( "Avg N2 Flow" ),
),
Panel Box( "Min N2 Flow",
Text Box( "Min N2 Flow" ),
),
Panel Box( "Max N2 Flow",
Text Box( "Max N2 Flow" ),
),
),
"AUD5 N2 Volume [m3]",
Panel Box( "N2 Volume in m3",
Text Box( "N2 Volume in m3" ),
),
),
"Facility Collective",
Tab Box(
"CDA LP Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CDA HP Temperature [C]",
V List Box(
Panel Box( "Avg Temperature",
Text Box( "Avg Temperature" ),
),
Panel Box( "Min Temperature",
Text Box( "Min Temperature" ),
),
Panel Box( "Max Temperature",
Text Box( "Max Temperature" ),
),
),
"CDA LP Pressure [kpa]",
V List Box(
Panel Box( "Min LP Pressure",
Text Box( "Min LP Pressure" ),
),
Panel Box( "Avg LP Pressure",
Text Box( "Avg LP Pressure" ),
),
Panel Box( "Max LP Pressure",
Text Box( "Max LP Pressure" ),
),
),
"CDA HP Pressure [kpa]",
V List Box(
Panel Box( "Min HP Pressure",
Text Box( "Min HP Pressure" ),
),
Panel Box( "Avg HP Pressure",
Text Box( "Avg HP Pressure" ),
),
Panel Box( "Max HP Pressure",
Text Box( "Max HP Pressure" ),
),
),
"Facility N2 Volume [m3]",
Panel Box( "N2 Volume in m3",
Text Box( "N2 Volume in m3" ),
),
),
),
);
file_list = {"ispezioni.csv","ricette.csv"};
area_list = {"IS","MFC"};
Ricetta1 = Apri( directory || "MFC_Module_Raw_Data.jmp" );
REC_DUR_PLOT = funzione({},
Ricetta1 << Nuova colonna( "Data_Ora",
Numerico,
"Continuo",
Formato( "m/g/aa:m", 19 ),
Formato di input ("m/g/aa:m"),
Formula( :Data + Ora( :Ora ) * 3600 ),
Blocco( 0 )
);
dt2 = Ricetta1 << Riepilogo (Gruppo(:Strumento, :Data_Ora), N(:ID operatore));
plot1 = Graph Box(dt2 << Generatore di grafici(
Dimensioni (662, 912),
Mostra pannello di controllo (0),
Variabili(
X( :Data_Ora ),
Y( :Name( "N(ID operatore)" ) ),
Gruppo Y( :Strumento ),
Colore( :Strumento )
),
Elementi (Punti (X, Y, Legenda (11)), Più fluido (X, Y, Legenda (12)),
Invia a rapporto(
Spedizione(
{},
"N(ID operatore)",
ScaleBox,
{Aggiungi riga di riferimento (20, "Solido", "Rosso medio scuro", "Obiettivo", 2)}
)
)
);
);
//RP1 << aggiungi (plot1);
Chiudi (dt2, Nessun salvataggio);
);
REC_DUR_PLOT();
Nuova finestra ("Rapporto settimanale",
tb1 = Casella di scheda(
"CC1 Collective",
Casella di controllo (
"Durata della ricetta CC1 [sec]",
RP1 = Panel Box("Tempo di esecuzione del processo",
REC_DUR_PLOT();
),
"Temperatura della camera CC1 [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"CC1 Flusso d'acqua [l/min]",
Casella elenco V(
Pannello Box("Flusso medio dell'acqua",
Casella di testo ("Flusso medio dell'acqua"),
),
Pannello Box("Flusso d'acqua minimo",
Casella di testo ("Flusso minimo d'acqua"),
),
Pannello Box("Flusso massimo dell'acqua",
Casella di testo ("Flusso massimo dell'acqua"),
),
),
"Volume d'acqua CC1 [L]",
Pannello Box("Volume d'acqua in litri",
Casella di testo ("Volume d'acqua in litri"),
),
"CC1 Temperatura dell'acqua [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Portata aria di scarico CC1 [m3/h]",
Casella elenco V(
Pannello Box("Flusso medio dell'aria di scarico",
Casella di testo ("Flusso medio dell'aria di scarico"),
),
Pannello di controllo ("Flusso minimo di aria di scarico",
Casella di testo ("Flusso minimo di aria di scarico"),
),
Pannello di controllo ("Flusso massimo dell'aria di scarico",
Casella di testo ("Flusso massimo dell'aria di scarico"),
),
),
"Volume aria di scarico CC1 [m3]",
Pannello Box("Flusso di scarico in m3",
Casella di testo ("Flusso di scarico in m3"),
),
),
"CC2 Collective",
Casella di controllo (
"Durata della ricetta CC2 [sec]",
Pannello Box("Tempo di esecuzione del processo",
TextBox ("Tempo di esecuzione del processo"),
),
"Temperatura della camera CC2 [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Portata d'acqua CC2 [l/min]",
Casella elenco V(
Pannello Box("Flusso medio dell'acqua",
Casella di testo ("Flusso medio dell'acqua"),
),
Pannello Box("Flusso d'acqua minimo",
Casella di testo ("Flusso minimo d'acqua"),
),
Pannello Box("Flusso massimo dell'acqua",
Casella di testo ("Flusso massimo dell'acqua"),
),
),
"Volume d'acqua CC2 [L]",
Pannello Box("Volume d'acqua in litri",
Casella di testo ("Volume d'acqua in litri"),
),
"Temperatura dell'acqua CC2 [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Portata aria di scarico CC2 [m3/h]",
Casella elenco V(
Pannello Box("Flusso medio dell'aria di scarico",
Casella di testo ("Flusso medio dell'aria di scarico"),
),
Pannello di controllo ("Flusso minimo di aria di scarico",
Casella di testo ("Flusso minimo di aria di scarico"),
),
Pannello di controllo ("Flusso massimo dell'aria di scarico",
Casella di testo ("Flusso massimo dell'aria di scarico"),
),
),
"Volume aria di scarico CC2 [m3]",
Pannello Box("Flusso di scarico in m3",
Casella di testo ("Flusso di scarico in m3"),
),
),
"CC3 Collective",
Casella di controllo (
"Durata della ricetta CC3 [sec]",
Pannello Box("Tempo di esecuzione del processo",
TextBox ("Tempo di esecuzione del processo"),
),
"Temperatura della camera CC3 [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"CC3 Flusso d'acqua [l/min]",
Casella elenco V(
Pannello Box("Flusso medio dell'acqua",
Casella di testo ("Flusso medio dell'acqua"),
),
Pannello Box("Flusso d'acqua minimo",
Casella di testo ("Flusso minimo d'acqua"),
),
Pannello Box("Flusso massimo dell'acqua",
Casella di testo ("Flusso massimo dell'acqua"),
),
),
"Volume d'acqua CC3 [L]",
Pannello Box("Volume d'acqua in litri",
Casella di testo ("Volume d'acqua in litri"),
),
"Temperatura dell'acqua CC3 [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Portata aria di scarico CC3 [m3/h]",
Casella elenco V(
Pannello Box("Flusso medio dell'aria di scarico",
Casella di testo ("Flusso medio dell'aria di scarico"),
),
Pannello di controllo ("Flusso minimo di aria di scarico",
Casella di testo ("Flusso minimo di aria di scarico"),
),
Pannello di controllo ("Flusso massimo dell'aria di scarico",
Casella di testo ("Flusso massimo dell'aria di scarico"),
),
),
"Volume aria di scarico CC3 [m3]",
Pannello Box("Flusso di scarico in m3",
Casella di testo ("Flusso di scarico in m3"),
),
),
"AUD4 Collective",
Casella di controllo (
"Durata della ricetta AUD4 [sec]",
Pannello Box("Tempo di esecuzione del processo",
TextBox ("Tempo di esecuzione del processo"),
),
"Pressione del punto finale AUD4 [kpa]",
Casella elenco V(
Pannello Box("Pressione minima del punto finale",
Casella di testo ("Pressione minima del punto finale"),
),
Pannello Box("Pressione media punto finale",
Casella di testo ("Pressione media endpoint"),
),
Pannello Box("Pressione massima del punto finale",
Casella di testo ("Pressione massima del punto finale"),
),
),
"Temperatura della camera AUD4 [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Flusso di N2 AUD4 [m3/h]",
Casella elenco V(
Pannello Box("Flusso medio di N2",
Casella di testo ("Flusso medio N2"),
),
Pannello Box("Flusso minimo di N2",
Casella di testo ("Flusso minimo di N2"),
),
Pannello Box("Flusso massimo di N2",
Casella di testo ("Flusso N2 massimo"),
),
),
"Volume AUD4 N2 [m3]",
Pannello Box("Volume N2 in m3",
Casella di testo ("Volume N2 in m3"),
),
),
"AUD5 Collective",
Casella di controllo (
"Durata della ricetta AUD5 [sec]",
Pannello Box("Tempo di esecuzione del processo",
TextBox ("Tempo di esecuzione del processo"),
),
"Pressione del punto finale AUD5 [kpa]",
Casella elenco V(
Pannello Box("Pressione minima del punto finale",
Casella di testo ("Pressione minima del punto finale"),
),
Pannello Box("Pressione media punto finale",
Casella di testo ("Pressione media endpoint"),
),
Pannello Box("Pressione massima del punto finale",
Casella di testo ("Pressione massima del punto finale"),
),
),
"Temperatura della camera AUD5 [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Flusso di N2 AUD5 [m3/h]",
Casella elenco V(
Pannello Box("Flusso medio di N2",
Casella di testo ("Flusso medio N2"),
),
Pannello Box("Flusso minimo di N2",
Casella di testo ("Flusso minimo di N2"),
),
Pannello Box("Flusso massimo di N2",
Casella di testo ("Flusso N2 massimo"),
),
),
"Volume AUD5 N2 [m3]",
Pannello Box("Volume N2 in m3",
Casella di testo ("Volume N2 in m3"),
),
),
"Collettivo di strutture",
Casella di controllo (
"Temperatura CDA LP [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Temperatura CDA HP [C]",
Casella elenco V(
Pannello Box("Temperatura media",
Casella di testo ("Temperatura media"),
),
Pannello Box("Temperatura minima",
Casella di testo ("Temperatura minima"),
),
Pannello Box("Temperatura massima",
Casella di testo ("Temperatura massima"),
),
),
"Pressione CDA LP [kPa]",
Casella elenco V(
Pannello Box("Pressione minima LP",
Casella di testo ("Pressione minima LP"),
),
Pannello Box("Pressione media LP",
Casella di testo ("Pressione media LP"),
),
Pannello Box("Pressione massima LP",
Casella di testo ("Pressione massima LP"),
),
),
"Pressione HP CDA [kPa]",
Casella elenco V(
Pannello Box("Pressione HP minima",
Casella di testo ("Pressione HP minima"),
),
Pannello Box("Pressione media HP",
Casella di testo ("Pressione media HP"),
),
Pannello Box ("Pressione massima HP",
Casella di testo ("Pressione HP massima"),
),
),
"Volume N2 dell'impianto [m3]",
Pannello Box("Volume N2 in m3",
Casella di testo ("Volume N2 in m3"),
),
),
),
);