addFormat - Comment spécifier les plages de valeurs pour un format avec l'action `addFormat`?

Syntaxe des Intervalles : Maîtrisez les Bornes

Réponse

Le paramètre `ranges` est utilisé pour spécifier une liste de paires valeur=libellé ou plage=libellé. Les plages sont définies comme min-max=libellé.
SAS / CASL
proc cas;
   /* Initialisation */
   sessionProp.addFmtLib / fmtLibName="MesFormats" replace=true;

   sessionProp.addFormat /
      fmtLibName="MesFormats",
      fmtName="SegmentQuantite",
      replace=true,
      dataType={"DOUBLE"}, /* On formate des nombres */
      ranges={
         /* 1. Valeur Discrète : Cible exactement 10 */
         "10 = 'Minimum Commande'",
         
         /* 2. Intervalle avec exclusion à droite (de >10 jusqu'à 49.99...) */
         /* Notez l'usage de '<-' pour exclure le 10 déjà traité au-dessus */
         "10 <-< 50 = 'Volume Faible'",
         
         /* 3. Intervalle standard (de 50 inclus à 100 exclu) */
         "50 -< 100 = 'Volume Moyen'",
         
         /* 4. Borne infinie (de 100 inclus jusqu'à l'infini) */
         "100 - high = 'Gros Volume'",
         
         /* 5. Sécurité : Capture les valeurs manquantes (.) ou négatives */
         "other = 'Erreur Donnée'"
      };

   /* Application pour voir le résultat */
   table.fetch / 
      table={caslib="casuser", name="produits"}
      format={Quantite="SegmentQuantite."};
quit;
Cette réponse vous a-t-elle aidé ?
Soyez chirurgical avec les opérateurs d'exclusion. La définition de plages est souvent source d'erreurs logiques (chevauchements). Dans SAS, la syntaxe des bornes est très spécifique et diffère des notations mathématiques classiques [ ] ou ] [.

- : Inclusif (exemple : 10 - 20 inclut 10 et 20).

-< : Exclut la borne supérieure (exemple : 10 -< 20 va de 10 à 19.999...). C'est l'opérateur le plus utilisé pour créer des segments continus sans trous ni doublons.

<- : Exclut la borne inférieure.

other : N'oubliez jamais cette clause "poubelle". Elle est cruciale pour la qualité des données (Data Quality) afin de capturer les valeurs hors normes, nulles ou inattendues qui passeraient à travers vos règles.
addFormat

sessionProp

Doc : addFormat