I have a data table where I can not count on the column names being the same from moment to moment so I cannot build Calculated Columns the standard way because it uses the "Column Name" property (and that can change).
So, I'd like to build them via IronPython using the External Name which won't change without notice.
since you already know how to access a particular column by its ExternalName, you can use that method to change a column's Expression
property like so:
column.Properties["Expression"] = "If([some_column] = 1, 'YES', 'NO')"