Celui-ci m'a bloqué rapidement.Mise à jour de chaque ligne d'un tableau avec les conditions de déclaration IF
données:
Month Total Impact Forecast
------------------------------------------------
2010-04-01 45792.0000 1.0000 NULL
2010-05-01 51789.0000 1.0000 NULL
2010-06-01 58228.0000 1.0000 NULL
2010-07-01 52956.5217 1.0000 NULL
2010-08-01 53600.4700 0.8810 NULL
2010-09-01 54257.8784 1.1838 NULL
2010-10-01 55134.0669 1.0000 NULL
Maintenant ce que je suis en train de faire est une boucle à travers le contenu actuel de la table et mettre à jour la colonne des prévisions à l'aide conditionnelle instructions IF comme suit:
If Impact = 1.0000 then forecast = (current month) total * Impact
If Impact < 1.0000 then forecast = (month -1) total * Impact
If Impact > 1.0000 then forecast = (month -2) total * Impact
I J'ai pensé à utiliser l'instruction CASE
, bien que le calcul de la prévision à l'aide des dates précédentes me soit revenu, je suppose que j'aurai besoin d'utiliser des instructions while et RBAR.
Très apprécié.
produit de mauvais résultats pour les lignes où Mois est 2010-08-01, 2010-09-01, et 2010-10-01 –
@Daniel: Je pense que 'SET [Forecast] = CASE devrait être' SET [Forecast] = [Impact] * CASE. (En supposant que l'impact utilisé devrait toujours être celui du mois en cours, quel que soit le total du mois à utiliser.) –
alors comment définir une prévision à = Impact * CAS? – Icementhols