cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP 19 is here! See the new features at jmp.com/new.
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.
Choose Language Hide Translation Bar
MikeTV99
Level I

Appending Charts into TAB Report

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"),  

                                                                ),                                                            

                                                ),

                                ),

                                );

2 ACCEPTED SOLUTIONS

Accepted Solutions
jthi
Super User

Re: Appending Charts into TAB Report

I would strongly suggest that you start with something simple. For example just create one layer of tab boxes and try to append to them correctly. Then try to see if you could create your panel box (and text boxes) dynamically so you don't have to hard-code them all. Also, with interactive html you might have to leave your subsets open until the end.

-Jarmo

View solution in original post

txnelson
Super User

Re: Appending Charts into TAB Report

Here is a simple example using JSL to build a disply with Tab Boxes and Panel Boxes.  Look in the Scripting Index for more examples

txnelson_0-1754747429528.png

New Window( "Weekly Report", tb1 = Tab Box( "CC1 Collective" ) );

tb1 << append(
	tb2 = Tab Page Box( "CC1 Recipe Duration [sec]", vlb1 = V List Box() )
);
tb1 << append(
	Tab Page Box(
		"CC1 Chamber Height [C]",
		V List Box(
			Panel Box( "Avg Height", tbAvg = Text Box( "" ), ),
			Panel Box( "Min Height", tbMin = Text Box( "" ), ),
			Panel Box( "Max Height", tbMax = Text Box( "" ), ), 

		)
	)
);

vlb1 << append(
	dt << Distribution(
		Continuous Distribution( Column( :Height ) ),
		Nominal Distribution( Column( :age ) )
	)
);

tbAvg << set text( Format( Col Mean( dt:height ), "fixed dec", 7, 2 ) );
tbMin << set text( Char( Col Min( dt:height ) ) );
tbMax << set text( Char( Col Max( dt:height ) ) );
Jim

View solution in original post

6 REPLIES 6
jthi
Super User

Re: Appending Charts into TAB Report

I would strongly suggest that you start with something simple. For example just create one layer of tab boxes and try to append to them correctly. Then try to see if you could create your panel box (and text boxes) dynamically so you don't have to hard-code them all. Also, with interactive html you might have to leave your subsets open until the end.

-Jarmo
txnelson
Super User

Re: Appending Charts into TAB Report

Here is a simple example using JSL to build a disply with Tab Boxes and Panel Boxes.  Look in the Scripting Index for more examples

txnelson_0-1754747429528.png

New Window( "Weekly Report", tb1 = Tab Box( "CC1 Collective" ) );

tb1 << append(
	tb2 = Tab Page Box( "CC1 Recipe Duration [sec]", vlb1 = V List Box() )
);
tb1 << append(
	Tab Page Box(
		"CC1 Chamber Height [C]",
		V List Box(
			Panel Box( "Avg Height", tbAvg = Text Box( "" ), ),
			Panel Box( "Min Height", tbMin = Text Box( "" ), ),
			Panel Box( "Max Height", tbMax = Text Box( "" ), ), 

		)
	)
);

vlb1 << append(
	dt << Distribution(
		Continuous Distribution( Column( :Height ) ),
		Nominal Distribution( Column( :age ) )
	)
);

tbAvg << set text( Format( Col Mean( dt:height ), "fixed dec", 7, 2 ) );
tbMin << set text( Char( Col Min( dt:height ) ) );
tbMax << set text( Char( Col Max( dt:height ) ) );
Jim
MikeTV99
Level I

Re: Appending Charts into TAB Report

Thank you both, I look forward to trying the TAB Append. I had a FOR Loop for trying to automate this from a file that had the tab structure but lacked the knowledge of pulling it off. 

MikeTV99
Level I

Re: Appending Charts into TAB Report

I ran into a new problem and I think I may have to choose another method for displaying data. The TAB Append worked and I automated creating the TAB structure; however, assigning them an ID has been problematic. 

The problem comes in with this statement (  tbxx << append( subtabnametemp = Tab Page Box( Title( subtabtemp ), testlist[x] = V List Box() ), )) where I try to assign an empty V List Box to a variable within a list that I Parse. This way I have a pointer to append to. Since it is an object it is not working like I desired. I made the first layer from a list and not a Summarized list as it alphabetizes.

 

The original though process was to create a Tabbed Structure with empty containers that I could append to further on during the analysis as their are a lot of plots. Even using a function as several analyses are the same with different data sets that are subset from the original large table.

 

Perhaps I just need to create each individual one and simplify with HTML, or PBI, or SSRS.

 

dt1 = Open(path || "Report Maker Structure File.csv");

New Window("Weekly Report", tbx = Tab Box(), );
tablist = {"CC1 Collective", "CC2 Collective", "CC3 Collective", "AUD4 Collective", "AUD5 Collective", "Facility Collective"};
index = {tb1, tb2, tb3, tb4, tb5, tb6};

New Window("Weekly Report", tbx = Tab Box(), );

tbx << append(tb1 = Tab Page Box(Title(tablist[1]), ), );
tbx << append(tb2 = Tab Page Box(Title(tablist[2]), ), );
tbx << append(tb3 = Tab Page Box(Title(tablist[3]), ), );
tbx << append(tb4 = Tab Page Box(Title(tablist[4]), ), );
tbx << append(tb5 = Tab Page Box(Title(tablist[5]), ), );
tbx << append(tb6 = Tab Page Box(Title(tablist[6]), ), );


For(y = 1, y <= N Items(tablist), y++,
	dt1 << Select Where(dt1:TAB1 == tablist[y]);
	dt2 = dt1 << Subset(Selected Rows(1), Selected columns only(0));
	
	Summarize(subtablist = By(dt2:TAB2));
	Summarize(subtabnamelist = By(dt2:TAB2Name));
	Summarize(sublablist = By(dt2:VLBName));
	
	temp = index[y];
	temp << append(tbxx = Tab Box(), );
	
	testlist = {};
	dt9 = dt2 << Summary(Group(:VLBName));
	testlist = {};
	
	For(w = 1, w <= N Rows(dt9), w++,
		Insert Into(testlist, Parse(dt9:VLBName[w]))
	);
	Show(testlist);
	
	For(x = 1, x <= N Items(subtablist), x++,
		subtabtemp = subtablist[x];
		sublabtemp = Parse(sublablist[x]);
		subtabnametemp = Parse(subtabnamelist[x]);
		tbxx << append(subtabnametemp = Tab Page Box(Title(subtabtemp), testlist[x] = V List Box()), );
	);
	
	Close(dt2, No Save);
);

gb1 = Graph Box("Graph Test", );
vlb16 << Append(gb1);

 

View more...

dt1 = Open( path || "Report Maker Structure File.csv" );

 

New Window( "Weekly Report", tbx = Tab Box(), );

 

tablist = {"CC1 Collective", "CC2 Collective", "CC3 Collective", "AUD4 Collective", "AUD5 Collective",

"Facility Collective"};

index = {tb1, tb2, tb3, tb4, tb5, tb6};

 

 

New Window( "Weekly Report", tbx = Tab Box(), );

 

tbx << append( tb1 = Tab Page Box( Title( tablist[1] ), ), );

tbx << append( tb2 = Tab Page Box( Title( tablist[2] ), ), );

tbx << append( tb3 = Tab Page Box( Title( tablist[3] ), ), );

tbx << append( tb4 = Tab Page Box( Title( tablist[4] ), ), );

tbx << append( tb5 = Tab Page Box( Title( tablist[5] ), ), );

tbx << append( tb6 = Tab Page Box( Title( tablist[6] ), ), );

 

For( y = 1, y <= N Items( tablist ), y++,

 

                dt1 << Select Where( dt1:TAB1 == tablist[y] );

                dt2 = dt1 << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );

               

                Summarize( subtablist = By( dt2:TAB2 ) );

                Summarize( subtabnamelist = By( dt2:TAB2Name ) );

                Summarize( sublablist = By( dt2:VLBName ) );

 

                temp = index[y];

                temp << append( tbxx = Tab Box(), );

               

                testlist = {};

                dt9 = dt2 << Summary(Group( :VLBName ));

                testlist = {};

                For( w = 1, w <= N Rows( dt9 ), w++,

                Insert Into (testlist,Parse(dt9:VLBName[w]));

                );

                show(testlist);

               

                For( x = 1, x <= N Items( subtablist ), x++,

                                subtabtemp = subtablist[x];

                                sublabtemp = Parse(sublablist[x]);

                                subtabnametemp = Parse(subtabnamelist[x]);

                                tbxx << append( subtabnametemp = Tab Page Box( Title( subtabtemp ), testlist[x] = V List Box() ), )

                );

                Close( dt2, No Save );

);

 

gb1 = Graph Box("Graph Test",);

vlb16 << Append (gb1);

Edit (jthi): added JSL formatting

jthi
Super User

Re: Appending Charts into TAB Report

Is there a specific reason for the .csv file you are using? You don't really need to save the "reference" names to data table and it kinda does defeat their purpose (in my opinion). If you know the names of your tabs, you can get their index using tb << Index of Tab("tabname") and if you don't know the name of tabs, you can get list of them using

tab_titles = (tb << XPath("//TabPageBox")) << get title;

 

Edit:

You could also easily collect the references to Associative Arrays if you really wish to. It is slightly difficult to give better advice as at least I'm not 100% sure what you are trying to achieve or how/when you wish to append (or insert) to the tabs.

-Jarmo
MikeTV99
Level I

Re: Appending Charts into TAB Report

Hi jthi,

 

No real specific reason at all and I can ditch and even place the data into arrays. 

 

I look forward to trying that.

 

For inserting into the tabs my original plan was to append a few plots horizontally into an empty V LIST Box that I added in my loop for creating the tab structure. However, this may be a bad plan. 

 

When I make reports they are usually single page (journal or window exported as image) with whatever plots or tables I layout as appropriate. This is my first multi-layer report using JSL. A collection of reports within a report. The end user will be looking via HTML.

 

Thanks very much.

Recommended Articles