Publié le :
Macro MIXTE

Macro sqlpartitionx

Cette macro définit une fonction utilitaire qui génère une clause de sélection SQL imbriquée (sous-requête). Elle est conçue pour créer une variable de séquence et de partition au sein de groupes définis (paramètre 'by'), en utilisant la fonction SAS© 'monotonic()' pour tenter de préserver l'ordre des données. Note : La fonction monotonic() n'est pas supportée dans les tables CAS distribuées.
Analyse des données

Type : MIXTE


La macro opère sur une table d'entrée fournie en paramètre (&dsn).

1 Bloc de code
MACRO
Explication :
Définition de la macro. Elle construit une requête SQL imbriquée à trois niveaux pour calculer des numéros de séquence ('seq') et de partition ('partition') basés sur la variable de groupement fournie.
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.