Adds a Special Missing Values section to the Data Validation page, covering what each rule does with a SAS special missing (.A-.Z, ._), plus a pointer from the rule table.
What was verified (against a real SAS estate, and against the deployed frontend validator in a real browser):
NOTNULL - fails. A special missing is null to a SAS NOT NULL / primary key constraint, and a physical constraint on the target table rejects it with an integrity constraint error.
MINVAL - fails (a special missing sorts below every number).
MAXVAL - passes, but then rejects the column's real numbers, so the rule and the special missing cannot coexist.
CASE - not applicable (character rule).
ROUND - ignored; it only rounds values that are numbers.
HARDREGEX / SOFTREGEX - checked like any other value; not exempt (the Regex Rules section already says this, now cross-referenced).
SOFTSELECT - passes; HARDSELECT - fails (strict membership test, and the numeric dropdown list holds numbers).
HARDFORMULA / SOFTFORMULA - returns #VALUE! for the row rather than a number.
Also notes that a range rule's own value must be a number (a special missing there fails every cell for MINVAL and every real number for MAXVAL), and adds the NOTNULL table row caveat.
The companion frontend fix (NOTNULL now rejecting a special missing on a numeric column) is in dc/dc PR #323.
Adds a **Special Missing Values** section to the Data Validation page, covering what each rule does with a SAS special missing (`.A`-`.Z`, `._`), plus a pointer from the rule table.
What was verified (against a real SAS estate, and against the deployed frontend validator in a real browser):
- **NOTNULL** - fails. A special missing is null to a SAS NOT NULL / primary key constraint, and a physical constraint on the target table rejects it with an integrity constraint error.
- **MINVAL** - fails (a special missing sorts below every number).
- **MAXVAL** - passes, but then rejects the column's real numbers, so the rule and the special missing cannot coexist.
- **CASE** - not applicable (character rule).
- **ROUND** - ignored; it only rounds values that are numbers.
- **HARDREGEX / SOFTREGEX** - checked like any other value; not exempt (the Regex Rules section already says this, now cross-referenced).
- **SOFTSELECT** - passes; **HARDSELECT** - fails (strict membership test, and the numeric dropdown list holds numbers).
- **HARDFORMULA / SOFTFORMULA** - returns `#VALUE!` for the row rather than a number.
Also notes that a range rule's own value must be a number (a special missing there fails every cell for `MINVAL` and every real number for `MAXVAL`), and adds the NOTNULL table row caveat.
The companion frontend fix (NOTNULL now rejecting a special missing on a numeric column) is in dc/dc PR #323.
New Special Missing Values section covering NOTNULL, MINVAL/MAXVAL, CASE,
ROUND, the regex rules, the dropdowns and the formula rules, with the
'not supported' set called out. Behaviour verified against a real SAS
estate and the deployed frontend validator.
- a primary key column rejects a blank and a special missing whether or not
the table carries a constraint or MPE_VALIDATIONS a NOTNULL rule
- HARDSELECT is now checked like any other value: it passes when the
dropdown list contains the special missing
- HARDSELECT drops out of the 'not supported' list
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds a Special Missing Values section to the Data Validation page, covering what each rule does with a SAS special missing (
.A-.Z,._), plus a pointer from the rule table.What was verified (against a real SAS estate, and against the deployed frontend validator in a real browser):
#VALUE!for the row rather than a number.Also notes that a range rule's own value must be a number (a special missing there fails every cell for
MINVALand every real number forMAXVAL), and adds the NOTNULL table row caveat.The companion frontend fix (NOTNULL now rejecting a special missing on a numeric column) is in dc/dc PR #323.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.