Skip to main content

PQL47 (PQL Function Library - CPM 4.7)

NOT

Applies to: CELONIS 4.0 CELONIS 4.2 CELONIS 4.3 CELONIS 4.4 CELONIS 4.5 CELONIS 4.6 CELONIS 4.7

Description

NOT negates a logical expression.

Parentheses may be used to simply make the complete logical expression more readable, but can also be used to change the meaning of the complete logical expression. This is possible through the order of precedence for logical expressions, described in the functions and operators section.

Syntax
NOT (logical expression)
NULL handling

If the input expression is NULL, than the output value is true since it does not fulfill the logical expression.

Examples

[1] NOT in a CASE WHEN context.

Query

Column1

CASE
    WHEN "Table1"."Column1" < 4 AND NOT ( "Table1"."Column1" = 1 ) THEN "Table1"."Column1"
    ELSE
        null
END

Input

Output

Table1

Column1 : INT

1

3

5

Result

Column1 : INT

null

3

null

[2] NOT in a FILTER context.

Query

Filter

FILTER NOT ( "Table1"."Column1" < 2 );

Column1

"Table1"."Column1"

Column2

"Table1"."Column2"

Input

Output

Table1

Column1 : INT

Column2 : INT

1

11

3

13

5

15

Result

Column1 : INT

Column2 : INT

3

13

5

15

[3] NOT in a PU_SUM context, specifically the filter part of the Pull-Up-Function.

Query

Column1

"companyDetail"."companyCode"

Column2

PU_SUM (
    "companyDetail" ,
    "caseTable"."value" ,
    NOT ( "caseTable"."value" > 250 AND "caseTable"."value" < 500 )
)

Input

Output

caseTable

caseId : INT

companyCode : STRING

value : INT

1

'001'

600

2

'001'

400

3

'001'

200

4

'002'

300

5

'002'

300

6

'003'

200

companyDetail

companyCode : STRING

country : STRING

'001'

'DE'

'002'

'DE'

'003'

'US'

Foreign Keys

caseTable.companyCode

companyDetail.companyCode

Result

Column1 : STRING

Column2 : INT

'001'

800

'002'

null

'003'

200