What do you mean by "only the highest level of aggregation?"
You can avoid NULL by checking the column grouping, for example:
SELECT CASE WHEN Grouping(GroupID) = 1 THEN '#ALL' ELSE GroupID END AS GroupID,
CASE WHEN Grouping(SubGroupID) = 1 THEN '#ALL' ELSE SubGroupID END AS SubGroupID,
Sum(Value)
FROM Table
GROUP BY GroupID,
SubGroupID
WITH ROLLUP
It will display #ALL set to NULL.
source
share