Our last update of the quarter, and boy is it a big one! Tons of new features to allow for more flexibility, better performance, and an overall greater experience. We hope you love it as much as we love sharing it!
NEW
Monthly Mortality Tables
Monthly select periods can now be configured for Select & Ultimate tables and referenced in formulas, allowing duration to be specified monthly or annually. This option is also available for Annuity Factor formulas that use mortality tables.
Dynamic/Nested Mortality Tables
There is a new variable data type available called ‘Mortality Table’:
Current data tables that reference mortality tables have been extracted into their own variable of the same name, appended with “Table”, so that you can quickly find the related table.
When setting up new dynamic mortality tables, users must first create a variable that returns the mortality table (usually by reading a data table). Once that variable is created, it will become available in the mortality table formula’s dropdown. This allows dynamic selection of mortality tables at run time. This configuration is now also available for annuity factor formulas, allowing even more flexibility.
Dynamic Aggregates + New Aggregation Options
A ‘Mode’ setting has been added to Aggregate formulas, and a new option, ‘Dynamic’, has been added. In ‘Dynamic’ mode, a start index, end index, and step can be specified, allowing users to create a loop that calculates the operand formula at each step and then aggregates the results.
New aggregate options ‘Average’, ‘Summation’, and ‘Product’ have been added to both modes, allowing users to average, add, and multiply the results together, respectively.
Inside the dynamic operand formula, a new system variable is available called ‘Current Index’ to allow referencing of the current index within the loop.
Other New Features
- A new field on model point field configuration allows users to specify if a field is required or not. This prevents validation errors when certain fields are not always needed, and enables users to omit entire columns in files, or allow individual rows to have no value for that field.
- A new parameter, Time, is available on scenario table reads, allowing for scenario reads at time indexes other than the current time index.
- Projection ID is now available on the projection details in the Execute & Analyze modules for easy access when building reports.
- Projection Name is now an available field in the reports.
IMPROVEMENTS
Variable Debug View
- Scenario number can now be changed via a dropdown to quickly access other scenarios.
- The links to tables in the formula builder now link to the actual data table used in the run, when available, instead of the table structure.
- The currently selected variable name is now shown above the formula view for reference.
- Fixed alignment of display values that were sometimes misaligned.
Projection Virtual Folders
- Folders can now be viewed on projection details and edited directly via a new control in the edit projection dialog.
- Virtual folders are now copied when duplicating and/or re-running a projection, so that the new projection remains in the same folders as the original.
- Virtual folders are now sorted alphabetically in the sidebar.
Formula Builder
- Multiple formulas within a group can now be selected and dragged & dropped together.
- Product/Portfolio aggregates now indicate in the formula builder when there are no longer any variables to aggregate, showing the name of the variable originally referenced.
Miscellaneous
- Users can now download more than the 5000 row limit in reports. If you need this functionality, please contact your account rep to have this enabled in your workspace.
- File versions for investment & sales files on projections are now tracked so the original file version can be viewed.
- Cancelled projections now appear in the Analyze module’s projection list.
- Improved error reporting when reading from a table that is missing a nested mortality table.
- The ‘Calculate All Variables‘ projection setting has been removed to avoid confusion. When troubleshooting results, please use the ‘Output All Results’ option to see everything that was calculated.
- We’ve improved the performance of the calculation engine, including improvements when ‘Output All Results’ is enabled.
- We’ve improved the performance of variable, table, and model validation.
- Minor stability improvements for transient errors/network instability within the calculation engine.
- The ‘Convert to model point field’ option has been removed for system product variables.
- Product variables that were copied from system variables can now be deleted.
- Model point fields are now sorted alphabetically in the Model Point Filters dropdown.
- Product sets are now sorted alphabetically wherever they appear in list form.
FIXES
- Removed “dead spots” in the formula builder operator control that sometimes did not activate the menu.
- Data tables can now be properly converted from non-file tables to file-only tables.
- Fixed issues when being logged out on multiple windows and attempting to log back in on more than one of them.
- Static model point errors when running with ‘Output All Results’ enabled now properly propagate up to the projection level error status.
- Fixed validation error message in calculation engine run logs when file only data tables are missing column headers.
- File-only data tables can now be included when copying a model.
- Fixed performance when removing a filter from a large variable list.
- DateDiff functions where one date is near the minimum/maximum possible value no longer cause an error.
- Fixed an ‘unknown’ error message sometimes caused while logging an infinite loop error.
- Comparison screens no longer show old versions of data tables.
- Fixed an issue causing certain negative time period results to be written twice when ‘Output All Results’ is enabled.
- Fixed an issue where self-referencing array variables were not being marked as array variables in certain situations in the interface.
- Renaming a file in the file manager no longer causes notes to be lost.
OPERATIONS
- As always, we continue to upgrade our backend libraries and technologies to stay up-to-date with the latest patches and updates for performance and security reasons. Isn’t it nice to not have to worry about that stuff?!