Bonjour,
Pour une prévision de chiffre d'affaire je dois effectuer la répartition mensuelle du montant de contrats d'entretien. Cette prévision doit se faire pour une date variable et à un horizon variable n (typiquement 12 ou 18 mois).
De par ce caractère variable et pour éviter de recopier n fois mon code, je souhaite utiliser un boucle (WHILE). Mais le résultat est logiquement un table de n lignes. Je souhaite le résultat en colonnes successives correspondant aux mois 1, 2, 3 ...n.
Est-ce possible ? Comment procéder ?
Merci de votre aide.
Pour fixer les idées, le code d'un élément du code final. PrevDate = date origine de la prévision, IndexPériode = n (nombre de mois d'horizon), Ci = Date initiale du contrat, Cf = Date finale du contrat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 USE [POWER_SBO] DECLARE @PrevDate Datetime DECLARE @IndexPériode Int DECLARE @IndexBoucle Int DECLARE @Ci Datetime DECLARE @Cf Datetime SET @PrevDate = CONVERT (DATETIME, '01/01/2017', 103) SET @IndexPériode = 17 SET @Ci = CONVERT (DATETIME, '15/03/2016', 103) SET @Cf = CONVERT (DATETIME, '14/03/2017', 103) SET @IndexBoucle = 0 WHILE @IndexBoucle <= @IndexPériode BEGIN SELECT * FROM POWER_SBO.dbo.Rep_n(@PrevDate,@IndexBoucle,@Ci,@Cf) SET @IndexBoucle = @IndexBoucle + 1 END
Partager