Publié le :
Macro CREATION_INTERNE

Comptage de Sujets par Groupe de Traitement

Ce code est également disponible en : Deutsch English Español
En attente de validation
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.
Copié !
1DATA sample_adsl;
2 trta="Placebo";trtan=0;usubjid="A1";OUTPUT;
3 trta="Drug A";trtan=1;usubjid="B2";OUTPUT;
4 trta="Drug B";trtan=2;usubjid="C3";OUTPUT;
5 trta="Placebo";trtan=0;usubjid="D4";OUTPUT;
6 trta="Drug A";trtan=1;usubjid="E5";OUTPUT;
7RUN;
2 Bloc de code
MACRO %COUNT
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é !
1%macro count(DATA=,var=,trts=,trte=);
2PROC 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;
9QUIT;
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.
Copié !
1%count(
2DATA=sample_adsl,var=%str(trtan,trta,usubjid),trts=0,trte=3);
3 
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