?>Array ( [lang] => fr [id] => 104 )
Scénario de test & Cas d'usage
Création d'une table `ESSAI_CLINIQUE` avec des températures (certaines légèrement hors des bornes exactes) et des codes d'effets secondaires, incluant une valeur pour 'non applicable'.
| 1 | DATA casuser.ESSAI_CLINIQUE; |
| 2 | INPUT ID_Patient $ Temperature Code_Effet; |
| 3 | DATALINES; |
| 4 | P01 36.8 3 |
| 5 | P02 38.6 1 |
| 6 | P03 37.59 2 |
| 7 | P04 39.1 1 |
| 8 | P05 37.0 999 |
| 9 | ; |
| 10 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFmtLib fmtLibName="pharmaLib"; |
| 3 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFormat |
| 3 | fmtLibName="pharmaLib" |
| 4 | fmtName="StatutTemp" |
| 5 | fuzz=0.1 |
| 6 | ranges={"low-37.5='Normal'", "37.6-38.5='Subfébrile'", "38.6-high='Fièvre'"}; |
| 7 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFormat |
| 3 | fmtLibName="pharmaLib" |
| 4 | fmtName="GraviteEffet" |
| 5 | notSorted=true |
| 6 | ranges={"1='Grave'", "2='Modéré'", "3='Léger'", "999='Non Applicable'"}; |
| 7 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFormat |
| 3 | fmtLibName="pharmaLib" |
| 4 | fmtName="GraviteEffet" |
| 5 | replace=false |
| 6 | ranges={"1='Erreur'"}; |
| 7 | RUN; |
| 1 | PROC casutil; |
| 2 | load casdata="ESSAI_CLINIQUE" casout="ESSAI_CLINIQUE_FORMATE" replace; |
| 3 | setSessOpt caslib="casuser"; |
| 4 | alterTable |
| 5 | TABLE={name="ESSAI_CLINIQUE_FORMATE"} |
| 6 | columns={{name="Temperature", FORMAT="StatutTemp"}, {name="Code_Effet", FORMAT="GraviteEffet"}}; |
| 7 | fetch TABLE={name="ESSAI_CLINIQUE_FORMATE"}; |
| 8 | RUN; |
La température 37.59 doit être formatée en 'Subfébrile' grâce au paramètre `fuzz`. Les codes d'effet doivent être affichés selon l'ordre défini ('Grave', 'Modéré', 'Léger'). L'étape 4 doit échouer et un message d'erreur doit indiquer que le format existe déjà, confirmant le bon fonctionnement de `replace=false`.