Hi,
I have never created a report bigger than lineup boxes and creatively just arranging things in a 2D box. I have a much larger dataset I want to create an interactive HTML output. My original design was a TAB report with a sub tab system. Say 3 TABS with 3 sub TABS and each sub tab having 3 display panel. My hope was to invoke a function for every plot I needed. The entire report will share several plots.
I tried to make this TAB report from an external structure file. I had not the skills to perform this. My biggest problem is not the report structure, is adding plots to it. The example below is a lame attempt at this with a function call. The problem is I need to subset a few tables and close them which make it problematic. I need a way to build a tab and sub tab report and pass plots to it.
txnelson: Edited the entry, taking the listed JSL and placing it into a JSL display box using the "JSL" icon
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 = {"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]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CC1 Water Flow [l/min]",
VList Box(
Panel Box("Avg Water Flow",
TextBox ("Avg Water Flow"),
),
Panel Box("Min Water Flow",
TextBox ("Min Water Flow"),
),
Panel Box("Max Water Flow",
TextBox ("Max Water Flow"),
),
),
"CC1 Water Volume [L]",
Panel Box("Water Volume in Liters",
TextBox ("Water Volume in Liters"),
),
"CC1 Water Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CC1 Exhaust Air Flow [m3/h]",
VList Box(
Panel Box("Avg Exhaust Air Flow",
TextBox ("Avg Exhaust Air Flow"),
),
Panel Box("Min Exhaust Air Flow",
TextBox ("Min Exhaust Air Flow"),
),
Panel Box("Max Exhaust Air Flow",
TextBox ("Max Exhaust Air Flow"),
),
),
"CC1 Exhaust Air Volume [m3]",
Panel Box("Exhaust Flow in m3",
TextBox ("Exhaust Flow in m3"),
),
),
"CC2 Collective",
Tab Box(
"CC2 Recipe Duration [sec]",
Panel Box("Process Run TIme",
TextBox ("Process Run Time"),
),
"CC2 Chamber Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CC2 Water Flow [l/min]",
VList Box(
Panel Box("Avg Water Flow",
TextBox ("Avg Water Flow"),
),
Panel Box("Min Water Flow",
TextBox ("Min Water Flow"),
),
Panel Box("Max Water Flow",
TextBox ("Max Water Flow"),
),
),
"CC2 Water Volume [L]",
Panel Box("Water Volume in Liters",
TextBox ("Water Volume in Liters"),
),
"CC2 Water Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CC2 Exhaust Air Flow [m3/h]",
VList Box(
Panel Box("Avg Exhaust Air Flow",
TextBox ("Avg Exhaust Air Flow"),
),
Panel Box("Min Exhaust Air Flow",
TextBox ("Min Exhaust Air Flow"),
),
Panel Box("Max Exhaust Air Flow",
TextBox ("Max Exhaust Air Flow"),
),
),
"CC2 Exhaust Air Volume [m3]",
Panel Box("Exhaust Flow in m3",
TextBox ("Exhaust Flow in m3"),
),
),
"CC3 Collective",
Tab Box(
"CC3 Recipe Duration [sec]",
Panel Box("Process Run TIme",
TextBox ("Process Run Time"),
),
"CC3 Chamber Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CC3 Water Flow [l/min]",
VList Box(
Panel Box("Avg Water Flow",
TextBox ("Avg Water Flow"),
),
Panel Box("Min Water Flow",
TextBox ("Min Water Flow"),
),
Panel Box("Max Water Flow",
TextBox ("Max Water Flow"),
),
),
"CC3 Water Volume [L]",
Panel Box("Water Volume in Liters",
TextBox ("Water Volume in Liters"),
),
"CC3 Water Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CC3 Exhaust Air Flow [m3/h]",
VList Box(
Panel Box("Avg Exhaust Air Flow",
TextBox ("Avg Exhaust Air Flow"),
),
Panel Box("Min Exhaust Air Flow",
TextBox ("Min Exhaust Air Flow"),
),
Panel Box("Max Exhaust Air Flow",
TextBox ("Max Exhaust Air Flow"),
),
),
"CC3 Exhaust Air Volume [m3]",
Panel Box("Exhaust Flow in m3",
TextBox ("Exhaust Flow in m3"),
),
),
"AUD4 Collective",
Tab Box(
"AUD4 Recipe Duration [sec]",
Panel Box("Process Run TIme",
TextBox ("Process Run Time"),
),
"AUD4 EndPoint Pressure [kpa]",
VList Box(
Panel Box("Min EndPoint Pressure",
TextBox ("Min EndPoint Pressure"),
),
Panel Box("Avg EndPoint Pressure",
TextBox ("Avg EndPoint Pressure"),
),
Panel Box("Max EndPoint Pressure",
TextBox ("Max EndPoint Pressure"),
),
),
"AUD4 Chamber Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"AUD4 N2 Flow [m3/h]",
VList Box(
Panel Box("Avg N2 Flow",
TextBox ("Avg N2 Flow"),
),
Panel Box("Min N2 Flow",
TextBox ("Min N2 Flow"),
),
Panel Box("Max N2 Flow",
TextBox ("Max N2 Flow"),
),
),
"AUD4 N2 Volume [m3]",
Panel Box("N2 Volume in m3",
TextBox ("N2 Volume in m3"),
),
),
"AUD5 Collective",
Tab Box(
"AUD5 Recipe Duration [sec]",
Panel Box("Process Run TIme",
TextBox ("Process Run Time"),
),
"AUD5 EndPoint Pressure [kpa]",
VList Box(
Panel Box("Min EndPoint Pressure",
TextBox ("Min EndPoint Pressure"),
),
Panel Box("Avg EndPoint Pressure",
TextBox ("Avg EndPoint Pressure"),
),
Panel Box("Max EndPoint Pressure",
TextBox ("Max EndPoint Pressure"),
),
),
"AUD5 Chamber Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"AUD5 N2 Flow [m3/h]",
VList Box(
Panel Box("Avg N2 Flow",
TextBox ("Avg N2 Flow"),
),
Panel Box("Min N2 Flow",
TextBox ("Min N2 Flow"),
),
Panel Box("Max N2 Flow",
TextBox ("Max N2 Flow"),
),
),
"AUD5 N2 Volume [m3]",
Panel Box("N2 Volume in m3",
TextBox ("N2 Volume in m3"),
),
),
"Facility Collective",
Tab Box(
"CDA LP Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CDA HP Temperature [C]",
VList Box(
Panel Box("Avg Temperature",
TextBox ("Avg Temperature"),
),
Panel Box("Min Temperature",
TextBox ("Min Temperature"),
),
Panel Box("Max Temperature",
TextBox ("Max Temperature"),
),
),
"CDA LP Pressure [kpa]",
VList Box(
Panel Box("Min LP Pressure",
TextBox ("Min LP Pressure"),
),
Panel Box("Avg LP Pressure",
TextBox ("Avg LP Pressure"),
),
Panel Box("Max LP Pressure",
TextBox ("Max LP Pressure"),
),
),
"CDA HP Pressure [kpa]",
VList Box(
Panel Box("Min HP Pressure",
TextBox ("Min HP Pressure"),
),
Panel Box("Avg HP Pressure",
TextBox ("Avg HP Pressure"),
),
Panel Box("Max HP Pressure",
TextBox ("Max HP Pressure"),
),
),
"Facility N2 Volume [m3]",
Panel Box("N2 Volume in m3",
TextBox ("N2 Volume in m3"),
),
),
),
);