Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Week 2: Presenting "Automate Sucess" and "Integration for Innovation" - WATCH NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
serge__g
Contributor III
Contributor III

Somme conditionnelle

Bonjour,

Dans deux tables j'ai deux valeurs distinctes :
--> AnneeClient : année de création de ma fiche client
--> DateFacture.autoCalendar.Year : Année de mes factures

Expression qui me pose problème :
sum({<AnneeClient={2024}>} TotalPied)

Comment remplacer la valeur {2024} par la valeur [DateFacture.autoCalendar.Year].Le champs année de ma date facture est selectionné dans un Volet filtre.
L'objectif est de connaitre uniquement  le CA des clients créés sur l'année sélectionnée

Merci

 

4 Replies
Aurelien_Martinez
Partner - Specialist II
Partner - Specialist II

Bonjour,

Peut être avec la fonction d'ensemble P()

sum({<AnneeClient=P(DateFacture.autoCalendar.Year)>} TotalPied)

 

Aurélien

Help users find answers! Don't forget to mark a solution that worked for you!
serge__g
Contributor III
Contributor III
Author

Bonjour Aurélien,

Cette solution ne fonctionne pas car par ex sur le CA (chiffre d'affaire) de 2025 j'ai plusieurs AnnéeClient des clients de l'année 2025, et des années precedentes

@+

Aurelien_Martinez
Partner - Specialist II
Partner - Specialist II

Re,

 

A quoi ressemble votre modèle de données ?

Avec cette exemple, j'ai le bon résultat.

Load
*
Inline [
AnneeClient, Client
2025, A
2024, B
];


Load
*,
Year(Date#(Date, 'DD/MM/YYYY')) as AnnéeCA
Inline [
CA, Client, Date
2000, A, 13/04/2025
1333, B, 15/06/2025
111, B, 12/07/2024
];


Aurelien_Martinez_2-1751557061660.png

 

Sinon pour récupérer toujours l'année la plus récente (par rapport à la sélection)

Sum({<AnneeClient={$(=Max(AnnéeCA))}>} CA)

 

Toutes les années possibles:

Sum({<AnneeClient={$(=Concat(distinct [AnnéeCA], ','))}>} CA)

 

 

 

 

Help users find answers! Don't forget to mark a solution that worked for you!
maxmichon
Partner - Contributor
Partner - Contributor

Bonsoir,

J'ai essayé en faisant ça :

Clients:
Load *
Inline [
AnnéeClient, Client, ClientID
2025, Albert, 6
2025, Robert, 5
2024, Nathalie, 4
2024, Romy, 3
2023, Max, 2
2022, François, 1
];

Factures:
Load *,
Year(Date(DateFacture, 'DD/MM/YYYY')) AS AnnéeFacture
Inline [
FactureID, ClientID, CA, DateFacture
101, 2, 100, 01/02/2023
102, 2, 150, 03/05/2024
103, 3, 200, 05/06/2024
104, 4, 500, 05/04/2024
105, 4, 300, 10/07/2025
106, 5, 400, 11/09/2025
107, 5, 345, 12/24/2025
108, 6, 130, 12/25/2025
109, 6, 250, 01/01/2026
];

 

Avec la Mesure :
Sum(
Aggr(
If(AnnéeClient = AnnéeFacture, Sum(CA)),
ClientID
)
)

On a alors comme solution pour les années

2023: 100
2024 :700
2025: 875

J'espère que cela t'aidera

Cordialement,

Maxime