|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Bonjour,
J'ai la table suivante (TAB1): Code :
pour SUC: In(JAN04)= SUC(JAN04)/SUC(JAN03), In(FEV04)=SUC(FEV04)/SUC(FEV03), .......... In(DEC08)=SUC(DEC03)/SUC(DEC03). E t ainsi de suite pour les autres variables (FAR D99 3JN ...). En prenant toujours 2003 comme année de base. La question que je viens de poser vous paraitra, peut être , trés simple, mais j'arrive pas à résoudre Merci de m'aider s'il est possible. |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Salut,
Il y a peut être plus simple mais je sais faire qu'en plus complexe, t'as pas de bol, bon courage pour comprendre Code :
|
||
|
|
00
|
|
|
#3 | ||||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Cela m'affiché les erreurs suivants:
Code :
j'ai recontré un autre probleme: Code :
à quoi ça du?? |
||||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Sébastien RinguedéInscription : janvier 2011 Messages : 61 ![]() |
une "fin" un peu plus simple :
Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Bonjour Sébastien,
As-tu remarqué que le if ne fonctionne pas? Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Membre habitué
![]() Sébastien RinguedéInscription : janvier 2011 Messages : 61 ![]() |
le IF ne fonctionne pas ?
ben si ;-) Code :
a+ |
||
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
D'après cette partie de code
Code :
Je sais pas comment t'expliquer clairement |
||
|
|
00
|
|
|
#9 | ||
|
Membre habitué
![]() Sébastien RinguedéInscription : janvier 2011 Messages : 61 ![]() |
mais si, c'est calculé correctement ;-)
la table produite (avec les variables TEMP) Code :
a+ |
||
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
OK, j'ai compris.
Moi je voulais avoir ça en sortie: Code :
Je suppose qu'il aimerait garder les valeurs initiales si _N_=1 et calculer le ratio si _N_>1 |
||
|
|
00
|
|
|
#11 | ||
|
Membre habitué
![]() Sébastien RinguedéInscription : janvier 2011 Messages : 61 ![]() |
c'est possible (bien que très étrange)
Code :
|
||
|
|
00
|
|
|
#12 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
J'aime tout ce que vous dites
Code :
Aidez les debutants!! |
||
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Sébastien RinguedéInscription : janvier 2011 Messages : 61 ![]() |
mais vous avez combien de variables dans cette table ?
pas plus de 65534 caractères dans une macro variable et là, il semble que le plafond est crevé... a+ |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
J'ai 13694 variables!!!
|
|
|
00
|
|
|
#15 | ||
|
Membre habitué
![]() Sébastien RinguedéInscription : janvier 2011 Messages : 61 ![]() |
alors il faut scinder les tâches...
Code :
|
||
|
|
00
|
|
|
#16 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Il ne me donne que les inn(10500)-->inn(13695)
et log affiche toujours: Code :
Je vais tenter de créer d'autres output out(i) pour garantir un minimum de variables dans chaque out et reexecuter. |
||
|
|
00
|
|
|
#17 | ||||
|
Membre habitué
![]() Sébastien RinguedéInscription : janvier 2011 Messages : 61 ![]() |
alors :
Code :
Code :
|
||||
|
|
00
|
|
|
#18 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Sébastien,
Pour moi il faudrait subdiviser la table en verticale car c'est le nombre de variables qui est stocké dans la macro qui dépasse et non le nombre de lignes. |
|
|
00
|
|
|
#19 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Voilà ce que j'ai fait enfin:
Code :
Log a affiché les mêmes erreurs mais j'en ai pas tenu compte car j'ai eu le resultat desiré. Mecri bcp à tous !!! ![]() Just un petit souci |
||
|
|
00
|
|
|
#20 | ||||||||||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour à tous.
Désolé d'arriver quelques heures trop tard. Je propose quand même une autre solution, au cas où. Mon jeu d'essai : Code :
La table "en hauteur" ressemblerait à ça : Code :
Pour obtenir cette forme, il faudrait transposer en premier lieu. Code :
Ce qui me plaît alors dans l'organisation de la table, c'est que tu peux avoir 50 indicateurs ou 10 millions sans avoir les soucis évoqués précédemment, et sans jamais avoir à les énumérer. Pour calculer les indices il faut alors trier un peu la table pour mettre ensemble toutes les observations traitant d'un même indicateur, et à l'intérieur de ces blocs, mettre tous les mois (janvier 2003 à janvier 2008, février 2003 à février 2008, ...) ensemble. Code :
Pour le même prix, on peut aussi calculer un indice chaîné avec une fonction LAG : on a indice_chaine(t) = valeur(t)/valeur(t-12mois). On retrie la table au final pour la remettre dans son ordre "naturel" chronologique, en conservant les blocs d'indicateurs. Ca permettra de faire des stats et des graphiques avec un BY indicateur, toujours sans souci d'énumération des indicateurs à traiter. Code :
Bon courage. Olivier |
||||||||||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com