PU_COUNT
Description
Calculates the number of elements in the specified source column for each element in the given target table.
PU_COUNT can be applied on any data type. The data type of the result is always an INT.
Syntax
PU_COUNT ( target_table, source_table.column [, filter_expression] )
target_table: The table to which the aggregation result should be pulled. This can be:
a table from the data model. It needs to be, directly or indirectly, connected to the source_table, and there must be a 1:N relationship between the target_table and the source_table. Further documentation about join relationships can be found in Join functionality.
DOMAIN_TABLE or CONSTANT (see Pull Up Aggregation Table Options).
source_table.column: The column which should be aggregated for every row of the target_table.
filter_expression (optional): An optional filter expression to specify which values of the source_table.column should be taken into account for the aggregation.
Use Cases
PU_COUNT
can be used for Fallback Status.
NULL handling
If no value in the source table column exists for the element in the target table (either because all values of the source table are filtered out, or because no corresponding value exists in the first place), 0 will be returned. NULL values in the source table column are treated as if the row does not exist.
Examples
[1] Count the number of cases for each company code: | |||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||
|
[2] PU-functions can be used in a FILTER. In this example, the company codes are filtered such that the corresponding number of case table values is smaller than 2: | |||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
|
[3] PU-functions can be used inside another aggregation function. In this example, the maximum value of all number of case table values for each company code is calculated: | |||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
|
[4] Count the number of cases which have a value larger than 300 for each company code. All case table values for company codes '002' and '003' are filtered out, which means that in these cases, 0 is returned. | |||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||
|
[5] Example over three tables: For each entry in table B, count the number of values that are less than 300 in table C. Tables B and C do not have a direct connection, but are connected via table A: | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
|