Calculated Column
A calculated column is a column generated as a result of a mathematical expression applied to one or more columns in a DataModel. You can provide more than one mathematical expression on multiple columns of a DataModel. This will generate a new DataModel which will contain the existing and the calculated columns.
Let's take a basic example of tabular data in a DataModel.
| Month | Revenues | Profits | 
|---|---|---|
| January | 16000 | 4000 | 
| February | 20000 | 5000 | 
| March | 18000 | 3000 | 
| April | 19000 | 4000 | 
| May | 15000 | 1000 | 
| June | 21000 | 7000 | 
| July | 16000 | 1000 | 
| August | 20000 | 4000 | 
| September | 17000 | 1000 | 
| October | 22000 | 8000 | 
| November | 19000 | 2000 | 
| December | 23000 | 7000 | 
In the above data, we have columns for Month, Revenue and Profit. The mathematical formula to calculate the Profit % is, (Profit *100) / Revenue. To create a new column for Profit %, with the existing ones, refer to the code below:
CalculatedColumns calculatedColumns = new CalculatedColumns {
   {"(Profit * 100) / Revenue","Profit %" }
};
DataModel resultModel = model.AddNewCalculatedColumns(calculatedColumns);
In the above code:
calculatedColumnsis an object which holds information of the data to be calculated.modelis an object of the source DataModel.resultModelis the object which holds the resultant data.
The new data of the newly created DataModel after applying the above formula to the table is shown below:
| Month | Revenues | Profits | Profit % | 
|---|---|---|---|
| January | 16000 | 4000 | 25 | 
| February | 20000 | 5000 | 25 | 
| March | 18000 | 3000 | 16.66 | 
| April | 19000 | 4000 | 21.05 | 
| May | 15000 | 1000 | 6.66 | 
| June | 21000 | 7000 | 33.33 | 
| July | 16000 | 1000 | 6.25 | 
| August | 20000 | 4000 | 25 | 
| September | 17000 | 1000 | 5.88 | 
| October | 22000 | 8000 | 36.36 | 
| November | 19000 | 2000 | 10.52 | 
| December | 23000 | 7000 | 30.43 | 
The code to dispose the calculatedColumns object is given below:
calculatedColumn.Dispose();
In the above code, calculatedColumn is the object that holds the names of the columns created with the data derived via the mathematical expressions.
If the column name of a table includes space, for example,
Order Dateprovide it in the mathematical expression as[Order Date].