Adds user-defined computed variables, configured per table in the new MPE_DERIVED control table. A derived variable is declared with a name, type, length, optional format and a SAS expression. The expression is applied in a DATA step view, and the filter is applied by the step that reads the view, so the variables exist before the filter is evaluated and can therefore be filtered on. A WHERE clause cannot see a variable created in the same data step, hence the view. - getdata: derived columns are added to the COLS payload (read only, labelled DERIVED: <expression>) and to the data returned to the grid - getcolvals: values are taken from the derived view, so filter dropdowns work for derived columns - validatefilter: the filter is validated against the view, and stored against the physical table (needs mp_filterstore targetds=) - stagedata: derived columns are dropped before the approval package - mpe_makedata / mpe_makedatamodel / ddl / migration: new MPE_DERIVED table, registered in MPE_TABLES Values are display-time only - nothing derived is ever written back.