From 94bf510010dd5953435fabdf714a837fc97e46ad Mon Sep 17 00:00:00 2001 From: dc Date: Wed, 21 Oct 2026 22:24:55 +0000 Subject: [PATCH] docs(derived): shorten the dependency rule --- docs/derived-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/derived-variables.md b/docs/derived-variables.md index 57e11c8..3f7ff7b 100644 --- a/docs/derived-variables.md +++ b/docs/derived-variables.md @@ -117,7 +117,7 @@ Derived columns themselves are an EDIT screen feature: the VIEW screen and the d ## Rules and limits - **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 no sequence number is maintained, and the declaration is checked in both directions: every reference must be declared, and every declared name must be referenced and must exist. A cycle is rejected. - **No collisions.** `VAR_NM` must not match an existing column of the target table, or `_____DELETE__THIS__RECORD_____`. - **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.