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.3.1] Variables globales et fonctions


Sujet :

BIRT

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut [2.3.1] Variables globales et fonctions
    Bonjour,
    je me permet de vous poser une des dernières questions que je n'ai pas encore réussi à résoudre.
    La problematique est la suivante:
    Je dois faire une requête sur la base au mois de janvier, qui me donne en gros les temps calculés pour chaque salarié. J'ai un nombre X1, le mois suivant, Fevrier je refait cette requête qui va donner un nombre X2, etc... jusqu'en décembre.
    Je voudrai sous BIRT créer une variable A qui va contenir le nombre X1, puis la variable A va contenir la valeur X2 le mois suivant, en ajoutant c'est à dire que A= X1+X2 au mois de fevrier, au mois de mars la requête sur la base sera X3, et donnera A =X1+X2+X3 etc.. jusqu'en décembre où A= X1+...+X12.
    Si par exemple je suis au mois de septembre 2009, et je désire le rapport juin, il faut que la fonction soit intéligente, c'est à dire qu'elle donne A =X1+X2+X3+X4+X5+X6, bien que nous sommes en septembre.
    Arriver au mois de janvier l'année prochaine A sera réinitialiser à zero.
    Exemple janvier 2010 A=0.
    Es ce qu'on peut faire ceci facilement avec BIRT ? Si oui comment ?
    Vue que je ne sais pas où accéder à Java, et je ne sais pas comment faire une telle opération sous BIRT.

    Bien cordialement.

  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
    A priori, ta demande me parait plutot délicate.

    J'essaierai de trouver du temps pour y réfléchir.
    Mais ce n'est pas gagné, car celà fait bien 2 à 3 mois que je ne travaille plus rééllement sur BIRT.
    Du coup, j'ai moins de temps pour faire des recherches.

    J'essai de suivre le forum pour ne pas perdre trop le liens avec BIRT qui est surement ma carte de sortie de la techno Progress.
    En plus, ça me botte bien.
    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
    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,

    Personnellement, je n'ai pas compris ton problème. En fait, je comprend ce que tu veux plus ou moins mais pas suffisamment pour pouvoir t'aider.

    Peux-tu ré-expliquer ton problème en aérant le texte et en faisant différents points ? Basé sur des exemples simples de comportement ?

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par BiM Voir le message
    Bonjour,

    Personnellement, je n'ai pas compris ton problème. En fait, je comprend ce que tu veux plus ou moins mais pas suffisamment pour pouvoir t'aider.

    Peux-tu ré-expliquer ton problème en aérant le texte et en faisant différents points ? Basé sur des exemples simples de comportement ?
    Je vais reformuler demain ma demande, celle ci étant moins préssé, dés que j'aurais un peu plus de temps libre je vais reformuler la demande.
    Bien à vous.

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Requete YTD
    Si je comprends bien tu veux faire un rapport automatique year to date.

    Plusieurs façons de procéder, en voici une :

    Tu mets un paramètre dans le rapport BIRT et tu utilises Javascript pour le populer avec le mois courant ( getMonth() ). Ou alors un Dataset avec un Select sysdate from dual ( syntaxe Oracle , voir si autres bases ) . Ta requete utilisera donc ce paramètre pour recupérer les données du mois 1 jusqu'au param en automatique.

    Sinon , nous attendons tes précisions.

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par Stefan C Voir le message
    Sinon , nous attendons tes précisions.
    Je n'ai pas eu le temps non plus aujourd'hui de penser à ce problème, même si depuis plusieurs jours, les nuits sont courtes, trés courtes, le stress inversement proportiel à la longueur des petites nuits que je passe.
    Ce rapport aurait du être livré vendredi, et nous sommes....aujourd'hui.
    Voilà où en j'en suis.

    Cordialement

  7. #7
    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
    Juste comme ça, tu es stagiaire, donc contente toi de tes heures. Si tu n'arrives pas à finir en temps et en heure, c'est qu'ils t'ont donné trop de boulot. A eux de revaloriser le temps à y passer. Sans compter que tu es stagiaire donc là pour apprendre et non pour être efficace dès la première seconde !

    D'autre part, si tu parles de ton rapport de stage, ça arrive de rendre un rapport sur quelquechose qui n'est pas fini ou qui ne fonctionne pas. Ca m'est déjà arrivé, on te reconnait le travail fourni et l'effort fait pour résoudre tous les problèmes que tu as pu...

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par BiM Voir le message

    D'autre part, si tu parles de ton rapport de stage, ça arrive de rendre un rapport sur quelquechose qui n'est pas fini ou qui ne fonctionne pas. Ca m'est déjà arrivé, on te reconnait le travail fourni et l'effort fait pour résoudre tous les problèmes que tu as pu...
    C'est exact ce que vous dites BIM, mais ceci est valable pour un stage de fin d'étude, où de l'AFPA -et encore concernant cette dernière le désire est aussi de se faire embaucher -, or moi c'est un stage ANPE pour aider les chomeurs à retrouver du travail et vite, les gens de cette boite sont intérressés par mon profil, et mes éfforts, donc pour me recruter, d'autant plus qu'ils payeront assez bien à condition que... voilà la différence avec un stage d'étude.
    Et puis se casser la tête sur BIRT, et les tableaux croisés dynamiques, SQL, c'est pas si mal tout compte fait, ça aide à découvrir des technologies que je ne connaissais pas, même si le projet est dur, et personne n'en veut. C'est que comme ça qu'on acquiert une expertise.
    D'autre part grace à vos interventions j'ai pu solutionner un grand nombre de problèmes techniques, je suis convaincu que j'y arriverai, peut être pas aussi rapidement que je le souhaite, mais j'y arriverai.

    Cordialement

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par BiM Voir le message
    Bonjour,

    Personnellement, je n'ai pas compris ton problème. En fait, je comprend ce que tu veux plus ou moins mais pas suffisamment pour pouvoir t'aider.

    Peux-tu ré-expliquer ton problème en aérant le texte et en faisant différents points ? Basé sur des exemples simples de comportement ?
    Bonjour,
    j'ai un petit plus de temps, meme le dimanche, mais que voulez vous, c'est ainsi. En fait je dois faire une requete mensuelle sur le temps de travail, celle ci retournant une valeur a par exemple pour le mois janvier, je met cette valeur a dans une variable X. Je refaits une requete pour le mois de février, qui me donne une valeur b par exemple. A présent X = a+ b.
    Je ferai une requete au mois de mars, qui va donner une valeur c, au mois de mars X= a+b+c et ainsi de suite jusqu'au mois de décembre. Autrement dit pour chaque mois, la variable X augmente de la valeur retournée par la requete. Au mois de janvier de l'année 2010, la variable X sera réinitialisée, et vaudra X=0.
    Est il possible de faire ceci simplement avec BIRT ?

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Stockage.
    C'est possible.

    Que je comprenne bien, c'est 1 Run du rapport une fois par mois et on souhaite avoir le chiffre à date?

    Si oui, le rapport c'est pas un endroit pour stocker des données.

    Sinon, comme BIRT c'est un XML , totu rapport BIRT peut...Constituer une source de données pour un autre Rapport BIRT :-)

    En gros vous pouvez recupérer une données d'un ancien rapport BIRT afin de l"inclure dans un nouveau.

    Je peux vous fournir un "connecteur" qui exploite un rapport BIRT en source de données.

    Sinon, merci de bien préciser OU vous voulez stocker ces données et la façon de procéder.

  11. #11
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par Stefan C Voir le message
    C'est possible.

    Que je comprenne bien, c'est 1 Run du rapport une fois par mois et on souhaite avoir le chiffre à date?

    Si oui, le rapport c'est pas un endroit pour stocker des données.

    Sinon, comme BIRT c'est un XML , totu rapport BIRT peut...Constituer une source de données pour un autre Rapport BIRT :-)

    En gros vous pouvez recupérer une données d'un ancien rapport BIRT afin de l"inclure dans un nouveau.

    Je peux vous fournir un "connecteur" qui exploite un rapport BIRT en source de données.

    Sinon, merci de bien préciser OU vous voulez stocker ces données et la façon de procéder.
    Ok je comprends mieux maintenant, en fait c'est une requete sql qui doit se charger de la chose, et non BIRT.
    BIRT est là pour traiter les requêtes sql les afficher, faire des calculs complémentaires, mais il ne peut pas faire le travail à notre place. Donc faut que je fasse le script la requête maintenant.
    Je sais ce que je dois faire à présent.
    Sinon que voulez vous dire par connecteur ?

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Connecteur
    Connecteur = comme un pilote pour une base de données, sauf que ce coup-ci c'est un pilote spécial pour extraire des données à partir d'un rapport BIRT.

    C'est pratique pour certains cas d'utilisation ( tests et comparaisons de rapports, consolidation des données des rapports existants etc. )

  13. #13
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Et vous le faîtes comment ce connecteur ? Y aurait il un tutoriel qui pourrait nous y aider ?

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 229
    Points : 137
    Points
    137
    Par défaut
    bonjour,

    Si je comprends bien ta requete doit porter sur les 12 mois d'une année et doit ramener une valeur par mois et avoir un total des valeurs pour les 12 mois ?
    Cela ne ressemble-t-il pas a un crosstab, avec en colonnes les 12 mois de l'année et un "grand total" qui somme les valeurs en colonnes ?

    Argument de ta requete, l'année a couvrir.

    Peut-etre ai-je lu trop vite ton message ? J'espere que cela repond a ton besoin.

  15. #15
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par scariou29 Voir le message
    bonjour,

    Si je comprends bien ta requete doit porter sur les 12 mois d'une année et doit ramener une valeur par mois et avoir un total des valeurs pour les 12 mois ?
    Cela ne ressemble-t-il pas a un crosstab, avec en colonnes les 12 mois de l'année et un "grand total" qui somme les valeurs en colonnes ?

    Argument de ta requete, l'année a couvrir.

    Peut-etre ai-je lu trop vite ton message ? J'espere que cela repond a ton besoin.
    En fait il faut faire une requête sql qui ira chercher une somme par mois, et à chaque mois elle addtionnera la valeur qu'elle trouve avec la valeur cumulée des mois précédents, et ceux jusqu'au mois de décembre de l'année prochaine, une fois arrivée au mois de janvier 20010, elle réinitialisera la somme à zéro.
    J'ai ma petite idée sur la requête sql à produire. Ce que je ne savais pas c'est que maintenant sql permet l'utilisation de variables et même de boucles.
    Le gros du boulot sera comme toujours en sql. BIRT peut aider à résoudre certains problèmes, mais en aucun il permet de faire des requêtes complexes pour nous, puisque justement son rôle et de mettre en forme les requêtes que nous produisons. C'est comme si on demandait à Eclipse de faire les programmes java pour nous.
    C'est Stefan en fait qui m'a mis sur la voie.

    Cordialement.

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

Discussions similaires

  1. 2 Variables globales une fonction c'est possible ?
    Par torquemada dans le forum Débuter
    Réponses: 2
    Dernier message: 01/06/2013, 11h33
  2. Variables globales et fonctions
    Par Steph0 dans le forum Ada
    Réponses: 5
    Dernier message: 21/04/2009, 22h56
  3. Variable globale et fonctions
    Par Joratois dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2009, 22h30
  4. variable globale et fonctions du fichier views
    Par jtadjo dans le forum Django
    Réponses: 1
    Dernier message: 03/03/2008, 12h38
  5. Variables globales dans une fonction?
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/07/2006, 01h53

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