docs(derived): shorten the collision rule to the rule itself

This commit is contained in:
dc committed 2026-10-21 22:22:24 +00:00
1 parent 64c3fb51aa
commit e9d48594d7
1 file changed
+1 -1
+1 -1
View File
@@ -118,7 +118,7 @@ Derived columns themselves are an EDIT screen feature: the VIEW screen and the d
- **Expressions only.** `VAR_LOGIC` must be a single SAS expression - no semicolons, macro triggers (`%`, `&`) or comments. Conditional logic is available through functions such as `ifc()`, `choosec()`, `cats()`, `catx()`, `put()`, `input()` and `intnx()`. - **Expressions only.** `VAR_LOGIC` must be a single SAS expression - no semicolons, macro triggers (`%`, `&`) or comments. Conditional logic is available through functions such as `ifc()`, `choosec()`, `cats()`, `catx()`, `put()`, `input()` and `intnx()`.
- **Dependencies declared.** `VAR_DEPS` lists every input the expression uses, physical columns and derived variables alike. Statements are generated in dependency order, so a variable can build on another without a sequence number. The declaration is checked against the expression in both directions: a derived variable that is referenced must be declared, and a declared name that the expression does not reference is an error. A declared name must be a column of the table or a derived variable of the same table, and a cycle is rejected. - **Dependencies declared.** `VAR_DEPS` lists every input the expression uses, physical columns and derived variables alike. Statements are generated in dependency order, so a variable can build on another without a sequence number. The declaration is checked against the expression in both directions: a derived variable that is referenced must be declared, and a declared name that the expression does not reference is an error. A declared name must be a column of the table or a derived variable of the same table, and a cycle is rejected.
- **No collisions.** `VAR_NM` must not match an existing column of the target table. That includes the metadata columns Data Controller adds, whatever [MPE_TABLES](/tables/mpe_tables/) names them - `TX_FROM`, `TX_TO` and `PROCESSED_DTTM` by default, `VER_FROM_DTTM` and `VER_TO_DTTM` for a bitemporal table for example. The one name always refused is `_____DELETE__THIS__RECORD_____`, which the EDIT grid uses to mark a row for deletion. - **No collisions.** `VAR_NM` must not match an existing column of the target table. The one name always refused is `_____DELETE__THIS__RECORD_____`, which the EDIT grid uses to mark a row for deletion.
- **Read-only.** Derived columns cannot be edited in the grid, and any value submitted for them is discarded before the approval package is created. - **Read-only.** Derived columns cannot be edited in the grid, and any value submitted for them is discarded before the approval package is created.
- **Recomputed on every read.** The value always reflects the current data and the current definition, and there is no history of previous derived values. - **Recomputed on every read.** The value always reflects the current data and the current definition, and there is no history of previous derived values.