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

BIRT Discussion :

[2.2.2] Conversion de date ne marche pas


Sujet :

BIRT

  1. #1
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut [2.2.2] Conversion de date ne marche pas
    Bonjour,

    Dans ma requête je veux avoir, le nom du mois en lettre (Décembre). Sous MySQL la requête fonctionne, mais pas sous BIRT. Que faire ?

    Voilà ma requêt :

    select client.br_texte, produit.cstat_texte,
    sum(principal.ca), sum(principal.marge),
    DAYNAME(principal.date),
    DAY(principal.date),
    MONTHNAME(principal.date),
    YEAR(principal.date)
    from client, produit, principal
    where client.id_client = principal.id_client
    and principal.id_produit = produit.id_produit
    group by produit.cstat_texte, client.br_texte
    order by client.br_texte

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Si tu utilises BIRT qu'avec MySQL et que sous MySQL ta raquête passe, tu ne devrai pas avoir de problème.

    Par contre, si avec BIRT tu attaque une autre BDD, ça ne marchera pas vu que tu utilises des fonctions spécifiques à MySQL.

    Dernier truc, mets dans le même ordre les champs du SELECT et du GROUP BY, ça marchera p-e mieux.
    Ne pas oublier le bouton RESOLU

    Mes lois informatiques qui n'ont pas encore trouvées de contre exemple:
    - Quand on gagne d'un coté, on perd très souvent voire toujours d'un autre.
    - Il est très rare de gagner sans rien perdre.
    - Quand la solution devient trop complexe à mettre en oeuvre, c'est qu'elle ne convient pas à ce que l'on attend, voire qu'elle est tout bonnement mauvaise.

  3. #3
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    C'est exactment la même requete que sur les BIRt et MySQL et je n'utilise pas d'autre BDD.

    Par contre j'ai remarqué que mon champs : DAYNAME(principal.date) était de type "Blob" sous BIRT tandis que dans MySQL c'est du String.

  4. #4
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bonjour,

    Tu peux forcer le type avec BIRT tout simplement, il y a Blob et bien tu peux le changer

  5. #5
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Oui, ça j'y avait pensé. Mais la case du "type" reste grisé et je ne peux la changer.

  6. #6
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Passe par le XML

    Comment ça c'est bourrin

  7. #7
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    J'ai fait ta méthode bourrin, mais j'ai comme résultat pas le nom du jour("lundi"), mais une série de chiffre.

  8. #8
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Peux-tu mettre en pièce jointe ton rptdesign stp ?

  9. #9
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Voilà le fichier. Mon problème porte donc sur l'affichage du jour et du mois en format texte.

  10. #10
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bon, j'ai fait une petite recherche sur DAYNAME(principal.date) et à chaque fois le type donné est blob. As-tu essayé de changer ce type en string partout ?

  11. #11
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Oui.

    Mais j'ai droit comme résultat par exemple pour DAYNAME() : 46 72 69 64 61 79

  12. #12
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    En fait, je pense que ca vient du fait que DAYNAME est justement une fonction MySQL et tu passes par un connecteur JDBC.

    Le mieux à faire dans ton cas est de faire quelquechose comme ceci :
    http://www.developpez.net/forums/m3282908-21/

    (En plus, cela correspond à l'exemple).

    En gros, au lieu de récupérer le nom du jour directement en SQL, tu le fais sur le Designer.

  13. #13
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Je comprend mieux. Je suis tellement habitué à travailler en SQL que je pensais pas faire comme ça, bon je vais essayer et au cas ou je te redis.

  14. #14
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Alors ? Qu'est ce que ca donne ?

  15. #15
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Merci, pour le jour c'est OK maintenant. Y a juste encore le mois que je trouve le bon format et ça serra tout bon.

  16. #16
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Pour le mois, la technique est la même sauf que SimpleDateFormat prend en paramètre : MMM pour Juil ou MMMMM pour Juillet.

    Ah et pour avoir quelquechose de plus propre, il faut récupérer le SimpleDateFormat et Calendar avant d'effectuer les fonctions. Tu auras de meilleures performances et le fait d'initialiser SimpleDateFormat avec le Calendar te permettra d'éviter de mauvaises surprises :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    importPackage( Packages.java.util );
    importPackage( Packages.java.text );
     
    cal = Calendar.getInstance();
    sdf = new SimpleDateFormat();
    sdf.setCalendar(cal);
     
    function jour(j) {
    	cal.set(Calendar.DAY_OF_WEEK, j);
    	sdf.applyPattern("EEEEE");
    	return sdf.format(cal.getTime());
    }
     
    function mois(m) {
    	cal.set(Calendar.MONTH, m);
    	sdf.applyPattern("MMMMM");
    	return sdf.format(cal.getTime());
    }
     
    //générique
    function formaterDate(d, format) {
    	cal.setTime(d);
    	sdf.applyPattern(format);
    	return sdf.format(cal.getTime());
    }

    jour() accepte en entrée le numéro de jour.
    mois() accepte en entrée le numéro de mois.
    formaterDate(d, format) accepte en entrée une date et un format.

    On peut mettre en entrée de jour et de mois, la date directement. Dans ce cas, on aura en première ligne de fonction cal.setTime(date).

  17. #17
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Merci je venais de trouver, mais au lieu de décembre, j'ai avril !

  18. #18
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Citation Envoyé par MaryPoppinsBI Voir le message
    Merci je venais de trouver, mais au lieu de décembre, j'ai avril !
    Tu as quoi comme numéro de mois ?

  19. #19
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    12

  20. #20
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ah ben, en fait, ca va de 0 à 11 donc je pense que tu as un décalage pour tous les mois.

    Tu peux faire ça :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    cal.set(Calendar.MONTH, m-1);
    au lieu de :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    cal.set(Calendar.MONTH, m);

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comparaison date <= ne marche pas
    Par vpourchet dans le forum Débuter
    Réponses: 4
    Dernier message: 15/06/2009, 14h40
  2. Mon test sur la date ne marche pas
    Par dachir dans le forum Access
    Réponses: 7
    Dernier message: 12/08/2006, 10h23
  3. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  4. Conversion de date lors d'un import
    Par bilbon.S dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 26/03/2004, 14h33
  5. Conversion de date et division 64 bits
    Par dway dans le forum Assembleur
    Réponses: 38
    Dernier message: 27/01/2004, 10h31

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