Articles avec le tag ‘sas base’

SAS Optimisation Transaction Ajout et Mise à jour

Avant propos

Cet article à pour de présenter une démarche d’optimisation pour un traitement de type Transaction pour l’ajout ou la mise à jour de données SAS.

Ce genre de problématique étant récurrent, il m’a semblé utile de vous fournir l’exemple détaillé ci-dessous.

Cet exemple se base sur des faits réels rencontrés lors d’une mission d’optimisation pour le compte du client « La Redoute », lors de mon passage au service Consulting de chez SAS Institute. Le chiffres fournis sont approximatifs et n’engage en rien la responsabilité de qui que ce soit.

Problème :

Redoute : 25 000 000 de lignes de commandes par jour et un temps de traitement sous SAS MVS avoisinant les 22 heures.

Bien sur, panique et demande d’intervention pour un audit d’optimisation.

Étude cynématique : par téléphone, par courrier et par internet réception des lignes de commande stockées dans DB2. La nuit Unload DB2 vers un fichier plat pour incorporation dans SAS. Lecture des lignes de commandes, tentative de mise à jour de la base SAS avec les lignes de commandes et en cas de rejet ajout de celles-ci dans la base SAS. Temps de traitement abominable.

Synthèse des Solutions

Deux cas se présentent :

  1. On connait sous DB2 la nature de la transaction « ligne de commande » ajout ou modification
  2. On ne la connait pas

Dans ces deux cas une solution performante existe.

La première la plus simple, ne sera pas détaillé dans cet article, simplement on transmet issu de DB2 dans l’unload une variable de type flag avec A pour ajout et M pour mise à jour. Sous SAS on éclate le fichier en deux tables SAS une pour les ajouts qui seront traités par la PROC APPEND et l’autre pour les mises à jour qui seront traités avec une étape DATA / MERGE.

Pour le deuxième cas un peu plus pointu, voici ci-dessous un exemple de programme Lire la suite de cette entrée »

Programmation SAS Base I (fondamentaux PROG1)

Le but de cette formation SAS, est la découverte de l’interface de programmation SAS et l’utilisation des fonctionnalités incluses dans le module SAS base.

La formation SAS Base est essentielle pour toute personnes désireuse de programmer en langage SAS afin de : gérer, manipuler, transformer et restituer des données accessible par le Système SAS.

Formation au langage de programmation SAS Base et à ses concepts fondamentaux :

  • Présentation des différentes étapes SAS. (DATA, Procédures).
  • Création, exécution et correction de programmes, au travers des fenêtres : program editor, journal (compte rendu d’exécution), résultats.
  • Découverte de la gestion des données avec le système SAS et des procédures permettant la restitution d’informations.
  • Chargement des magasins de données SAS (Librairies), lecture des fichiers non SAS et chargement dans des tables SAS. Sélection des données …

Les principaux points abordés dans la formation SAS BASE sont :

  • Les bases et les concepts du langage SAS.
  • La création de rapports simple, graphiques et HTML.
  • Création de rapport graphiques.
  • Création de listes et de rapports agrégés.
  • Lecture de fichiers externes bruts (plats).
  • La lecture et la manipulation de données SAS.
  • La création de variables, de filtres et modification des valeurs dans une table.
  • La combinaison de tables (concaténations et fusions).
  • Génération de rapports au format HTML via l’Output Delivery System.

Lire la suite de cette entrée »