If I have an output dataset from a CTE that looks like
PERIOD FT GROUP DEPT VALUE 1 Actual KINDER MATH 200 2 Actual KINDER MATH 363 3 Actual KINDER MATH 366 1 Budget KINDER MATH 457 2 Budget KINDER MATH 60 3 Budget KINDER MATH 158 1 Actual HIGHSCH ENGLISH 456 2 Actual HIGHSCH ENGLISH 745 3 Actual HIGHSCH ENGLISH 125 1 Budget HIGHSCH ENGLISH 364 2 Budget HIGHSCH ENGLISH 158 3 Budget HIGHSCH ENGLISH 200 6 Budget HIGHSCH ENGLISH 502 7 Budget HIGHSCH ENGLISH 650 1 Actual COLL ENGLISH 700 2 Actual COLL ENGLISH 540 3 Actual COLL ENGLISH 160 1 Budget COLL ENGLISH 820 2 Budget COLL ENGLISH 630 3 Budget COLL ENGLISH 800
but I want to add a column that will have an identifier for each group (the grouping being by FT, Group and Dept) like this:
PERIOD FT GROUP DEPT VALUE GroupID 1 Actual KINDER MATH 200 1 2 Actual KINDER MATH 363 1 3 Actual KINDER MATH 366 1 1 Budget KINDER MATH 457 2 2 Budget KINDER MATH 60 2 3 Budget KINDER MATH 158 2 1 Actual HIGHSCH ENGLISH 456 3 2 Actual HIGHSCH ENGLISH 745 3 3 Actual HIGHSCH ENGLISH 125 3 1 Budget HIGHSCH ENGLISH 364 4 2 Budget HIGHSCH ENGLISH 158 4 3 Budget HIGHSCH ENGLISH 200 4 1 Budget HIGHSCH ENGLISH 502 5 2 Budget HIGHSCH ENGLISH 650 5 3 Budget HIGHSCH ENGLISH 336 5 1 Actual COLL ENGLISH 700 6 2 Actual COLL ENGLISH 540 6 3 Actual COLL ENGLISH 160 6 1 Budget COLL ENGLISH 820 7 2 Budget COLL ENGLISH 630 7 3 Budget COLL ENGLISH 800 7
Please do you know how to go about it?
EDIT: I feel like something in this direction may be useful
SELECT *,
CASE WHEN FT = 'Actual' THEN <something_incremental_to_do_with_row_num> OVER (PARTITION DEPT, GROUP, FT) END as GROUPID
FROM cte
I can't use ORDER BY in the OVER clause because I am on 2008