using just [ShipCalcMethod] = "free" will always set to free no matter what.
using the abs() function, you can use other variables to determine whether the ShipCalcMethod column should or should not be set to free.
the abs function returs true if the equation in perenthisis is true:
abs(equation)?execute if true:execute if false;
abs($var == '3')?[ShipCalcMethod] = 'free':''
this will set ship ShipCalcMethod to free only if $var is equal to 3.