Boolean
Extended supports booleans, and these can be used via the constants True
and False
.
Boolean properties and conditional statements will always evaluate to True
or False
.
Booleans can be used for filtering, querying, and conditional statements.
True // True
var := False
var // False
1 = 1 // True
myName := "Revenue"
myName = "Revenue" // True
myKpi := t.KP001
myKpi.approved // True if the "approved" property of the KPI is checked, otherwise false
Logical Operators
The following logical operators are supported by Extended:
Operator |
Definition |
|
True if both sides evaluate to true, otherwise false |
|
True if either side evaluates to true, otherwise false |
|
Inverts the value of |
Operator Precedence
()
Parentheses can be used to wrap expressions and calculate them first.AND
OR
If multiple operators with the same precedence are present, they will be evaluated left-to-right.
Truth Table
Input |
Output |
|
True |
|
False |
|
False |
|
True |
|
True |
|
False |
Relational Operators
The following relational operators are supported by Extended:
Operator |
Definition |
|
Greater than |
|
Less than |
|
Greater than or equal to |
|
Less than or equal to |
|
Equality (equal to) |
|
Inequality (not equal to) |
|
True if the list on the left contains the element on the right |
|
True if the element on the left is within the list on the right |
Special Booleans
There are several special access boolean properties that contain information on the visibility and scope of an object. These booleans can help include/exclude non-visible objects, or expired objects in your code.
Boolean Property |
Definition |
|
True if the object is visible |
|
True if the object, and all its parent objects are visible |
|
True if the object’s lifetime is within the current period |
|
True if the lifetime of the object and all of its parents are within the current period |
|
True if the object is visible and inScope |
|
True if the object and all of its parents are visible and inScope |
Examples
myScorecard := t.NOT_VISIBLE_SCORECARD // Scorecard that is not visible, and has no start/end dates
myScorecard.visible // False
myScorecard.available // False
myScorecard.inScope // True
oldPerspective := t.OLD_PERSPECTIVE // Perspective that is visible, with lifetime ended in 1776
oldPerspective.visible // True
oldPerspective.available // False
oldPerspective.inScope // False
myKpis := SELECT Kpi WHERE inheritScope // The Kpis under oldPerspective would be excluded
myKpis // since one of their parents (oldPerspective) is expired
SELECT Kpi WHERE available // All the Kpis that are visible and inScope