Applies to:  CELONIS 4.0 CELONIS 4.2 CELONIS 4.3 CELONIS 4.4 

Description

Calculates the number of distinct elements in the specified column for each element of the given parent table.

PU_COUNT_DISTINCT can be applied on any data type. The data type of the result is always an INT.

If no value in the child table exists for the element in the parent table (either because all values of the child table column are filtered out, or because no corresponding value exists in the first place), 0 will be returned.

Syntax

PU_COUNT_DISTINCT ( parent_table, child_table.column [, filter_expression] )

Examples

Count the number of distinct values for each company code:

Query
Column1
"companyDetail"."companyCode"
Column2
PU_COUNT_DISTINCT("companyDetail", "caseTable"."value")
Input
caseTable
caseId : INTcompanyCode : STRINGvalue : INT
1
'001'
600
2
'001'
400
3
'001'
200
4
'002'
300
5
'002'
300
6
'003'
200
companyDetail
companyCode : STRINGcountry : STRING
'001''DE'
'002''DE'
'003''US'

Foreign Keys
caseTable.companyCodecompanyDetail.companyCode
Output
Result
Column1 : STRINGColumn2 : INT
'001'
3
'002'
1
'003'
1




Count the number of distinct values for each company code. Only consider cases with an ID larger than 2:

Query
Column1
"companyDetail"."companyCode"
Column2
PU_COUNT_DISTINCT("companyDetail", "caseTable"."value", "caseTable"."caseID" > 2)
Input
caseTable
caseId : INTcompanyCode : STRINGvalue : INT
1
'001'
600
2
'001'
400
3
'001'
200
4
'002'
300
5
'002'
300
6
'003'
200
companyDetail
companyCode : STRINGcountry : STRING
'001''DE'
'002''DE'
'003''US'

Foreign Keys
caseTable.companyCodecompanyDetail.companyCode
Output
Result
Column1 : STRINGColumn2 : INT
'001'
1
'002'
1
'003'
1




Count the number of distinct values for each company code. Only consider cases with an ID larger than 3. All case table values for companyCode '001' are filtered out, which means that in this case, 0 is returned:

Query
Column1
"companyDetail"."companyCode"
Column2
PU_COUNT_DISTINCT("companyDetail", "caseTable"."value", "caseTable"."caseID" > 3)
Input
caseTable
caseId : INTcompanyCode : STRINGvalue : INT
1
'001'
600
2
'001'
400
3
'001'
200
4
'002'
300
5
'002'
300
6
'003'
200
companyDetail
companyCode : STRINGcountry : STRING
'001''DE'
'002''DE'
'003''US'

Foreign Keys
caseTable.companyCodecompanyDetail.companyCode
Output
Result
Column1 : STRINGColumn2 : INT
'001'
0
'002'
1
'003'
1




  • No labels