Intuitive grid style enhances the usability. esProc is a tool to script in the grid. With esProc, the computational logics can be laid out in the 2D space conveniently, so that the business logic can be interpreted with the computer language more easily. The grid implements an intuitive view of the code indentation and work scope, and streamlines the cell reference and reuse. Each cell represents one computational unit/step. With the natural cell name, a cell can reference to another cell mutually, needless to define variables. By clicking cells, users can monitor the computed result intuitively, needless to search in a list of variables.
Step-by-step style in solving complex computation. esProc advocates step-by-step computation – decompose a complex goal into several simple steps in a grid, and accomplish each of those simple steps to ultimately solve the goal. By comparison, SQL is not a champion for the “step-by-step” computing. SQL users must finish programming all computational procedures before they can view the result. SQL statements are thus inevitable lengthy and error-prone in handling complex computation. Therefore, esProc is superior to SQL in achieving the complex computational goal for its much greater development efficiency. esProc empowers users with insight to the current cell data to develop smart algorithm for the next step; allows for scripting for the next step by referencing the previous computations; and enables them to achieve the final goal through incremental processing gradually and progressively.
Specialized debugging function. Designed with the “step-by-step” mindset, a real useful debugging function is developed for esProc, including various functions like break point, stepping, run to cursor, start, and terminate. Unlike the fake debugging script as SQL/SP, esProc can perform the debugging straightforwardly, needless to build a specific intermediate table. The break point can be set in any position without altering the code. Before proceeding to the next step of summarizing, users can even visually check the data to ensure they are distributed to the group as specified. In developing, 90% of time is spent on debugging. The specially-built debugging function can reduce error and development cycle dramatically.
Agile syntax for arbitrary computation. esProc supports the true data set. The member of a set can be simple data types, record, and/or other sets. The set can be used to simplify the structural data computation, so as to facilitate the arbitrary computation from the business prospective. esProc supports the ordered set, capable of accessing to the set member and performing the serial-number-related computation, for example, ranking, sorting, year-over-year comparison, and link relative ratio comparison. With the ideal “set of set” mechanism to represent the grouping, esProc can be used to solve various grouping problems easily, including those problems involving the equal, align, and enum groupings. In addition, users can operate the individual records in the data set in the same way as operating the object. Such disassociated record will give users a much more arbitrary access experience than ever. For many complex computational problems for SQL, esProc can represent them easily owing to its agile syntax, such as – the computation on relative positions in multi-level groupings, and data grouping and summarizing by the specified set.
All-round and well-defined data computational setup. esProc supports the character string, number, and date computation; supports unary and binary operations on set; supports sort, select, query, aggregate, group, and join operations on structural data; supports flow control statements including looping, branch, and subroutine calling; supports the data retrieval, computation, modification, and write-back to databases and files; supports in-memory and external-memory computation; supports standalone and parallel computations; all-roundly supports both JDBC data source and Excel and Txt data source; supports access to the data stored locally, on the LAN, or in the distributed file systems. In addition, esProc features the loop function to minimize the use of most looping statements, so that the programing difficulty is reduced, technical requirements lowered, and the development efficiency improved.
esProc can greatly improve the efficiency of developing database application, and is ideal for the complex database computation, consolidating data from multi-data-source in a single-data-source report, complex computation for report data source, database-alike computation in Java, and Java data computation layer.