Type : MIXTE
La macro opère sur une table d'entrée fournie en paramètre (&dsn).
| 1 | %macro sqlpartitionx(dsn,BY=team,minus=1)/ |
| 2 | des="Improved sqlpartition that maintains data order"; |
| 3 | ( select |
| 4 | * |
| 5 | ,max(seq) as seq |
| 6 | from |
| 7 | (select |
| 8 | * |
| 9 | ,seq-min(seq) + 1 as partition |
| 10 | from |
| 11 | (select *, &minus*monotonic() as seq from &dsn) |
| 12 | group |
| 13 | BY &BY ) |
| 14 | group |
| 15 | BY &BY, seq |
| 16 | having |
| 17 | 1=1) |
| 18 | %mend sqlpartitionx; |