Le script crée un jeu de données de démonstration `sample_adsl` contenant des informations sur les sujets et leurs groupes de traitement (`trta`, `trtan`). Une macro `%count` est ensuite définie, qui prend en paramètres le jeu de données d'entrée, les variables à considérer pour le tri et le comptage, ainsi que la plage numérique des groupes de traitement. La macro utilise `PROC SQL` pour compter les sujets distincts (`usubjid`) pour chaque groupe de traitement dans la plage spécifiée et stocke ces comptes dans des variables macro globales (par exemple, `bign0`, `bign1`, etc.). Enfin, la macro est appelée avec les paramètres appropriés pour le jeu de données `sample_adsl` et les groupes de traitement 0 à 3.
Analyse des données
Type : CREATION_INTERNE
Le jeu de données `sample_adsl` est créé directement dans le script à l'aide d'une étape DATA. Il ne dépend pas de sources de données externes non gérées ou de bibliothèques SASHELP.
1 Bloc de code
DATA STEP Data
Explication : Cette étape DATA crée le jeu de données `sample_adsl`. Il est peuplé de cinq observations, chacune représentant un sujet (`usubjid`) assigné à un groupe de traitement (`trta` avec sa version numérique `trtan`). Ce jeu de données sert de base de test pour le comptage des sujets.
Explication : Cette macro nommée `%count` est conçue pour compter les sujets distincts. Elle prend en charge un jeu de données d'entrée (`data`), des variables de comptage et de tri (`var`), et une plage de groupes de traitement (`trts` à `trte`). À l'intérieur de la macro, `PROC SQL` est utilisé pour créer une table temporaire `count` et ensuite, à travers une boucle `%do`, itérer sur chaque groupe de traitement. Pour chaque groupe, elle compte les sujets uniques (`usubjid`) et stocke le résultat dans une variable macro globale dynamique (par exemple, `bign0`, `bign1`). Les résultats sont affichés dans le journal SAS via `%put`.
Copié !
%macro count(data=,var=,trts=,trte=);
proc sql noprint;
create table count as select &var. from &data. order by &var.;
%do i=&trts. %to &trte.;
%global bign&i.;
select count(distinct usubjid) into: bign&i. from count where trtan=&i;
%put bign&i. &&bign&i.;
%end;
quit;
%mend count;
1
%macro count(DATA=,var=,trts=,trte=);
2
PROC SQL noprint;
3
create TABLE count as select &var. from &DATA. order BY &var.;
4
%DO i=&trts. %to &trte.;
5
%global bign&i.;
6
select count(distinct usubjid) into: bign&i. from count where trtan=&i;
7
%put bign&i. &&bign&i.;
8
%END;
9
QUIT;
10
%mend count;
3 Bloc de code
APPEL MACRO %COUNT
Explication : Cet appel exécute la macro `%count`. Il fournit le jeu de données `sample_adsl` créé précédemment, spécifie les variables `trtan`, `trta`, et `usubjid` pour l'opération, et demande le comptage pour les groupes de traitement allant de 0 à 3. Cela générera des variables macro globales telles que `bign0`, `bign1`, `bign2`, `bign3` contenant les comptes de sujets pour chaque groupe respectif.
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.
Informations de Copyright : Program Name : Bign_counter.sas
* Author : Balaji.M
* SAS Version : SAS 9.4 or higher
* Description : This SAS program is use to generate subject counts from adsl dataset with dummy treatment groups
in below example Drug C is counted with dummy values for testing purpose.
*Macro variable : data:- Input Dataset
var:- Variables used for counting and sorting purpose should be included
trts:- treatment group start numeric value
trte:- treatment group end numeric value
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.