Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je travaille actuellement sur une application de suivi de stock.
Le calcul de niveau de stock à des dates antérieurs doit toujours se faire à partie du stock actuel, car je n'ai pas de photos de stock pour chaque date.
Le calcul est donc le suivant :
(SUM({<DateMvt=>}TOTAL<ARTICLE, SITE,MAGASIN> [Quantite en Stock]) - SUM({<DateMvt=,DateMvt={">=$(=Min(DateMvt))"}>} TOTAL<ARTICLE,SITE,MAGASIN]> [Quantite Mvt])) //Stock initial
+
aggr(rangesum(Above(Sum([Quantite Mvt]),0,RowNo())),SITE,MAGASIN, (DateMvt,(NUMERIC))
Partie 1 : SUM({<DateMvt=>}TOTAL<ARTICLE, SITE,MAGASIN> [Quantite en Stock])
Permet de calculer le stock actuel indépendamment de la date d'analyse.
Partie 2 : SUM({<DateMvt=,DateMvt={">=$(=Min(DateMvt))"}>} TOTAL<ARTICLE,SITE,MAGASIN]> [Quantite Mvt]))
Permet de prendre en compte les mouvements depuis le début de la période d'analyse.
Partie1 - Partie 2 = Stock au début de la période d'analyse.
Partie 3 : aggr(rangesum(Above(Sum([Quantite Mvt]),0,RowNo())),SITE,MAGASIN, (DateMvt,(NUMERIC))
Somme cumulative qui permet de reconstituer le stock sur lé période d'analyse en cumulant le stock de départ et les mouvements ultérieurs.
Mon problème est le suivant. Sur les mois ou je n'ai aucun mouvement sur un magasin, le calcul du stock ne se fait pas. le TCD dans lequel j'utilise la formule est vide sur ces périodes car en mode tabulaire, les lignes correspondantes n'existent pas
Quelqu'un aurait-il une solution pour combler ces manques.
Merci d'avance.
Bonjour Sbaro,
Oui le point est toujours ouvert, j'ai modifié le script pour combler artificiellement les manquants, mais j'aimerais une solution plus simple car celle-ci impacte mon modèle de données...
Merci
Bonjour @Dref278 ,
De mémoire, ça dépend si les valeurs nulles sont liées à l'association des tables de ton modèle ou plutôt sur les données dans une table.
Essaie la fonction Alt(expression, 0) pour encapsuler ton calcul. Si cela ne fonctionne toujours pas, ta solution reste la plus viable : gestion des valeurs nulles dans le modèle de données.
Cordialement.