|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Bonjour,
En tenant compte de nombre de variables, est-il normal qu'une execution d'un programme SAS dure plus q'une journée?? sachant que ça marche bien sans aucune erreur dans LOG, ainsi que des resultats satisfaisants. Pour utiliser l'option BUFNO=, comment choisir le nombre aprés l' =??? y a-t-il d'autres façons d'optimisation?? Merci d'avance. |
|
|
00
|
|
|
#2 | |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Citation:
Oui et non , car sa dépend de plusieurs choses : Travailles-tu sur un server ou en session client. DE la puissance de ta machine ( resources : RAM,CPU,…). Type et taille et nombre de données (tables et fichiers en entrée). Opérations effectuées (type de transformations, jointures, tris,…). Ton programme est t’il optimisé ou non ? Fais-tu des filtres sur les tables avant de faire les rapprochements entres elles,s’il y a lieu. ? Crées-tu des index pour optimiser les traitements ? . . .et pleins d’autres choses. Donc donnes nous un peu plus de détails pour qu’on essaie de t’aider.
|
|
|
|
10
|
|
|
#3 |
|
Membre habitué
![]() Géraldine CADE DESCHAMPSSupport Clients SAS (France et Europe) Inscription : février 2010 Messages : 62 ![]() |
Bonjour,
Sam a raison ! J'ajouterai juste ceci : - la doc en ligne donne le B A BA de l'optimisation : http://support.sas.com/documentation...tm#perform.htm - Le sujet est vaste, et est traité dans pas mal de doc sur le site de SAS. * Un excellent document écrit par un maître du sujet : How to Maintain Happy SAS®Users * Il date un peu mais j'aime bien celui-là qui parle des bases : A Practical Approach to Solving Performance Problems with the SAS System - la manière de coder joue un rôle essentiel dans les temps des traitements : * De manière générale, étape data et proc sont plus performantes que la proc sql * les indexes sont bénéfiques seulement s'ils sont bien choisis et utilisés à bon excient, sinon ils détériorent les perf * un WHERE diminue les temps de traitements par rapport à un IF Géraldine Cade-Deschamps |
|
|
10
|
|
|
#4 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
La macro en question ne contient ni PROC SQL ni PROC SORT.
Et franchement je sais pas faire les filtres sur tables dont vous parler, mais j'ai une idée sur les index qu'ils ne se faient qu'avec le PROC SQL!! n'est-il pas vrai??? |
|
|
00
|
|
|
#5 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Il faut poster ton code.
si t'as des boucles non fermées c'est claire que le programme ne s'arrêtera pas. |
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Voilà mon code:
Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Tu as donc 21767 variables à expliquer, c'est normal que ça soit aussi long.
Juste par curiosité, c'est quoi l'intérêt? |
|
|
00
|
|
|
#8 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Très bien;
Pour commencer tu dis: sachant que ça marche bien sans aucune erreur dans LOG, ainsi que des resultats satisfaisants. oui pas d'erreurs mais sa ne veut pas dire que la maco est juste. Dans cette marco tu repètes les mêmes opérations sur la même table. ce qui veut dire 500 fois. Code :
|
||
|
|
00
|
|
|
#9 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
oups !!! je n'ai pas vu que t'as modifié ton programme,dans l'état normal c-à-d dans le cas où le programme est juste cette boucle
est énorme. et ce temps de traitement est normal. |
|
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Je suis vraiment dé so lée, je t'ai donné la copie non corrigé:
voilà le nv: Code :
D'autres fautes????, |
||
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
|
|
|
00
|
|
|
#12 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Une boucle avec 21767 itérations, c'est énorme, ajoutons à sa des table qui contiennent apparemment jusqu’à 21767 colonnes (col&i).
et puis il y a des anomalies dans ton programme. ici par exemple : Code :
sont recréées à chaque itération et elles écrase la table résultante de l'itération précédente. Oui on peut proposer des solutions d'optimisation si on saura ce que tu veux faire réellement. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com