Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai besoin de votre aide pour un problème de calcul %Evol(N-1).
Je m'explique : j'ai une colonne de quantité du mois en cours ( c'est la somme des quantités du mois sélectionné), une colonne de quantité de l'année en cours ( c'est la somme des quantités de l'année jusqu'au mois sélectionné). Ces deux colonnes fonctionnent très bien, le système s'affiche bien les bons chiffres.
Par contre, pour calculer %Evol(N-1), j'ai appliqué le formule: [(qté mois en cours - qté mois de l'année N-1)/ qté mois de l'année N-1]*100.
J'ai utilisé set analysis pour réaliser cette expression :
(sum({$ <InvoiceYear={$(=Only(InvoiceYear))}> } [_QuantitySold]) - sum( { $ <InvoiceYear ={$(=Only(InvoiceYear)-1)},InvoiceMonth= { "<= $(=max(InvoiceMonth))"}>} [_QuantitySold]))/sum( { $ <InvoiceYear ={$(=Only(InvoiceYear)-1)},InvoiceMonth= { "<= $(=max(InvoiceMonth)) * 100.
Par exemple si je choisi le mois 02/2013
le système s'affiche bien la somme qté mois en cours = 456.
mais la somme qté mois de l'année N-1, il fait un calcul du total des quantités de l'année N-1 = 4444 alors que je veux qu'il affiche juste la quantité du mois l'année N-1 (c'est à dire 02/2012) = 230.
Je vous joins une capture d'écran pour que vous puissiez visualiser mon problème.
Je vous remercie d'avance pour votre aide.
Cordialement,
ok je comprends:
mets (-12) à la place de (-13)
=num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM YYYY'))"}>} [QuantitySold])
-
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>} [QuantitySold]))
/
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>}[QuantitySold])
) ,'# ##0,00%')
=num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM'))"}>} [QuantitySold])
-
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM'))"}>} [QuantitySold]))
/
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM'))"}>}[QuantitySold])
) ,'# ##0,00%')
j'ai utilisé votre expression mais ça fontionne toujours pas. Il m'a rien affiché...
Ca veut dire quoi quand vous mettez (,-13),'MMM')?
si 13 correspond à l'année 2013, ce n'est pas ce que je veux faire car je dois avoir une expression générique qui permet aux utilisateurs de choisir n'importe quelle année dans la liste ( par exemple s'ils choisit l'année 2011, ils vont avoir le résultat %Evol(N-1) = %Evol2010 par exemple.
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM'))"}>} [QuantitySold]))
Merci encore pour votre aide
Bonjour Almamy,
Je sais pas si c'est à cause du format de mon indicateur "InvoiceYear,InvoiceMonth" que l'expression fonctionne pas.
Je vous joins une capture d'écran de la liste de ces indicateurs.
C'est sans doute a cause du format du Mois
Essaie Ceci:
=num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM YYYY'))"}>} [QuantitySold])
-
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>} [QuantitySold]))
/
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>}[QuantitySold])
) ,'# ##0,00%')
J'ai essayé ton expression, il m'affiche maitenant les chiffres mais pas les bons chiffres.
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-13),'MMM YYYY'))"}>} [QuantitySold])
Dans cette expression, il prend en compte le mois Jan 2012 alors je veux qu'il prend le mois Feb 2012 car quand je sélectionne dans la liste des mois = Feb 2013, pour calculer %Evol (N-1), j'ai besoin le mois qui correspond au mois sélectionné, c'est à dire Feb 2012 au lieu Jan 2012
Je vous joins la capture d'écran de mon problème
ok je comprends:
mets (-12) à la place de (-13)
=num(((Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM YYYY'))"}>} [QuantitySold])
-
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>} [QuantitySold]))
/
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY'))"}>}[QuantitySold])
) ,'# ##0,00%')
Ca fonctionne parfaitement. Merci encore
Est-ce que tu peux m'expliquer en détail de ton expression stp?
-12 ça correspond à quoi ?
Fonction Addmonths
Addmonths(mois , 1) : Mois en Mois prochain
Addmonths(mois , 0) : Mois en cours
Addmonths(mois , -1) : Mois en précedant
Je t'invite à voir la Fonction Addmonths dans l'aide