Optimisation du code et des temps d'exécution avec SAS

 
  2 jours       860       Avancé    
  Prochaine session
11 et 12 septembre 2024
Objectifs de la formation
  • Acquérir des bonnes pratiques pour optimiser l’exécution de programmes SAS
  • Maîtriser les temps d’exécution lors de la manipulation de grosses bases de données

Prérequis

Les stagiaires doivent maitriser le programme des formations SAS initiation et SAS intermédiaire.


Public visé

Statisticiens et data analysts ayant recours régulièrement au langage SAS et souhaitant en optimiser l’utilisation.


Programme détaillé

Le fonctionnement de SAS

  • Les ressources
  • Les bases
  • Le vecteur de travail
  • Les macro-langages SAS
  • Les autres langages SAS

Comment optimiser un programme SAS ?

  • Les Options
  • Optimiser le code
  • Optimiser la gestion des données

Manipulation des grosses bases

  • Indexation
  • Hashage de tables

Le langage SQL

  • Notions essentielles de SAS SQL
  • Manipulation de grosses bases, indexation en SQL

Synthèse : ce qu’il faut retenir, exercices d’application récapitulatifs


Dans quelles situations l'optimisation du code SAS est-elle nécessaire ?

 

Il est souvent nécessaire d’optimiser le code SAS et de réduire les temps d’exécution dans les cas suivants :

Grandes quantités de données : Lorsque vous travaillez avec de grandes quantités de données, le code inefficace peut entraîner des temps d’exécution très longs. Il est essentiel d’optimiser le code pour réduire le temps nécessaire au traitement et à l’analyse des données.

Complexité des analyses : Certaines analyses statistiques ou opérations de manipulation de données peuvent être complexes et nécessiter des calculs intensifs. Dans ces cas, il est important d’optimiser le code pour améliorer les performances et réduire les temps d’exécution.

Boucles et itérations : L’utilisation excessive de boucles et d’itérations peut ralentir le code SAS. Il est recommandé d’identifier les possibilités de vectorisation ou d’utiliser des fonctions SAS spécifiques pour effectuer des opérations sur des ensembles de données plutôt que sur des éléments individuels.

Requêtes sur des bases de données volumineuses : Si vous effectuez des requêtes sur de grandes bases de données, il est essentiel d’optimiser les requêtes SQL pour améliorer les performances. Cela peut inclure l’ajout d’index appropriés, la réécriture de requêtes complexes ou la limitation du nombre de colonnes extraites.

Réutilisation de code : Si vous réutilisez fréquemment un certain code SAS, il est utile de l’optimiser pour gagner du temps lors des exécutions répétées. Cela peut impliquer la création de macro-instructions SAS ou de fonctions personnalisées pour automatiser les tâches récurrentes.

Contraintes de temps : Dans certains cas, il peut y avoir des contraintes strictes de temps d’exécution, par exemple lors de la génération de rapports ou de l’exécution de tâches planifiées. L’optimisation du code SAS est essentielle pour respecter ces contraintes et obtenir des résultats dans les délais impartis.

L’optimisation du code SAS peut implique notamment l’utilisation de techniques telles que l’optimisation des requêtes, l’utilisation de formats SAS efficaces, l’utilisation judicieuse des options de traitement des données, l’évitement des calculs redondants, l’utilisation d’index et de triages appropriés, et la réduction de la lecture et de l’écriture de données.

Par ailleurs, vous pourrez surveiller les performances du code SAS à l’aide de mesures telles que le temps d’exécution, la consommation de mémoire et l’utilisation du processeur, afin d’identifier les goulots d’étranglement et d’optimiser le code en conséquence.