Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The WhereClauseCompoundExpression class is used to define compound expressions in the compoundExpression attribute of the WhereClause class (and any of its specializations).

Excerpt Include
ARSP:Class Diagram: WhereClauseCompoundExpression
ARSP:Class Diagram: WhereClauseCompoundExpression

...

  • The logicalOperator attribute contains a value from the ExpressionLogicalOperatorEnum enumeration:
    • "AND" or "OR" are used in compound expressions that combine 2 or more "sub-clauses", each of which may be either a simple condition or another compound expression.
    • "NOT" is used in compound expressions that negate another (single) sub-clause, which will be another compound expression.
  • The whereClauses attribute contains:
    • In a compound expression that combines selection criteria: 2 or more sub-clauses, each represented as an instance of the WhereClause class or 1 of its specializations, or
    • In a compound expression that negates another compound expression: a single " sub-clause " represented as an instance of the WhereClause class or 1 of its specializations.

...

    •  In instances of either the WhereClauseCompoundExpression class itself (which is used in instances of the WhereClause class) or the CompoundSubsetExpression specialization (which is used in the DataSubset specialization of the WhereClause class), each sub-clause in the whereClauses attribute is represented as an instance of the WhereClause class, in which:
      • The level is 1 greater than the level of the instance of the WhereClause in which the compound expression is being defined.
      • The order attribute is:
        • used to order this sub-clause with respect to the other sub-clauses with which it is being combined (i.e., 1 for the first, 2 for the second, etc.)
        • assigned as "1" for a sub-clause that is being negated.
      • Either the condition attribute is used to specify the sub-clause as a simple condition (for sub-clauses being combined) or the compoundExpression attribute is used to specify the sub-clause as another compound expression.
    •  In instances of the CompoundSetExpression specialization (which is used in the AnalysisSet specialization of the WhereClause class), each sub-clause in the whereClauses attribute is specified as a reference to the identifier value or of another instance of the AnalysisSet class.
    •  In instances of the CompoundGroupExpression specialization (which is used in the Group specialization of the WhereClause class), each sub-clause in the whereClauses attribute is specified as a reference to the identifier value or of another instance of 1 of the specializations of the Group class (AnalysisGroup or DataGroup).
Example

Include Page
ARSP:compoundExpression: AND and OR
ARSP:compoundExpression: AND and OR

Example

Include Page
ARSP:compoundExpression: NOT
ARSP:compoundExpression: NOT

Note

Note that the ARS model is designed to support the specification of analyses of data in ADaM datasets, which are expected to be "analysis-ready". In analysis-ready datasets, any complex criteria needed to define either subject populations or the grouping of data for analysis will usually have been applied to create flagging or grouping variables. These flagging and grouping variables can usually then be referenced in the specification of simple conditions, so compound expressions should generally not be required for the definition of subject populations (using the AnalysisSet class) or groups within grouping factors (using either the AnalysisGroup or DataGroup specialization of the Group class).

...