Real Property / Forecasting / Cost Forecasting / Cost Forecast Wizard
Real Property / Advanced Forecasting / Cost Forecasting / Cost Forecast Wizard

Auto Calculating Costs

If you select the Cost Forecast Wizard's Auto Calculate Costs check box, the program will always recalculate costs prior to refreshing the data. For example, if you are reviewing group data on a specific review date and you use the Year> button to shift the date forward one year, the program will calculate the costs for the new date prior to refreshing the data. Or, if you select a Review Date and click Show, the program recalculates costs when it shows the groups for that date.

The Auto Calculate Cost selection is available on the Cost Forecasting Wizard / Allocate Costs tab, the Cost Forecast Department Analysis Report, and the Cost Forecast Building Analysis Report.

The Auto Calculate Costs selection you make from the Allocate Costs tab is also used on the:

  • Cost Allocation tab
  • Department Analysis tab

Manually Calculating Costs

If your are reviewing large data sets and the calculations take a long time, you can clear the selection from the Auto Calculate Costs check box. You can then calculate costs as needed using the Calculate Costs button.

Calculation

The Calculate Costs action calls two workflow rules:

  • AbCommonResources-CostReportingService-getCashFlowProjection

  • AbCommonResources-PortfolioForecastingService-updateGroupAllocationCosts

The AbCommonResources-PortfolioForecastingService-updateGroupAllocationCosts workflow rule accepts the building annual cost as a parameter calculated from getCashFlowProjection and runs the following:

final String sql = "UPDATE gp SET gp.cost = " + bl_annual_cost + "*" " ( (CASE WHEN gp.area = 0 THEN gp.area_manual ELSE gp.area END) / " " (SELECT SUM(CASE WHEN gp.area = 0 THEN gp.area_manual ELSE gp.area END) " " FROM gp WHERE bl_id = '" + bl_id + "' AND portfolio_scenario_id = '" portfolio_scenario_id + "'" + " AND " formatSqlIsoToNativeDate(context, date_report) " between date_start and date_end)) " + " WHERE bl_id = '" + bl_id "' AND portfolio_scenario_id = '" + portfolio_scenario_id + "' AND " formatSqlIsoToNativeDate(context, date_report) " between date_start and date_end"; Resulting SQL updates no records: UPDATE gp SET gp.cost = 331846* ( (CASE WHEN gp.area = 0 THEN gp.area_manual ELSE gp.area END) / (SELECT SUM(CASE WHEN gp.area = 0 THEN gp.area_manual ELSE gp.area END) FROM gp WHERE bl_id = 'HQ' AND portfolio_scenario_id = 'Headquarters Baseline' AND '2024-12-03' between date_start and date_end)) WHERE bl_id = 'HQ' AND portfolio_scenario_id = 'Headquarters Baseline' AND '2024-12-03' between date_start and date_end date_end IS NULL so no records are updated.

Notes

  • Groups that have null end dates will show costs as 0. However, groups that are associated with Leases will have end dates and thus will have chargeable costs if there are cost records for the time period that is being looked at.

  • When creating spaces in a scenario or creating allocations, be sure to enter an End Date. If you own the property and will be permanently occupying it, enter an End Date far in the future ( e.g. 3000-12-31). This is required so that the Cost Forecast Wizard will properly allocate all cost forecasts. See Add New Space to a Scenario and Add New Allocations .

See Also

Allocate Costs Tab

Cost Forecast Wizard: Overview