Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Somme ventes N et N-1

Bonjour la communauté,

Nouveau sur Qlikview, j'ai beaucoup de questions sur les set analysis et principalement ceux sur les dates.

Par exemple, j'ai la mise en place d'un tableau de bord avec la somme des ventes pour N et N-1. Les données proviennent d'une vue.

L'utilisateur aura a sa disposition des filtres année, mois, trimestre, et un calendrier avec le choix des dates.

Comment faire pour afficher le N-1 ?

Peut on avec un set analysis, gérer tous les cas de choix de période ?

Question subsidiaire quand je choisis le mois en cours mon N-1 affiche le mois complet alors que j'aurais aimé être à jour constant.


Merci pour vos réponses.

Je reste à votre disposition si vous avez besoin de précision.

6 Replies
brunobertels
Master
Master

Bonjour

Ce document devrait t'aider :

https://community.qlik.com/docs/DOC-9162

ainsi pour ton besoin , avoir la période N-1 :

Sum({<Date={$(=year(today())-1)}>} Sales )

ou

Sum({<Year={$(=year(today())-1)}>} Sales )

Bruno

Anonymous
Not applicable
Author

Merci Bruno pour ta réponse. J’ai une expression qui ressemble à ça

Sum({$<Année = {$(=Max(Année)-1)}>} [SALES]

qui permet d’avoir la somme de mon N-1 dans le cas d’une sélection d’une année, d’un ou plusieurs trimestres ou d’un ou plusieurs mois.


Ce que j’ai plus de mal à mettre en place, c'est pour le mois en cours, en effet la somme correspond au mois complet alors que j’ai besoin d’afficher la somme à jour égal avec l’année dernière.


Si l’utilisateur fait une sélection de jour dans le calendrier, dans ce cas ma somme est égale à 0.

Je cherche donc à avoir un set analysis qui me permet d’avoir une somme correcte dans tous les cas de figures.

brunobertels
Master
Master

Bonjour

Voici ci dessous des set analysis à adapter,  qui devraient répondre à ton besoin :

Total Année en cours à la date du jour :

Sum({$<[Date] = {'>=$(=YearStart(Today()))'}>} [Sales])

somme des ventes de toutes les dates supérieurs au début d'année ( Yearstart() ) d'aujourd'hui (Today() )

Total à date de N-1 : ( ta demande)

Sum({$<[Date] = {'>=$(=Date(AddYears(YearStart(Today()),-1)))<$(=Date(AddYears(Today(),-1)))'}>} [Sales])

somme des ventes supérieure au premier jour de l'année dernière (01/01/2015) et inférieure à la date du jour moins 1 an (20/10/2015)

Différence entre Total à Date N et total à Date N-1

//vente de l'année en cours :

(Sum({$<[Date] = {'>=$(=YearStart(Today()))'}>} [Sales])

-

//vente de l'année N-1 à la date du jour de N-1

Sum({$<[Date] = '>=$(=Date(AddYears(YearStart(Today()),-1)))<$(=Date(AddYears(Today(),-1)))'}>} [Sales]))

Anonymous
Not applicable
Author

Bonjour Bruno et merci de ta réponse.

Désolé de répondre si tard.

J'ai un souci que je ne comprends pas.

Mes données proviennent d'une base oracle via une vue.

La date de vente est au format date avec pour format DD/MM/AAAA.

Dans les scripts Qlikview je nomme ma date de vente Date pour toute les données date de vente de toutes les vues.

J'ai aussi une script de conf qui permet de mettre la date format DD/MM/AAAA.

Malgré cela quand je teste tes set analysis, je n'arrive pas à avoir de résultat. J'ai essayé de les adapter pour avoir un résultat mais je "sèche".


As tu une idée d'ou peut venir le problème ?


Franck

brunobertels
Master
Master

Bonjour

PAs sur de pouvoir t'aider sans avoir une vue de ton script ou de tes données. De plus j'utilise Qliksense plutot que Qlikwiew , même si la logique est la même.

je penses que tu as vérifié le format date sous qlikwiew dans le mainscript tu dois avoir ceci :

SET DateFormat='DD/MM/YYYY';

Ensuite si je comprends bien tu dois avoir une ligne de script comme ceci :

"date de vente" as Date,

Si c'est le cas mets ceci :

date("date de vente",'DD/MM/YYYY') as Date,

(c'est peut être ce que tu fais déja quand tu écris "J'ai aussi une script de conf qui permet de mettre la date format DD/MM/AAAA"

Si non tu peux me mettre le code en question.

Enfin

Essaye de tester ta formule par bloc  pour voir les formats de sortie dans un tableau

sfatoux72
Partner - Specialist
Partner - Specialist

Salut Frank, voici les expression adaptée:

Total Année en fonction de la sélection:

Sum({$<Année = {$(=Max(Année))}, [Date] = {'<=$(=Date(Max([Date]),'DD/MM/YYYY'))'}>} [Sales])

Total année précédente en fonction de la sélection:

Sum({$<Année = {$(=Max(Année)-1)}, [Date] = {'<=$(=Date(AddYears(Max([Date]),-1),'DD/MM/YYYY'))'}>} [Sales])

Différence entre Total à Date N et total à Date N-1

//vente de l'année en cours :

(Sum({$<Année = {$(=Max(Année))}, [Date] = {'<=$(=Date(Max([Date]),'DD/MM/YYYY'))'}>} [Sales])

-

//vente de l'année N-1 à la date du jour de N-1

Sum({$<Année = {$(=Max(Année)-1)}, [Date] = {'<=$(=Date(AddYears(Max([Date]),-1),'DD/MM/YYYY'))'}>} [Sales]))