Using Column Late Binding

How do you address situations where you need to reference a column within your formula, yet the exact column remains undetermined until after part of the calculation is performed? By using a technique called Column Late Binding.

You can find an example of late binding in this article: How to use a Risk Assessment Matrix in

Column Late Binding

To use column late binding, you insert a variable in your column syntax. Here is an example:

1: [Column]="Start Date"

2: {[Column]}=TODAY()

In the above example, the specific column to be updated in line 2 remains unidentified until the formula processes line 1, which is the reason this technique is referred to as Late Binding.

Late binding can be applied not only to the target column, as previously illustrated, but also to the columns used in the calculations.

1: [SD]="Start Date"

2: {End Date}=ADDDAYS(5,{[SD]})

Don't overuse Column Late Binding: it may slow down your formulas (by adding extra back and forth with the server). We recommend using them only when necessary.

What you can do with Column Late Binding

You may combine strings of characters and variables:

1: [Pref]="Start"

2: {[Pref] Date}=TODAY()

1: [Column]="Start Date"

2: {Next.[Column]}=TODAY()

1: [Suffix]="#End"

2: [EndDate]={Timeline[Suffix]}

What you can NOT do with Column Late Binding

  • You can't use functions directly in-between the curly brackets of the column syntax, only variables
  • You can't use several late binding columns within the same line, that do not belong to the same item.

1: [Column]="Count"

2: [Total]=SUM({Next.[Column]},{[Column]})=> Won't generate an error but the result will be incorrect

In this case, you could use this syntax:

1: [Column]="Count"

2: [NextCount]={Next.[Column]}

3: [CurrentCount]={[Column]}

4: [Total]=SUM([NextCount],[CurrentCount])