addFormat - À quoi sert le paramètre `dataType` dans l'action `addFormat`?

Typage : La Sémantique des Données

Réponse

Le paramètre `dataType` indique si la valeur du format est de type DATE, TIME ou DATETIME.
SAS / CASL
proc cas;
   /* Initialisation de la bibliothèque */
   sessionProp.addFmtLib / fmtLibName="MesFormats" replace=true;

   /* Création d'un format avec typage EXPLICITE */
   sessionProp.addFormat /
      fmtLibName="MesFormats",
      fmtName="TrancheStock",
      
      /* C'est ici que l'on verrouille le type de données attendu en entrée.
         Valeurs possibles : "DOUBLE" (défaut), "CHAR", "DATE", "TIME", "DATETIME" */
      dataType={"DOUBLE"}, 
      
      ranges={
         "low -< 50  = 'Réapprovisionner'",
         "50  - high = 'Stock Suffisant'"
      };

   /* Application du format à la colonne Quantite (qui est un nombre/double) */
   table.alterTable /
      caslib="casuser", name="produits",
      columns={{name="Quantite", format="TrancheStock."}};
      
   /* Vérification */
   table.fetch / table={caslib="casuser", name="produits"};
quit;
Cette réponse vous a-t-elle aidé ?
Transformez des nombres bruts en concepts temporels. Dans l'architecture SAS, les dates et les heures sont stockées techniquement sous forme de nombres flottants (Doubles). Sans le paramètre dataType, un format personnalisé appliqué à une date risque d'être interprété par les outils de rapport (comme SAS Visual Analytics) comme un simple regroupement numérique.

L'astuce : Utilisez explicitement dataType={"DATE"} (ou TIME/DATETIME) lorsque vous créez des formats pour des variables temporelles. Cela agit comme une métadonnée essentielle qui informe le client CAS que "ce nombre 22646 doit être traité comme le 1er Janvier 2022" et non comme une quantité de 22 646 unités. Pour des données classiques (comme votre colonne Quantite), la valeur par défaut est DOUBLE (numérique).
addFormat

sessionProp

Doc : addFormat