Les bases pour améliorer les performances de ses programmes SAS

Les bases pour améliorer les performances de ses programmes SAS

By : -

  1. Ne garder que les variables dont on a besoin dès la phase de lecture des données. Ne pas attendre d’avoir travaillé les données pour supprimer les variables encombrantes. On utilisera volontiers les options du dataset keep et drop dans une instruction set, merge… mais aussi dans proc sql.
  2. Dans la mesure où la structure des données de deux datasets  à empiler est identique, on préfèrera proc append à l’instruction set. Sachant que seules les données du dataset données dans l’option data= sont lues, on préférera mettre le dataset le plus volumineux dans l’option base=.
  3. On regroupera dans la mesure du possible toutes les opérations dans une même étape data au lieu d’en créer plusieurs.
  4. On regroupera les instructions de proc sql dans une même procédure. Des temps additionnels sont occasionnés à chaque fois qu’on quitte la procédure.
  5. On limitera le volume des données dans la bibliothèque de travail en utilisant dans la mesure du possible des datasets du même nom qui remplaceront les anciens. C’est surtout important pour les très grandes bases données.
  6. On utilisera l’indexation des bases pour les grandes bases et on l’évitera pour les petites bases.
  7. On désactivera des options donnant des informations supplémentaires dans la log pour gérer les bugs quand on n’a pas de bug. On pourra ajouter une option pour activer ces options uniquement au moment opportun (mprint, mlogic, symbolgen…)
  8. On choisira des longueurs de variables adaptées aux données. On évitera des longueurs de $200 pour des variables n’ayant que 2 caractères par exemple.
  9. On évitera les informations redondantes dans la base de données.
  10. On préférera des valeurs codées sur lesquelles on pourra appliquer des formats.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

onze + quinze =