Currently if there is predicate after grouping and before applying Aggregate operation we block the translation to server and do streaming GroupBy. Aggregate operator argument can take Case Block to do conditional aggregate and allow us to generate Group By clause in SQL.
Structure would be
COUNT(
CASE
WHEN predicate
THEN projection
ELSE NULL
END
)