Bonjour,
Je dois vérifier le contenu de +/- 40 champs par ligne dans une grosse table.
Au début, j'ai créé une macro ou je passais en paramètre le champ et la valeur à controller.
Donc si j'utilise cette technique la table sera lue une +/- 40 fois (en fonction du nombre de champ à controller.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 %macro (champ, valeur); data _null_; set ma_source (keep= &champ); if &champ = &valeur then OK; ......
Ensuite j'ai essayé de faire le contrôle de manière séquentielle.
A chaque ligne lue, je vérife les 40 champs.
Je n'ai pas l'impression que ca va plus vite plutôt qu'en parcourant 40 fois ma table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 data _null_; set ma_source; if champ1= valeur then... if champ2=valeur then... if champ3= valeur then... ....
Quelqu'un aurait-il une meilleure façon de procéder?
! --> Il s'agit simplement de condition IF, pas de IF/ELSE/IF...
Je pense que je ne peut donc pas utiliser un SELECT CASE.
J'ai aussi souvent lu qu'un WHERE était plus rapide qu'un IF.
Mais ici, je ne vois pas comment l'appliquer.
Merci pour vos conseils.
Partager