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

SAP Crystal Reports Discussion :

[CR XI] Différence de mois entre 2 dates


Sujet :

SAP Crystal Reports

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 58
    Points : 57
    Points
    57
    Par défaut [CR XI] Différence de mois entre 2 dates
    Bonjour à tous,


    J'ai une table avec, pour chaque enregistrement, un montant facturé total, une date de début et une date de fin : en général 12 mois, mais pas pour tous
    Je souhaite obtenir le montant par mois : pas de pb pour la formule, j'ai le montant, mais je souhaite l'afficher, et ce, quelque soit les dates, sous forme de tableau, mais aussi en graphe


    Par ex, mon abonnement A, du 01/07/07 au 30/06/08, montant pour la période 1200€ : 100€ par mois
    un abonnement B, du 01/01/07 au 30/09/07, montant pour la période 900€ : 100€ par mois
    un abonnement C, du 01/01/07 au 31/12/07, montant pour la période 1200€ : 100€ par mois
    les dates de début et fin, et le montant total est dans la table, le mensuel est calculé dans Crystal Report

    je voudrai afficher, sous forme de tableau, le montant total par mois :
    - janvier 07 : 200€
    - ...
    - juillet 07 : 300€
    - janvier 08 : 100€

    j'ai un paramètre qui me permet de choisir ma période d'analyse : mois et année, je prend les 18 mois précédents, et les 6 mois suivants
    j'ai bien réussi, en faisant 19 formules, à avoir les montants mensuels, mais je ne peux pas le mettre en graphe mensuel

    Si quelqu'un a une idée, je le remercie par avance !

  2. #2
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bonjour et bienvenue sur le forum

    As-tu essayé de faire un groupe par date et tu affiches mensuellement ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Merci pour ta réponse et la bienvenue Adrien

    oui, j'ai essayé un groupe sur le champ Date de début, en groupant par mois, mais ça ne change rien : il ne groupe que sur les dates où il a une valeur

    il me faudrait bien un groupe effectivement, mais qui puisse m'afficher tous les mois de la plage compléte : si je prend comme paramètre le mois de janvier 2008 et que je reprend mes 3 abonnements, il me faudrait les montants mensuels, de juillet 2006 à juillet 2008, j'aurai 0€ pour les 6 1ers mois, puis les montants mensuels

    dans mes 19 formules, je prend le mois M0 = mois et année du paramètre
    M1 = mois +1
    M-1 = mois -1
    et ainsi de suite
    pour le détail du montant, je vérifie juste que si M1 est >= date début et <= date de fin, alors je met le montant mensuel, sinon 0

    suis je assez clair ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2007
    Messages : 145
    Points : 78
    Points
    78
    Par défaut
    et si tu utilises la formule " ToText({Table.Date}, "MM MMMM") " pour obtenir le nom du mois et puis un groupe...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    salut campia

    merci pour ta réponse mais cette formule ne me donnera que le mois de la date début ou date de fin, pas tous les mois entre ces 2 dates

    un datepart me donne le nb de mois entre les dates, ce qui me permet d'avoir le montant mensuel
    l'utilisation des 25 formules (je m'étais trompé dans mon post initial) me donne bien un "tableau" avec les montants par mois, mais je ne peux pas faire de graphe en utilisant, en axes des abscisses, le mois, qui me permettrait de voir l'évolution

    ce qui revient à dire que mes 25 formules devrait se trouver dans un seul et unique champ
    et là, je pourrai utiliser un regroupement

    peut être via une formule tableau (array) ? je ne connais pas du tout ce type de fonctions
    ou une boucle : pour chaque mois dans ma plage, alors montant mensuel

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 304
    Points
    304
    Par défaut
    Hello malheureusement cela n'est pas possible de manière simple. Le problème est le même avec des tableaux croisés, si tu n'a pas de valeurs pour un mois, il te supprime le mois.

    Pour résoudre le problème je pense que le seul moyen est de faire le traitement des informations dans le programme qui lance X3 et lui passer le tableau de résultat comme paramètre.

    A+
    Machuet

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    bonjour Machuet

    Et voilà, tu apportes la réponse que je redoutais tant, que je ne voulais pas entendre : pas possible...


    Ta solution semble intéressante, mais je ne vois pas comment l'appliquer : peux tu me guider stp ? Comment intégrer ce tableau comme paramètre ?
    Je lance mon rapport directement de Crystal, il sera exécuté à partir de Crystal Enterprise par la suite.

    Merci
    A+
    Lulu

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 304
    Points
    304
    Par défaut
    Malheureusement je ne peut te répondre je n'utilise pas Crystal entreprise. Je lance mes états depuis un ERP donc je peux faire des précalculs et les stocker dans des tables de travail.

    Désolé.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2006
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Merci Machuet pour ta réponse, je vais essayer de creuser un peu ton idée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/03/2015, 10h50
  2. Différence en nombre de mois entre deux dates
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/05/2007, 12h26
  3. Nombre de mois entre 2 dates
    Par gripoil dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/01/2006, 13h05
  4. Réponses: 6
    Dernier message: 06/12/2005, 16h51
  5. comment obtenir l’intervalle de mois entre deux date
    Par looc 6699 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/02/2005, 11h08

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