La macro `AHGkeepN` permet de filtrer un jeu de données pour ne garder que les N premières observations (ou une plage définie par m et n) pour chaque combinaison unique des variables spécifiées dans le paramètre `by`. Elle effectue d'abord un tri des données, puis utilise un compteur interne dans un Data Step pour sélectionner les lignes désirées. Elle semble dépendre de macros utilitaires externes (`%AHGblank`, `%AHGbarename`, `%AHGcount`) non définies dans ce script.
Analyse des données
Type : EXTERNE
Le jeu de données est spécifié dynamiquement via le paramètre `dsn` lors de l'appel de la macro.
1 Bloc de code
PROC SORT Data
Explication : Trie la table en entrée (`dsn`) selon les variables de regroupement (`by`) et stocke le résultat dans la table de sortie (`out`). Si `out` n'est pas spécifié, un nom est dérivé de `dsn`.
Explication : Lit la table triée et utilise un compteur temporaire (`ahuigeID3498273456`) pour numéroter les observations au sein de chaque groupe défini par la dernière variable de la liste `by`. Seules les observations dont le rang est strictement supérieur à `m` et inférieur ou égal à `n` sont conservées.
Copié !
data &out(drop=ahuigeID3498273456);
set &out;
by &by;
if first.%scan(&by,%AHGcount(&by)) then ahuigeID3498273456=1;
else ahuigeID3498273456+1;
if &m<ahuigeID3498273456<=&n then output;
run;
1
DATA &out(drop=ahuigeID3498273456);
2
SET &out;
3
BY &BY;
4
IF first.%scan(&BY,%AHGcount(&BY)) THEN ahuigeID3498273456=1;
5
ELSE ahuigeID3498273456+1;
6
IF &mTHEN OUTPUT;
7
RUN;
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.