Using the Rich Graphical Capabilities, Customizable JSL Code and ODBC Database Connectivity in JMP® to Build Yield Analysis Application

JMP Yield Application: Yield Enhancement and Fab/Foundry Process Optimization

Using JMP’s rich graphical capabilities, customizable JSL code, and ODBC database connectivity to build a yield analysis application

Hyde F. Miller HydeMiller
Sr. Manager, Yield Enhancement and Fab/Foundry Process Optimization, Intersil Corp

Key Features in JMP Useful for Building a Custom (Yield Analysis) Application

  • Scripting (JSL) - Facilitates fully customizable application to meet the exact business needs
  • Database connectivity (ODBC) - Allows direct pull of specific data from existing data warehouse
  • Graphical Analysis - JMP provides a rich suite of graphical tools to display results and provide insight
  • Multiple element reports - A single graph can provide a lot of information.  Even more so, a group of graphs and analysis results can tell a more complete story.
  • Interactive display elements - Add drill-down capability to explore the next logical question of what is driving yield trends.
  • Add-ins -Easy to deploy across the organization

Display Elements for Organization and Interactivity


    • Text Box()
    • Text Edit Box()
    • Number Edit Box()
    • Check Box()
    • Radio Box()
    • Button Box()


    • Outline Box()
    • H List Box()
    • V List Box()
    • Table Box()
    • Panel Box()

Example JSL ODBC Code

Database Connection String
dsn_string = "DSN=MIDAS;PWD=;DBQ=MDS1;";
Hint: to determine your string, open a database table using the menus (File
->Database->Open Table).  Then edit table source (hot spot on table).

SQL Commands
sql_1 = "select * from MEL.LOT MEL_LOT,
MEL_LOT.LOTID in ('X2T7JB','X2T7L','X2T7LA') and
MEL_LOT_OPERATION_GROUP.operation_group_nm = 'TEST' and
sql_2 = "select * from MEL.LOT MEL_LOT where ROWNUM <= 5";

Create Database Connection Method (multiple SQL commands)
dbc = Create Database Connection( dsn_string );
dt_1 = Execute SQL(dbc, sql_1, "First Table", invisible);
dt_2 = Execute SQL(dbc, sql_2, "Second Table");
Close Database Connection( dbc );

Open Database Method (one-shot)
dt_1 = Open Database(dsn_string, sql_1, "First Table", invisible);
dt_2 = Open Database(dsn_string, sql_2, "Second Table");
Hint: this method is best for debugging SQL code

Demonstration - Points Made During Demo

  • Be luxurious.  Each chart provides information.  A collection of charts provides insight.
  • Systematize best practice.  Take input from top experts within the company, how would they do it?  Then build in that expert knowledge so everybody does it that way.  Then perfect over time based on lessons learned.
  • Utilize many JMP capabilities
    • Trend lines (linear fit)
    • Smoother Trend (interactive)
    • Fit mean
    • Color coded points
    • Statistical results - tabular data
    • By capability - Example: yield by facility
    • Linked graphs and brushing
  • When script stops, you still have full capabilities of JMP
  • JMP has a variety of graphical tools.  Find to one that best demonstrates the data.  For example, using Graph Builder trellis plots for wafer maps.
  • Custom design application to match specific business requirements (difficult to do with out-of-the-box tools).

Article Tags