Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
je sais que cette question a été abordée de nombreuses fois, j'ai lu beaucoup des posts sur le sujet (probablement pas tous), mais rien à faire, je n'y arrive pas et je ne comprends pas pourquoi.
J'ai créé à partir de ma table des ventes un MasterCalendar qui contient les champs suivants :
J'ai une liste de sélection avec mes années, une liste de sélection avec mes mois, et je voudrais pouvoir, en sélectionnant l'année et le mois, calculer :
pour les ventes du mois M de l'année N, j'ai écrit comme formule :
sum({$<CalendarYear={'$(=max(CalendarYear))'}>}V_CA_HT)
ça fonctionne.
pour les ventes du mois M de l'année N-1, j'ai fait plein de tests en fonction de ce que j'ai lu à droite à gauche mais qui ne fonctionnent pas :
sum({$<CalendarYear={'=$(=max(CalendarYear)-1)'}>}V_CA_HT)
sum({$<CalendarYear={'=$(=max(CalendarYear-1))'}>}V_CA_HT)
sum({$<CalendarYear={'=$(=max(CalendarYear)),$(=max(CalendarYear)-1)'}>}V_CA_HT)
sum({$<CalendarYear={'=$(=max(CalendarYear)),$(=max(CalendarYear-1))'}>}V_CA_HT)
sum({$<CalendarYear={$(=max(CalendarYear)-1)}>}V_CA_HT)
sum({$<CalendarYear={$(=max(CalendarYear-1))}>}V_CA_HT)
sum({$<CalendarYear={$(=max(CalendarYear)),$(=max(CalendarYear)-1)}>}V_CA_HT)
sum({$<CalendarYear={$(=max(CalendarYear)),$(=max(CalendarYear-1))}>}V_CA_HT)
la même chose sans le $ du début (sum({<CalendarYear...
Sum({$< MonthYear ={'=$(=vMonthYear)-365'}>} V_CA_HT) (avec vMonthYear=num(MonthYear))
qu'est-ce que je rate ? sachant que j'ai aussi fait le test en définissant une date de fin et une date de début, et là ça fonctionne :
Sum({< CalendarDate = {'>=$(=Date(vStartDate-365))<=$(=Date(vEndDate-365))'} >} V_CA_HT)
mais je trouve plus intuitif de sélectionner le mois et l'année, d'autant que j'ai beau mettre dans mon objet calendrier/curseur que la date min pour vEndDate est vStartDate, ça n'est pas pris en compte (=$(vStartDate) dans la case "valeur min")
Merci pour votre aide !
Delphine
Bonjour Delphine,
Je pense que lorsque tu fais la soustraction (-1), le résultat n'est plus interprété comme une date. Rajoute par dessus une fonction date et refais le test:
Sum({$<CalendarYear={"=$(=Date((max(CalendarYear)-1)))"}>}V_CA_HT)
cordialement.
Bonjour,
merci pour ta réponse, mais non, ça me donne toujours le CA de l'année N et non celui de l'année N-1.
Alors, j'ai fait le test, ça fonctionne chez moi. J'ai modifié l'expression, notamment en enlevant l'opérateur égal présent avant l'expansion dans le Set Analysis (cf. capture d'écran).
cordialement.
Je confirme que ça ne fonctionne pas chez moi, ci-joint les captures d'écran.
autre version en reprenant ta dernière modification : ça fait 0.
Revois mes captures, on a pas les mêmes expressions!
sum({$< Date.autoCalendar.Year={'$(=Year(max(Date.autoCalendar.Year)-1))'}>} Montant)
Adapte celle-ci et refais le test.
cordialement.
Alors, j'ai supprimé les variables vStartDate et vEndDate que j'avais créées au début et qui me permettaient le calcul en sélectionnant les dates de début et de fin sur un objet calendrier, et je me retrouve avec 4 (!) formules qui fonctionnent :
sum({$<CalendarYear={$(=max(CalendarYear)-1)}>}V_CA_HT) // fonctionne
sum({$<CalendarYear={$(=max(CalendarYear-1))}>}V_CA_HT) // fonctionne
sum({<CalendarYear={$(=max(CalendarYear)-1)}>}V_CA_HT) // fonctionne
sum({<CalendarYear={$(=max(CalendarYear-1))}>}V_CA_HT) // fonctionne
à ton avis, il vaut mieux prendre laquelle ? avec ou sans "$" au début (je ne sais pas à quoi ça sert pour être honnête), "-1" dans ou hors de la parenthèse de Max ?
Merci !