expressionContainsAggregation
True when the expression text contains an aggregation — a brace call
(SUM{...}, custom aggregations included) or one of the paren-form
aggregation wrappers (PERCENTAGE(...), CUMUL(...), …). Observable brace
calls (CHANGE_COUNT{...}) are not aggregations: the check runs on the
normalized program, where the parser's generic brace-call kind has been
split into AGG_CALL / OBSERVABLE_CALL. Empty or unparseable text → false.
TypeScript
expressionContainsAggregation: (expression: string | undefined | null, options?: InferExpressionKindOptions) => boolean