Formulas are the calculation performed to quantify the item by converting a takeoff variable into the purchase unit of the item. In essence, this will represent how you normally calculate the item. By default, the item’s assigned Coverage Rate will be used, but more complex formulas can be generated to allow for real life variations (multiple layers, thickness, etc).
More On Item and Assemblies
Topics
Types of Variables
There are two types of variables in STACK, takeoff variables and custom variables.
Takeoff Variables
Takeoff variables represents a data point as measured on the plans. They begin with ‘Measured’ in the variable list:
[MeasuredArea]
[MeasuredLinear]
[Measured Count]
[MeasuredLinearWithDrops]
[MeasuredDropCount]
[MeauredPitchedArea]
[MeasuredPitchedLinear]
[MeasuredSurfaceArea]
[MeasuredVolume2D]
[MeasuredVolume3D]
TIP #1 To see what measurement types provide, and examples, see our How to Master Measurement Types help article
Custom Variables
Custom variables represent specific or unique conditions you want to be expressed in the formula (e.g. the height of the wall in feet can be expressed as [WallHeightInFt], or the number or layers can be expressed as [NumberOfLayers]). They are specific to the assembly and their values are typed in by you when the assembly is added to a takeoff in the project.
TIP#1 When creating custom variables, variable names do not allow special characters, meaning no spaces between words, hence why we recommend the first letter of each word is capitalized.
TIP #2 We also recommend to be specific how the value will need to be typed (e.g. add ‘Inches’ in the name if the value should be supplied in inches). They will automatically be wrapped in brackets [ ] when saved.
Data Representation of Measurement Types
While the takeoff variables names remain the same, what they represent depends on the chosen measurement type.
Area
Takeoff Variable | Represents |
[MeasuredArea] | Area of measurement |
[MeasuredLinear] | Perimeter of measurement |
[MeasuredCount] | Count of measurement |
Linear
Takeoff Variable | Represents |
[MeasuredLinear] | Length of measurement |
[MeasuredCount] | Count of measurement |
Count
Takeoff Variable | Represents |
[MeasuredCount] | Count of measurement |
Linear with Drops
Takeoff Variable | Represents |
[MeasuredLinearWithDrops] | Total length of measurement (vertical and horizontal) |
[MeasuredDropCount] | Count of drops |
[MeasuredLinear] | Horizontal length of measurement |
[MeasuredCount] | Count of measurement |
([MeasuredLinearWithDrops]-[MeasuredLinear]) | Length of drops |
Pitched Area
Takeoff Variable | Represents |
[MeauredPitchedArea] | Pitched area of measurement (calculated from rise and run input) |
[MeasuredArea] | Flat area of measurement |
[MeasuredPitchedLinear] | Perimeter of measurement at pitch (calculated from rise and run input) |
[MeasuredLinear] | Perimeter of measurement |
[MeasuredCount] | Count of measurement |
Pitched Linear
Takeoff Variable | Represents |
[MeasuredPitchedLinear] | Length of measurement at pitch (calculated from rise and run input) |
[MeasuredLinear] | Length of measurement |
[MeasuredCount] | Count of measurement |
Surface Area
Takeoff Variable | Represents |
[MeasuredSurfaceArea] | Surface area of measurement |
[MeasuredLinear] | Length of measurement |
[MeasuredCount] | Count of measurement |
([MeasuredSurfaceArea]/ [MeasuredLinear]) | Wall height input |
Volume 2D
Takeoff Variable | Represents |
[MeasuredVolume2D] | Cubic yardage of measurement (calculated from depth input) |
[Measured Area] | Area of measurement |
[MeasuredLinear] | Perimeter of measurement |
[MeasuredCount] | Count of measurement |
([MeasuredVolume2D]/[Measured Area]) | Depth Input |
Volume 3D
Takeoff Variable | Represents |
[MeasuredVolume3D] | Cubic yardage of measurement (calculated from width and depth input) |
[MeasuredLinear] | Perimeter of measurement |
[MeasuredCount] | Count of measurement |
Formula Editor
The formula editor is where we can override the coverage rate of the item in the assembly with a custom formula.
NOTE: The formula of an item will be executed for every figure you draw, then added together and displayed on the Item Reports and Estimates.
Operators
Symbol | Name |
+ | Add |
- | Subtract |
( | Open Parenthesis |
) | Close Parenthesis |
* | Multiply |
/ | Divide |
> | Greater Than |
>= | Greater Than or Equal To |
< | Less Than |
<= | Less Than or Equal To |
Order of Operations
STACK uses standard mathematical practices when abiding to the order of operations, also known as PEMDAS (“Please Excuse My Dear Aunt Sally”):
Parenthesis
Exponents
Multiply
Divide
Add
Subtract
Creating Formulas
The formula you create is entirely dependent on the item. Remember, your goal for the formula is to convert a takeoff variable into the purchase unit of the item- so your only limitation is your imagination! To help get you started, here are some common examples:
Convert from Linear to 10' Pieces
[MeasuredLinear]/10
Convert from Area to 500' Rolls (10'x500') with built-in waste
[MeasuredArea]/5000*(1+([WastePercentage0to100]/100))
Convert from Count to Hours
[MeasuredCount]/[DoorsPerHour]
TIP #1 To see other ways to convert data, see our Mastering Custom Formulas help article
TIP #2 To see what Excel functions we support, see Excel Function in Formulas help article
Formula Validation
STACK follows standard mathematical practices when calculating a value:
Invalid Formula:
occurs when the formula is not complete; either a parenthesis was missed or added, or an operator, such as +, has been added by mistake. Verify the formula is complete before continuing.
Invalid Variables:
occurs when the formula editor does not recognize one of more variables used in the formula. Verify the correct spelling of each variable used in the formula matches the variable listed under the Variables header. If the variable does not exist, create the new variable.
This Cell Contains an Invalid Value:
appears on the item-based reports and on the Material and Labor estimate, and occurs when:
1. a custom variable is used in the denominator of a formula AND
2. the custom variable field of the assembly, under the takeoff, is set to zero '0'
resulting in a calculated value that is undefined. If the item has been used in several takeoffs or assemblies, ANY calculation for the item that results in an undefined value will cause the error to be displayed. Find and resolve the custom variable of the affected takeoff and assembly.TIP #1 Use the Item Cost by Takeoff Report to find the affected takeoff. Then edit the assembly added.
TIP #2 If you are unsure which variable is causing the issue, look at the assembly under the Assemblies tab. The custom variable will be listed in the formula of the affected item.