JSL File manager Brady Brady and Don Mccormack, JMP.

Slides:



Advertisements
Similar presentations
CC SQL Utilities.
Advertisements

Benchmark Series Microsoft Access 2010 Level 1
McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights Reserved TECHNOLOGY PLUG-IN T4 PROBLEM SOLVING USING EXCEL Goal Seek, Solver & Pivot Tables.
Decision Analysis Tools in Excel
Exploring Microsoft Excel 2002 Chapter 7 Chapter 7 List and Data Management: Converting Data to Information By Robert T. Grauer Maryann Barber Exploring.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
XP New Perspectives on Microsoft Office Excel 2003, Second Edition- Tutorial 11 1 Microsoft Office Excel 2003 Tutorial 11 – Importing Data Into Excel.
Information systems and databases Database information systems Read the textbook: Chapter 2: Information systems and databases FOR MORE INFO...
The University of Adelaide Table Talk: Using tables in Word Peter Murdoch March 2014 PREPARING GOOD LOOKING DOCUMENTS.
Excel 2007 Part (2) Dr. Susan Al Naqshbandi
ASP.NET Programming with C# and SQL Server First Edition
1 Performing Spreadsheet What-If Analysis Applications of Spreadsheets.
LINKS TO OBJECTIVES Multiple Worksheets Multiple Worksheets Move, Copy and Paste Cells Move, Copy and Paste Cells Split into Windows Freeze Panes Range.
© 2008 The McGraw-Hill Companies, Inc. All rights reserved. WORD 2007 M I C R O S O F T ® THE PROFESSIONAL APPROACH S E R I E S Lesson 15 Advanced Tables.
Course ILT Forms and queries Unit objectives Create forms by using AutoForm and the Form Wizard, and add or modify form headers and footers Open and enter.
Chapter 4 Working with Frames. Align and distribute objects on a page Stack and layer objects Work with graphics frames Work with text frames Chapter.
Lesson 7 – Microsoft Excel 2010 Working with Tables, PivotTables, and PivotCharts.
© 2011 Delmar, Cengage Learning Chapter 4 Working with Frames.
Integrating Components and Dynamic Text Boxes with the Animated Map– Lesson 101 Integrating Components and Dynamic Text Boxes with the Animated Map Lesson.
Pmt Function Vlookup Function Excel Database.  Naming a Range is very useful Makes copying more clear because formula or function contains a name rather.
2 Copyright © 2008, Oracle. All rights reserved. Building the Physical Layer of a Repository.
Mail Merge Introduction to Word Processing ITSW 1401 Instructor: Glenda H. Easter Introduction to Word Processing ITSW 1401 Instructor: Glenda H. Easter.
Building Dashboards with JMP 13 Dan Schikore SAS, JMP
Hudson Fare Files 103 – Alternate Fare Files
Dive Into® Visual Basic 2010 Express
DHTML.
Business rules.
Spreadsheet Manager Training Module
Course Objectives After completing this course, you should be able to:
Creating Oracle Business Intelligence Interactive Dashboards
Creating Custom Reports, Macros, and Switchboards
Microsoft Access 2016 Simplify Data Entry with Forms
Working in the Forms Developer Environment
Tutorial 5: Working with Excel Tables, PivotTables, and PivotCharts
Practical Office 2007 Chapter 10
Forms and Reports 09.
DATABASE CONCEPTS A database is a collection of logically related data designed to meet the information needs of one or more users Data bases are store-houses.
Learning the Basics – Lesson 1
Building a User Interface with Forms
Multiple Classes and Inheritance
Managing Worksheets And Workbooks
Access Creating a Database
Access Creating a Database
MANIPULATING TEXT WITHIN AND BETWEEN DOCUMENTS
Simplify Data Entry with Forms Chapter 3
DB Implementation: MS Access Forms
Download Orders, Shipments, and Receipts
ORACLE SQL Developer & SQLPLUS Statements
Exploring Microsoft® Excel® 2016 Series Editor Mary Anne Poatsy
Exploring Microsoft® Access® 2016 Series Editor Mary Anne Poatsy
MODULE 7 Microsoft Access 2010
Creating and Modifying Queries
Tutorial 3 – Querying a Database
Use of Mathematics using Technology (Maltlab)
Navya Thum February 13, 2013 Day 7: MICROSOFT EXCEL Navya Thum February 13, 2013.
Exploring Microsoft® Access® 2016 Series Editor Mary Anne Poatsy
Access Tutorial 8 Sharing, Integrating, and Analyzing Data
Word offers a number of features to help you streamline the formatting of documents. In this chapter, you will learn how to use predesigned building blocks.
DB Implementation: MS Access Forms
Digital Image Processing
8 6 MySQL Special Topics A Guide to MySQL.
ICT Spreadsheets Lesson 1: Introduction to Spreadsheets
Using Templates and Library Items
Exploring Microsoft Office Access 2010
TransCAD Working with Matrices 2019/4/29.
Grauer and Barber Series Microsoft Access Chapter One
MECH 3550 : Simulation & Visualization
Tutorial 8 Sharing, Integrating, and Analyzing Data
Assignment resource Working with Excel Tables, PivotTables, and Pivot Charts Fairhurst pp The commands on these slides work with the Week 2 Excel.
Presentation transcript:

JSL File manager Brady Brady and Don Mccormack, JMP

Motivation Why build this thing? Most file management relies on organizing work in operating system directories. This approach is suboptimal because: Over time, directory organization may grow unpredictably making it difficult to change, rename, move, merge, or split directories. Deeply nested directories make it difficult to know what’s in them. All you may know is the file name and type unless you open the file (e.g., very little metadata is available). Cross-referencing is typically achieved by keeping multiple copies or by using alias. Neither of these methods works well What’s the most recent copy? Where are they all? Aliases break when the original file is moved (PC) or can be as much as 100X larger than the original file (Mac).

Create a JSL Add-In that: Motivation The Solution Create a JSL Add-In that: Works for multiple file types. Is easy to maintain. Displays important metadata for any file through an interactive searchable interface. Lets the user add/change metadata and add files. Requires a minimal amount of user set-up.

File Metadata “View” tab selected File parameters, scanned in from files: Number of rows, columns, scripts, etc. Scripts Scripted platforms Path Controlled, “fixed-vocabulary” fields: Changed via cascading drop-downs Free text fields: Changed via text edit boxes

File Metadata “EDIT” tab selected File parameters, scanned in from files: Number of rows, columns, scripts, etc. Scripts Scripted platforms Path Free text fields: Changed via text edit boxes Controlled, “fixed-vocabulary” fields: Changed via cascading drop-downs

AutoRun Avoidance Disabling “On Open” Scripts in Datatables Get current preference, then set to suppress “On Open” scripts in datatables: Use << On Close () to restore original preference when main window closes:

Displaying scripts: use Load Text File ( ) + put into Script Box: Autorun Avoidance Circumventing “//!” In .jsl files Displaying scripts: use Load Text File ( ) + put into Script Box:

Updating Metadata: if present, leave !// at top: Autorun Avoidance Circumventing “//!” In .jsl files Updating Metadata: if present, leave !// at top:

File Metadata Loading / Saving Changes are written directly to the File Properties data table and the file itself; no need for a subsequent re-scans unless data is changed. Source file (.jmp, .jrn or .jsl) is opened as hidden, then modified with new metadata entries and saved off. Data tables use a table variable Journal uses a textbox within a hidden outline box Scripts use a commented section

For each metadata property (i.e., Industry, Topics, etc.): File Metadata Loading / Saving For each metadata property (i.e., Industry, Topics, etc.): Property name is between <<NameBeg>> and <<NameEnd>> delimiters Property value is between <<TextBeg>> and <<TextEnd>> delimiters

File Metadata Loading / saving

Finding Scripts Within Files Text tools used Character functions Contains ( ) Char ( ) Insert Into ( ) Length ( ) Substitute ( ) / Substitute Into ( ) Substr ( ) Uppercase ( ) Journal Messages jrn << Get Journal Data Table Messages dt << get Table Script Name ( ) dt << get Table Property ( )

Finding Scripts Within Files Within a datatable, scripts are stored as table properties. Within a journal, scripts reside in Button Boxes.

Finding Platforms Within Scripts Fit Model and DOE require special processing

Platforms / Personalities Fit model personalities and Doe Platforms

Summarizing Multiple Responses Goal: extend Summary platform functionality to work with Multiple Responses.

Summarizing Multiple Responses (Before)

Summarizing Multiple Responses (After)

cOmplex Row Selection You can use a Local Data Filter, with or without an associated platform, to avoid querying with complicated WHERE clauses:

Using Hidden Output

Using Hidden Output

Modifying The Current row selection When you construct a WHERE clause interactively, the Select Rows dialog gives 3 options for dealing with currently selected rows: Clear them (Start over) Extend from them (logical OR) Select from them (logical AND) JSL will not support these options until V12.

Modifying The Current row selection You can achieve the same results by combining row selection messages in various ways: << Select Where ( logical expression ) Clears present selection, then selects rows meeting the condition. << Get Rows Where ( logical expression ) Returns a vector of the row numbers of the rows meeting the condition. << Clear Select Deselects all rows. << Select Rows ( vector of row numbers ) Selects rows whose row numbers the vector contains, without clearing the present selection.

Modifying The Current row selection JSL equivalents for the ‘Select’ Dialog’s options

Manipulating journals Use display tree messages to: Close and de-select all outline boxes Highlight desired button boxes and open ancestors Messages used: << select << deselect << top parent << close << get button name << parent << class name

Manipulating Journals “zipping up” a journal

Manipulating Journals Finding and Surfacing buried scripts First, select all buttons containing the desired scripts:

Manipulating Journals Finding and Surfacing buried scripts Next, move up parent by parent, opening each, until you reach the top:

Cascading menus Data table houses the hierarchy Built using a series of associative arrays: Read 2 columns from a table The first holds choices for one drop-down menu The second holds choices for its “child” menu When a selection is made, update any descendant drop-downs

Cascading menus Tools used Associative Arrays Associative Array ( ) << get values << get keys Data table messages dt << select where dt << get rows where column << set selected Display box messages ComboBox << get ComboBox << set items TextBox << set text