FINDFIRST
Category: Filtering & data shaping
Overview
Description | Returns the first defined value per group along a given level. If no level is given the function will automatically use the lowest level in the time dimension used by the node. Use this when you need to select one representative value per group, for example the first entry per product or the starting value in a time series. |
Syntax |
|
Parameters |
|
Limitations | An error will occur:
|
Function combination
Often used together with TRUE to generate starting values, for example in combination with SCHEDULEPROJECTS:
TRUE(FINDFIRST('Node'))
Example
First value per product along the time dimension
This example returns only the earliest defined value for each product. Products with gaps retain only the first year's value.
Input node: Node A
2025 | 2026 | 2027 | 2028 | |
|---|---|---|---|---|
Product A | 4.5 | 4.5 | 4.5 | |
Product B | 5 | 6 | 6.4 | |
Product C | 7 | |||
Product D | 5.6 | 5.6 |
Formula: FINDFIRST('Node A') = FINDFIRST('Node A', "Year")
2025 | 2026 | 2027 | 2028 | |
|---|---|---|---|---|
Product A | 4.5 | |||
Product B | 5 | |||
Product C | 7 | |||
Product D | 5.6 |
Related Functions
Function | When to use instead |
|---|---|
When you want an index or ordering helper based on measure values rather than selecting one value per group. | |
When you want an index based on the order of level values in dimension management rather than selecting one value per group. |