Uncommercial .Net Library with Table Functions
- Non-commercial & free .net library
- Analytical Table Functions with in-memory tables as input and output parameters (like standard formulas in excel)
- Table computations without any sql-based database programming
- A framework for user-defined Table Functions (like user-defined formulas in excel)
- Ability to calculate and store all the table valued parameters of multiple calculation instances in a relational database like MS SQL or MySQL – more info & downloads
Calculation Engine based on Table Functions (.NET)
- All the features and Table Functions of the non-commercial finaquant® protos, plus Calculation Nodes and Networks for enhanced automation, performance and modularity (Calculation Engine)
- Integration of table and matrix computations for applications like scenario analysis, estimations and predictions
- Can be used for applications like Business Analytics & Intelligence, Commission & Performance calculations, Simulations & Optimizations – more info & downloads
Table Functions of our .NET libraries finaquant® protos (non-commercial) or finaquant® calcs (commercial) can be used to formulate evaluation function (also known as objective or fitness function) and constraints in any optimization scenario quite easily without cumbersome database programming; following model example shows how.
The output of an evaluation function can be measures like profit, time or costs, depending on the figure you want to minimize or maximize. In the following example, we want to get optimal marketing investment amounts per brand (value drivers) in order to maximize total profit from sales.
We will use Nelder-Mead Solver from Microsoft Solver Foundation (free .NET library) to find optimal investment amounts in this example.
You may download the Visual Studio project file with all the C# code required to run this example here.
An online digital products dealer wants to increase its sales through advertisements on internet. Each ad will promote a certain brand (i.e. ads at brand level). The increase in sales for each product depends on (1) investment amount, and (2) sensitivity α of the product. Continue reading →
With finaquant® protos (non-commercial) or finaquant® calcs (commercial) a .NET developer has everything she needs for analytical table computations and database connection (i.e. storing and reading complete data tables).
Sometimes, tables need to be broken down into matrices for detail processing. As shown in our related forum post, the available matrix and vector functions in finaquant libraries can easily be extended with other numerical .NET libraries like ILNumerics that offer more specific functions for statistics and optimization.
Reporting (presenting data visually in well-formatted layouts and pdf files) is the only missing link. Luckily, basic reporting functionality is built in Visual Studio and .NET framework. Following video demonstrates how a simple report with a parameter can be created with ReportViewer:
This article demonstrates how changes in commission amounts can be simulated by varying selected table-valued inputs. In example presented here, the math software Matlab is connnected with the Calculation Engine implemented with finaquant® calcs in order to:
Control the variation of selected inputs; Sales and Commission Scales.
Reporting: Visualize the resultant total commissions with plot diagrams.
Both of our .NET libraries finaquant® protos (non-commercial) and finaquant® calcs (commercial) contain Matrix and Vector functions in addition to Table Functions. In fact, table functions are higher level constructs that are based on matrix and vector functions of the library.
You may find examples for Matrix and Vector functions in the Visual Studio file FinaquantCalcsStarter (or FinaquantProtosStarter) that you can download at the corresponding product page (see related downloads).
Parallel to field types of tables (text attribute, numeric attribute, key figure) there are three types of matrices and vectors:
Here are some examples for creating matrices, and making operations with them: Continue reading →