IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Problème somme cumulative

  1. #1
    Futur Membre du Club
    Homme Profil pro
    technicien ordonnancement/methodes
    Inscrit en
    Septembre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : technicien ordonnancement/methodes
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2017
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Problème somme cumulative
    Bonjour à tous, je viens chercher votre aide car je ne trouve pas réponse à ma question par moi même.

    Alors voilà, j'utilise ce rapport (photo ci-joint). ce que je voudrais, c'est décrémenter ma Qte um en fonction de la qte à prélever et ça pr chaque code produit identique de chaque saut.

    Et c'est la que je colle, ma variable actuellement est du type "(qte um) - somme cumulative (qte à prélever)". du coup il décrémente bien oui, mais prenant le resultat de la variable de la ligne supérieur alors que le stock pr un code produit X n'est pas le même que le produit Y et idem pour la qte à prélever, du coup mon résultat est complètement faux....

    La seule façon où j'arrive à avoir un résultat correct, c'est qd je fais le saut/section sur la colonne code produit, là chaque saut ne contient que le même produit, je rajoute seulement ";rupture" dans ma variable pr qu'il recommence son calcul entre chaque saut ...............

    J’espère avoir été clair , voici la photo, ma variable est la colonne T, et le saut est sur "cut of time"

    Nom : 20170920_170936.jpg
Affichages : 2456
Taille : 301,6 Ko


    Merci par avance à ceux qui pourront m'aider, vous m’enlèveriez une grosse épine du pied

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2008
    Messages : 259
    Points : 338
    Points
    338
    Par défaut
    Bonjour, il faut utiliser la 2ème synthaxe de la fonction. Mais elle s'écrit différemment selon la version de BO. Je crois que cela doit être qqchose comme :

    =sommecumulative([qte];([code produit]) en WEBI

    ou =sommecumulative(<qte>,<code produit>) en DESKI

  3. #3
    Futur Membre du Club
    Homme Profil pro
    technicien ordonnancement/methodes
    Inscrit en
    Septembre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : technicien ordonnancement/methodes
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2017
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Super, merci beaucoup ça fonctionne.

  4. #4
    Membre du Club
    Homme Profil pro
    Analyste de gestion
    Inscrit en
    Décembre 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste de gestion
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 56
    Points : 50
    Points
    50
    Par défaut Somme cumulative : trous !
    Hello,

    Je ré-ouvre cette discussion parce qu'en utilisant cette méthode, je rencontre un autre souci :

    dans mon cas, certains mois ne contiennent aucune donnée (pas de dépenses ces mois-là), et du coup, au lieu de reprendre le dernier cumul connu pour le reporter dans ces mois "vides", BO laisse la cellule vide... Ca ne facilite pas la lecture des tableaux, et ça fait des graphes "à dents creuses" pas hyper lisibles non plus...

    Quelqu'un a-t-il pu résoudre ça ?

    Je joins une copie d'écran pour illustrer :

    Nom : BO_CumulAtrous.jpg
Affichages : 2406
Taille : 257,1 Ko

    La formule utilisée pour définir la somme mensuelle cumulée à remettre à zéro chaque année et que je voudrais stopper au niveau du dernier mois connu dans l'année en cours est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    =Si (
    EnNombre([Exercice commande])<=Année(DateActuelle())
    Et
    [MoisEngagement]<=Max([MoisEngagement]) Dans ([Exercice commande])
    )
    Alors
    SommeCumulative([Mt mandaté TTC];([Exercice commande]))
    Merci d'avance

    Seb

  5. #5
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bonsoir,

    Pour compléter les dates ou périodes manquantes dans un jeu de données, il faut utiliser (depuis la version 4.1) la fonction DimTemps.
    Nom : kerseb.PNG
Affichages : 2267
Taille : 36,3 Ko

    Dans mon Tableau d'exemple mis en pièce jointe, je ne disposais au départ
    • en dimensions que de l'Année, du Numéro de mois, de la Date de début d'absence
    • en indicateur le Nombre de jours d'absence


    Évidemment les numéros de mois affichaient des trous.
    J'ai donc créé une variable DimAn et une variable DimMois puis une variable Nb jours Abs remplaçant les null par des zéro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DimAn = =FormatDate(DimTemps([Absdate Deb] ; PériodeMois);"yyyy")
    DimMois = =FormatDate(DimTemps([Absdate Deb] ; PériodeMois);"MM")
    La fonction DimTemps complètera les dates manquantes par des Jours, des Mois, des Trimestres ou des Années selon l'argument Période choisi
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  6. #6
    Membre du Club
    Homme Profil pro
    Analyste de gestion
    Inscrit en
    Décembre 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste de gestion
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 56
    Points : 50
    Points
    50
    Par défaut
    Merci Bruno2r, je vais essayer avec des variables pour re-créer des dimensions "année" et "mois", mais ce que je crains, c'est que je me retrouve, comme au départ avec le dernier cumul connu de l'année en cours reporté sur les mois non-échus, ce qui est précisément ce que je voulais éviter au départ (problématique centrale de ce fil de discussion).

    A moins que je n'arrive dans la définition de la nouvelle variable "DimMois" à intégrer une rebascule sur la dimension "mois" de départ tant que ces mois-là de l'année en cours ne sont pas encore échus...

    Je vais essayer, je reviendrai donner les résultats

    Seb

  7. #7
    Membre du Club
    Homme Profil pro
    Analyste de gestion
    Inscrit en
    Décembre 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste de gestion
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 56
    Points : 50
    Points
    50
    Par défaut
    Je me demande si le fait qu'il n'y a pas de données sur le mois de janvier, chaque année, empêche DimTemps de construire son axe, comme il n'a pas vraiment de "point de départ"...

  8. #8
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Citation Envoyé par kerseb Voir le message
    Je me demande si le fait qu'il n'y a pas de données sur le mois de janvier, chaque année, empêche DimTemps de construire son axe, comme il n'a pas vraiment de "point de départ"...
    C'est vraisemblable pour la première année 2014 puisque DimTemps se base sur Les valeurs Min et Max de dates pour compléter les trous.
    Mais normalement DimTemps devrait te rajouter les mois de janvier pour les années 2015 à 2018... Est-ce le cas ?
    Je te conseille de travailler sur le tableau normal, avant tableau croisé pour résoudre les problèmes 1 par 1.

    Pour l'arrêt de cumul au mois du jours en cours on verra comment faire une fois résolu les trous de données.
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  9. #9
    Membre du Club
    Homme Profil pro
    Analyste de gestion
    Inscrit en
    Décembre 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste de gestion
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 56
    Points : 50
    Points
    50
    Par défaut
    Bon... je reprends pas à pas... il y a peut-être un truc qui m'échappe...

    Je pars de l'objet [DateEngagement] qui est une date.

    Pour le tableau croisé en mensuel non-cumulé, j'ai créé les variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ExEngagement=Année([Date engagement])
    MoisEngagement=NuméroMoisAnnée([Date engagement])
    Pour le mensuel cumulé, je crée donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DimAnnéeEng=Année(DimTemps([Date engagement];PériodeAnnée))
    DimMoisEng=NuméroMoisAnnée(DimTemps([Date engagement];PériodeMois))
    En tableau en colonne, je pose l'objet/variable [DimAnnéeEng] ==> Pas de souci j'obtiens ma liste de 2014 à 2018.

    Nom : Sans titre.jpg
Affichages : 2161
Taille : 45,6 Ko

    Dès que je veux ajouter l'objet [DimMoisEng], le tableau disparaît.

    Nom : Sans titre.jpg
Affichages : 2188
Taille : 40,7 Ko

    En visualisation de la structure il est bien toujours là pourtant...

    Nom : Sans titre.jpg
Affichages : 2139
Taille : 27,6 Ko

    Je dois sûrement zapper un truc important quelque part...
    Et du coup, en plus je ne peux pas répondre à ta question, à savoir si janvier remonte bien sur les années 2015 à 2018...

  10. #10
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Mauvaise nouvelle !
    DimTemps PériodeMois ne fonctionne pas en tableau croisé. La "valeur obtenue" est la première date du mois manquant.
    Et l'on a en tableau croisé autant de colonnes que de mois (annéemois)
    Cela peut être lié à cette remarque trouvée dans la Doc
    Remarque Vous ne pouvez pas utiliser la fonction DimTemps pour appliquer un filtre sur des formules (par exemple dans un filtre, une commande d'entrée, un lien d'élément, une barre de filtre ou d'exploration). Vous devez plutôt appliquer directement le filtre sur la dimension de date sous-jacente.
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  11. #11
    Membre du Club
    Homme Profil pro
    Analyste de gestion
    Inscrit en
    Décembre 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste de gestion
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 56
    Points : 50
    Points
    50
    Par défaut
    OK, merci Bruno2r !

    Du coup je vais devoir rester avec mes cumuls "à dents creuses"...

    Comment je cloture le fil du coup ? Comme ce n'est pas vraiment "résolu" ? Il n'y a pas de bouton "résigné"

    Seb

  12. #12
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bonjour,

    Peut-être pourrions nous entrer par la fenêtre puisque la porte ne s'ouvre pas...
    As-tu essayé de créer une variable indicateur gérant les null ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Si(EstNull([Mt mandaté TTC]) Alors 0 Sinon [Mt mandaté TTC]
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  13. #13
    Membre du Club
    Homme Profil pro
    Analyste de gestion
    Inscrit en
    Décembre 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste de gestion
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 56
    Points : 50
    Points
    50
    Par défaut
    Hello Bruno2r,

    Ca marche impecc pour boucher les dents creuses...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SommeCumulative(Si(EstNul([Mt mandaté TTC]) Ou [Mt mandaté TTC]=0) Alors 0 Sinon [Mt mandaté TTC];([ExEngagement]))
    Par contre, ça remet des valeurs au delà du dernier mois échu de l'année courante, ce qui était précisément ce qu'on cherchait à éviter depuis le début

    Nom : Sans titre.jpg
Affichages : 2126
Taille : 122,9 Ko

    C'est un vrai casse-tête ce truc...

  14. #14
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Par contre, ça remet des valeurs au delà du dernier mois échu de l'année courante, ce qui était précisément ce qu'on cherchait à éviter depuis le début
    J'avance toujours étape par étape (une manie de vieux sans doute)...
    J'ai besoin de savoir si tu as une autre Dimension chronologique (à part Année et MoisNum).
    Date de ... ou AnnéeMois ?
    Sinon ta condition de départ ... ne fonctionne pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    =Si (EnNombre([Exercice commande])<=Année(DateActuelle())
    Et[MoisEngagement]<=Max([MoisEngagement]) Dans ([Exercice commande]))
    Alors
    SommeCumulative([Variable];([Exercice commande]))
    
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

Discussions similaires

  1. Problème de somme cumulée
    Par CélineM dans le forum SAS Base
    Réponses: 15
    Dernier message: 31/03/2008, 19h30
  2. problème somme cumulative
    Par marion2003 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/12/2007, 14h41
  3. ! Somme Cumulative en SQL !
    Par dom283 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2007, 18h25
  4. somme cumulative
    Par gsquad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2006, 17h18
  5. problème de cumul
    Par energies dans le forum Access
    Réponses: 1
    Dernier message: 30/03/2006, 12h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo