There are 2 frequently-updated Excel sheets, the clients and the orders. We need to find out which clients in the Excel sheet have bought all products in the list by importing a dynamic product list.

It takes programmers great time and efforts to implement the computational details. For example, to seek the maximum, ranking, filter, group, and average. It is cumbersome to define various data types. For example, to define class, use object to represent every piece of data, and then use List to store multiple pieces of data. The computational procedure is implemented with nested multiple level of loops. The computations involve the set computation and relation computation between massive data, or computation on relative positions between objects and object attributes. It takes great efforts to implement the underlying logics for these computations.

I find esProc can deal with it as follows,

=file(“e:\\customers.xlsx”).import@t()
=file(:e:\\orders.xlsx”).import@t()
=A2.switch(customer_id.A1)
=A2.group@i(customer_id:customer;~:OrderList)
=A2.group@i(customer_id:customer;~.(item_id).id():ItemOfCustomer)
=B4.Select(itemParam^~.ItemOfCustomer==itemParam)

esProc is good at simplifying the complex computation, and allows for integrating with the Java application in a convenient way.
Class.forName(“com.esproc.jdbc.InternlDriver”);
Connection con=DriverManager.getConnection(“jdbc:esproc:local://”);
PreparedStatement st=con. prepareStatement(“call p31(?)”);

esProc is a development tool especially designed for database computations. esProc offers native support for the cross-database computations and the code reuse, with a set of very perfect debugging functions. No wonder that the development productivity in esProc is also superior to that in SQL. esProc can retrieve from and operate on multiple databases, text files, or Excel sheets. Its grid style and agile syntax is especially designed for the massive structured data computation. esProc supports external parameters and the computational result in esProc can be exported though JDBC for direct invocation with Java language and reporting tools. So, esProc can boost the computational capability of Java dramatically.

It's a new product I find, but I'm still quite not sure if it can deal with some other computation problems, are there any good ways or tools?