Search

1. Preface
2. Introduction to Informatica Big Data Management
3. Mappings
4. Sources
5. Targets
6. Transformations
7. Data Preview
8. Cluster Workflows
9. Profiles
10. Monitoring
11. Hierarchical Data Processing
12. Hierarchical Data Processing Configuration
13. Hierarchical Data Processing with Schema Changes
14. Intelligent Structure Models
15. Stateful Computing
16. Appendix A: Connections
17. Appendix B: Data Type Reference
18. Appendix C: Function Reference # Nested Aggregate Functions

A nested aggregate function in a window function performs a calculation separately for each partition. A nested aggregate function behaves differently in a window function and an Aggregator transformation.
A nested aggregate function in an Aggregator transformation performs a calculation globally across all rows. A nested aggregate function in an Expression transformation performs a separate calculation for each partition.
For example, you configure the following nested aggregate function in an Aggregator transformation and an Expression transformation:
`MEDIAN ( COUNT ( P1 ) ) `
You define P2 as the group by port in the Aggregator transformation.
The function takes the median of the count of the following set of data:
`P1`
`P2`
`10`
`1`
`7`
`1`
`12`
`1`
`11`
`2`
`13`
`2`
`8`
`2`
`10`
`2`
`RETURN VALUE: 3.5`
When you include nested aggregate functions in an Expression transformation and configure the transformation for windowing, the function performs the calculation separately for each partition.
You partition the data by P2 and specify a frame of all rows preceding and all rows following. The window function performs the following calculations:
1. COUNT (P1) produces one value for every row. COUNT returns the number of rows in the partition that have non-null values.
2. MEDIAN of that value produces the median of a window of values generated by COUNT.
The window function produces the following outputs:
`P1`
`P2`
`Output`
`10`
`1`
`3`
`7`
`1`
`3`
`12`
`1`
`3`
`11`
`2`
`4`
`13`
`2`
`4`
`8`
`2`
`4`
`10`
`2`
`4`
You can nest aggregate functions with multiple window functions. For example:
`LAG ( LEAD( MAX( FIRST ( p1 )))`
You can nest any number of the window functions LEAD and LAG, but you cannot nest more than one aggregate function within another aggregate function. Updated July 10, 2020

Resources