addFormat - Peut-on définir une longueur par défaut pour un format avec `addFormat`?

Calibrage : Évitez la Troncature Silencieuse

Réponse

Oui, le paramètre `defaultL` permet de spécifier la longueur par défaut du format.
SAS / CASL
proc cas;
   /* Initialisation */
   sessionProp.addFmtLib / fmtLibName="MesFormats" replace=true;

   sessionProp.addFormat /
      fmtLibName="MesFormats",
      fmtName="StatusLong",
      
      /* CRITIQUE : Définit la largeur d'affichage par défaut.
         "Volume Exceptionnel (Urgent)" fait 28 caractères.
         Si on met moins, le texte sera coupé. */
      defaultL=30, 
      
      ranges={
         "low -< 20  = 'Volume Faible'",
         "20  -< 100 = 'Volume Standard'",
         "100 - high = 'Volume Exceptionnel (Urgent)'"
      };

   /* Application du format sans préciser de largeur (. au lieu de .30) */
   table.fetch / 
      table={caslib="casuser", name="produits"}
      /* On appelle le format simplement par son nom. 
         C'est defaultL qui pilote l'affichage ici. */
      format={Quantite="StatusLong."};
quit;
Cette réponse vous a-t-elle aidé ?
Alignez toujours ce paramètre sur votre étiquette la plus longue. Dans SAS, si vous appliquez un format sans spécifier de largeur (ex: format=MonFormat.), c'est la valeur de defaultL qui s'applique. Si defaultL est inférieur à la longueur de votre libellé le plus long, SAS coupera le texte (troncature) sans générer d'erreur ni d'avertissement dans le journal. Best Practice : Lors de la conception du format, comptez le nombre de caractères de votre plus longue chaîne (ex: "Approvisionnement Nécessaire" = 26 caractères) et définissez defaultL sur cette valeur (ou légèrement plus, ex: 30) pour garantir l'intégrité de vos rapports, quelle que soit la manière dont le format est appelé.
addFormat

sessionProp

Doc : addFormat