Page 1 sur 1
SUADEO
Publié : 12 nov. 2025, 20:56
par Hocine
Comment calculer le cumul sur SUADEO ?
Re: SUADEO
Publié : 13 nov. 2025, 22:39
par Hocine
Bon ca sera un peu long:
Si vous souhaitez afficher le cumul d’une valeur par mois sur un graphique (par exemple : janvier = 5, février = 4 → cumul de janvier = 5 et cumul de février = 9), avec les mois sur l’axe des X, vous pouvez utiliser une expression du type :
aggr(sum(valeur), month(date)<=2)
Explications :
sum() calcule la somme des valeurs de la colonne.
aggr() permet de regrouper et de sommer ces valeurs selon le mois, afin d’obtenir le cumul.
Vous pouvez également filtrer les données jusqu’à un certain mois grâce à une condition, par exemple :
month(date) <= 2
Cela permet de récupérer uniquement les données dont le mois est inférieur ou égal à fevrier.
Exemple :
Supposons que l’on ait les valeurs suivantes :
Janvier : 4
Février : 6
Mars : 5
Avril : 100
Le cumul mensuel en utilisant la formule aggr(sum(valeur), month(date)<=2) sera alors :
Janvier → 4
Février → 4 + 6 = 10
Mars → 100 + 5 = 105
Avril → 100 +5 =105
Comme la condition doit varier selon le mois affiché, il faudra adapter l’expression pour chaque mois, par exemple :
pour janvier : month(date) <= 1
pour février : month(date) <= 2
pour mars : month(date) <= 3
etc.
La logique complète devient donc :
Iif(
month(date) = 1, aggr(sum(valeur), month(date) <= 1),
Iif(
month(date) = 2, aggr(sum(valeur), month(date) <= 2),
Iif(
month(date) = 3, aggr(sum(valeur), month(date) <= 3),
...
)))
Re: SUADEO
Publié : 22 nov. 2025, 21:08
par Lydia
Comment afficher les résultats d'une DU (Donnée d'usage) d'un rapport sur la même ligne dans une bande ?
pour afficher les résultats d'une DU d'un rapport sur la même ligne dans une bande, faut passer par la bande de regroupement, par exemple pour afficher le nombre de clients (NB_CLIENTS)par marché (PRO, PART et PREMIUM), il faut créer 3 champs calculés:
Iif (MARCHE= 'PART' , NB_CLIENTS, 0)
Iif (MARCHE= 'PRO' , NB_CLIENTS, 0)
Iif (MARCHE= 'PREMIUM' , NB_CLIENTS, 0)
puis les glisser dans la bande et utiliser une fonction d'agrégation SUM pour chaque champ calculé
Re: SUADEO
Publié : 26 nov. 2025, 15:49
par Hocine
Comment récupérer dynamiquement la dernière année enregistrée avec SUADEO
Pour récupérer les données de l’année en cours et/ou de l’année N-1 de façon dynamique avec Suadeo, l’utilisation de la formule suivante n’est pas toujours suffisante :
Max(GetYear(Date))
En effet, cette approche peut montrer ses limites, notamment si l’on souhaite obtenir un comportement similaire aux fonctions de fenêtrage (window functions) en SQL.
De plus, l’utilisation de la condition suivante :
GetYear(Date) = GetYear(Now())
pose un problème dans certains cas. Par exemple, lors du passage à une nouvelle année, si les données de la nouvelle année ne sont pas encore disponibles, les graphiques risquent d’apparaître vides. Cela rend les visualisations inutiles, surtout lorsque les données arrivent avec du retard (exemple : en novembre, les dernières données disponibles sont celles de septembre).
Solution :
Il est préférable de créer un champ calculé (que l’on peut nommer max_year) avec la formule suivante :
aggr(Max(GetYear(Date)))
Ce champ retourne un entier (Int) correspondant à la dernière année effectivement présente dans les données.
>

Important : ne pas renseigner de dimensions en argument dans la fonction d’agrégation.
Exemple : champ calculé permettant de recuperer les données de l’année en cours : Iif(GetYear(Date) = max_year, valeur, null)
Filtrage sur l’année N-1:
Pour filtrer dynamiquement sur l’année précédente (N-1), il suffit d’utiliser la condition suivante dans le filtre :
Max_year - 1