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 le total des quantités de l'année précédente jusqu'au mois sélectionné.
Je m'explique : j'ai une liste de quantité par mois :
Jan 2013=200 Jan 2012=100
Fev 2013=600 Fev 2012=500
Mars 2013=1000 Mars 2012=800
Si l'utilisateur choisi un mois dans la liste des mois (par ex: Fev 2013)
Je dois calculer le total des quantités de l'année précédente, c'est à dire : qté Jan 2012 + qté Fev 2012= 100+500 = 600.
Est-ce que c'est possible de faire ça avec set analysis?
Merci d'avance pour votre aide.
Cordialement,
En m'inspirant de Christophe, je peux maintenant t'aider:
Année en cours:
Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "<=$(=num(date(AddMonths(max(InvoiceMonth),0),'MMM YYYY')))"}>} [QuantitySold])
Année Précédente:
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "<=$(=num(date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY')))"}>} [QuantitySold]))
IN SCRIPT MAKE A FIELD
DATE(DATE#(datefield,'MMM YYYY'),'YYYY') AS Year
then try this
sum({<Year=>}VALUE)
or this one
sum({<Year=>}TOTAL VALUE)
Ca fonctionne pas, il ne calcule pas le total des quantités de l'année précédente, il m'affiche juste la quantité du mois sélectionné.
Je m'explique un peu plus ce que je souhaite faire:
Si je sélectionne Fev 2013 dans la liste, je souhaite faire un calcul des quantités de l'année précédente : 100+500 = 600.
Si je sélectionne Mars 2013 dans la liste, je souhaite faire un calcul : 100+500+ 800 = 1400.
En gros, chaque fois quand je sélectionne un mois dans la liste, je souhaite obtenir un calcul du total des quantités de l'année précédent jusqu'au mois ( le mois égal = mois sélectionné).
Bonjour,
Le YTD et LYTD sont assez classiquement demandés en analyse. QlikView permet de le faire assez simplement.
Pour vous en sortir, 2 solutions :
- Full SET ANALYSIS
- Mixte chargement et SET ANALYSIS
Vous trouverez en pièce jointe une application que j’avais envoyé il y a quelques mois et qui reprend le principe de la modélisation associative pour calculer un YTD à partir de données mensuelles, soit un mixte chargement et SET ANALYSIS. L’avantage est que cela marche quel que soit l’exercice et si votre exercice commence à un mois autre que janvier. En solution full set analysis, cela ne marcherait que pour les calendriers commençant en janvier.
Pour ce faire, on part du principe que en YTD, janv YTD=janv, fevr YTD=janvfevr, mars YTD =janvfévr+mars, etc…Il suffit donc de créer une table permettant de faire le lien entre votre période des data et une colonne période YTD et le tour est joué.
Cela peut être une bonne base de travail pour débuter. Si vous avez besoin de plus de détails, continuez la discussion.
Cdt
Christophe Jouve
Senior Solution Architect
Direct: +33 1 55 62 65 54
Mobile: +33 6 76 24 22 47
Email: Christophe.Jouve@qlik.com
QlikTech
France Headquarters Office,93 avenue Charles de Gaulle
92200 Neuilly sur Seine
qlik.com<http://www.qlik.com/>
18 octobre 2012 | De la Business Intelligence à la Business Discovery...
http://www.qlikview.fr/BDWT-Paris
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
Bonjour Christophe,
Je travaille sous client web donc je ne peux pas créer une table qui me permet de faire le lien entre la période des data et une colonne période YTD comme vous avez dit.
Est-ce que vous pouvez m'expliquer un peu plus en détail ce que je dois faire pour obtenir le total des quantités de l'année N-1 s'il vous plait?
Actuellement, j'ai réussi de calculer les qtés MTD, qté YTD et aussi %Evolution MTD/(N-1) (grace à la solution de "Almamy DIABY").
Voici l'expression :
=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%')
Mtn je dois calculer %Evolution YTD/(N-1), donc j'ai besoin de calculer le total des quantités de l'année précédente jusqu'au mois séléctionné.
%Evolution YTD/(N-1) = qté YTD - qté (N-1)]/ qté N-1 *100.
Pour faire ce calcul, j'ai besoin d'une expression qui me permet de calculer la quantité de l'année (N-1).
ex: j'ai une liste des mois , si je sélectionne Fev 2013 dans la liste des mois ,
%Evolution YTD/(N-1) = (200+600) - (100+500)/(100+500) * 100
Mes données:
Jan 2013=200 Jan 2012=100
Fev 2013=600 Fev 2012=500
Mars 2013=1000 Mars 2012=800
j'ai pas eu de problème pour calculer qté YTD (200+600) mais j'arrive pas à calculer qté N-1 (100+500), est-ce que vous pouvez me expliquer comment je peux obtenir ce calcul en utilisant une expression set analysis?
Merci encore pour votre aide.
Re,
Solution en pièce jointe (si j’ai bien compris ce qu’il vous faut). Cela répond-t-il à votre besoin ?
Pour cet exemple, j’ai recalé l’exercice sur le mois de janvier en utilisant des annees et mois calendaires plutôt qu’une notion d’exercice commençant à n’importe quelle période.
Seule contrainte : avoir un champ annee et mois dans les données d’origine pour caler les calculs. Si tel n’est pas le cas, il faudra alors complexifier les formules pour extraire la valeur de l’annee et du mois en direct à partir de la date.
Onglet « calcul Set Analysis ».
Principe de chaque formule :
Pour l’annee calendaire, prendre soit le max de l’annee sélectionnée et le max -1 pour l’exercice précédent
Pour le mois, on prend toutes les valeurs de mois <= max(mois calendaire). Les mois étant des duals (association interne entre un nombre et un libellé), ils sont automatiquement utilisés en chiffre ou chaine selon les besoins.
Cdt
Christophe Jouve
Senior Solution Architect
Direct: +33 1 55 62 65 54
Mobile: +33 6 76 24 22 47
Email: Christophe.Jouve@qlik.com
QlikTech
France Headquarters Office,93 avenue Charles de Gaulle
92200 Neuilly sur Seine
qlik.com<http://www.qlik.com/>
18 octobre 2012 | De la Business Intelligence à la Business Discovery...
http://www.qlikview.fr/BDWT-Paris
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
bonjour ,
Je ne suis pas parvenu à trouver un set analysis pour t'aider. Cependant, j'ai une solution en attendant.
Année en cours:
Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),0),'MMM YYYY'))"}>} [QuantitySold])
+ Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={"$(=date(AddMonths(max(InvoiceMonth),-1),'MMM YYYY'))"}>} [QuantitySold])
+
--------
+
Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={"$(=date(AddMonths(max(InvoiceMonth),-11),'MMM YYYY'))"}>} [QuantitySold])
Il s'agit de faire la somme de la première expression en faisant varier le 0 à - 11
Année Précédente:
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),-13),'MMM YYYY'))"}>} [QuantitySold]))
+
- - -- --
+
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "$(=date(AddMonths(max(InvoiceMonth),- 23),'MMM YYYY'))"}>} [QuantitySold]))
Il s'agit de faire la somme de la première expression en faisant varier le -12 à - 23
En m'inspirant de Christophe, je peux maintenant t'aider:
Année en cours:
Sum({$< InvoiceYear={$(=Max(InvoiceYear))}, InvoiceMonth={ "<=$(=num(date(AddMonths(max(InvoiceMonth),0),'MMM YYYY')))"}>} [QuantitySold])
Année Précédente:
Sum({$< InvoiceYear={$(=Max(InvoiceYear)),$(=Max(InvoiceYear-1))}, InvoiceMonth={ "<=$(=num(date(AddMonths(max(InvoiceMonth),-12),'MMM YYYY')))"}>} [QuantitySold]))
Merci encore pour ton aide
Effectivement si j'emploi:
=Sum({<DATE_STK={"$(=max(DATE_STK))"}>}[Cout STD total])
Ma valeur correspond à la bonne date, mais si j'applique:
=Sum({<DATE_STK={"$(=max(DATE_STK)-1)"}>}[Cout STD total])
La valeur est incorrecte (l'éditeur retourne '43606' comme date...)