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 :

Comment copier les valeurs d'un champ d'un data set vers un objet Array()?


Sujet :

BIRT

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 31
    Points : 33
    Points
    33
    Par défaut Comment copier les valeurs d'un champ d'un data set vers un objet Array()?
    Bonjour,

    J'aimerais transférer les dates de jours fériés provenant d'un data set dans un objet array(). Ainsi, avec cet array(), je pourrai calculer le nombre de jour férié entre une date de début et une date de fin et cela pour chaque record d'un data set.

    Pourriez-vous m'indiquer comment faire cela, soit copier les valeurs d'un champ d'un data set vers un objet Array()?

    Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 51
    Points : 162
    Points
    162
    Par défaut
    Bonjour,

    Je n'ai jamais essayé. Mais peut-être je peut aider tout de même ^^.

    Essaie de cliquer sur ton data set (un clic gauche) puis clique sur Script.

    Dans le before open dans le Onfetch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date[date.length] = row["date"];
    dans le before close
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reportContext.setPersistentGlobalVariable("myArray",date);
    En espérant que ça t'aide !
    Après je ne suis pas du tout expert avec cela, désolé.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 31
    Points : 33
    Points
    33
    Par défaut Remerciement, commentaire, question
    Merci Fuigi, ta réponse m'a dépannée.

    J'aimerais faire le commentaire suivant afin d'aider les novices comme moi. J'ai remarqué que pour peupler mon Array[], il faut non seulement que le Data Set d'où proviennent les données de peuplement existent mais en plus il faut que dans le rapport un tableau associé à ce Data Set soit appelé. J'ai remarqué cela car ayant créé un autre tableau qui n'est pas associé à ce Data Set mais utilisant l'Array[] en question il me disait que cet Array[] n'était pas défini. J'ai donc dû insérer avant ce tableau un tableau associé au Data Set d'où proviennent les données de peuplement. J'ai mis ce tableau inséré invisible dans le rapport.

    Préambule à ma question, dans le before close cela fonctionnait aussi en remplaçant "myArray" par "date" sans changer les 2 autres script de ta réponse. Je pouvais accéder à date[3] avec le before close à "myArray" ou à "date".

    Ma question, si mon Array[] c'est date[] alors comment fait-il pour comprendre que c'est de cet Array[] dont je parle lorsque j'utilise "myArray" comme premier paramètre de reportContext.setPersistentGlobalVariable?

    Merci d'avance.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 51
    Points : 162
    Points
    162
    Par défaut
    En faite le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reportContext.setPersistentGlobalVariable("myArray",date);
    Permet de créer une "PersistentGlobalVariable" nommé "myArray", ce n'est donc pas un paramètre, à partir de ton objet (qui est un Array) appellé date.

    J'espère que j'ai répondu à ta question.

    Autrement c'est bizarre que tu sois obligé de créé un tableau invisible lié à ce data set. Après je n'ai jamais utilisé cela, je reste un novice tout de même (en stage sur BIRT).

    Sinon tu peux faire un tour sur le forum de birt (qui est en anglais) : http://developer.actuate.com/community/forum

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Bonjour , c'est parce que les dataSet ne sont générés que lorsque qu'ils sont utilisés, c'est a dire que si tu crée 10 dataSet et que tu ne fait appel que a deux d'entre eux dans ton rapports( que ce soit par les paramètres ou par les tableaux/graphique) ce seras uniquement c'est deux la qui seront générés lors de l’exécution de ton rapport ce qui évite de charger des données inutile dans ton rapport

Discussions similaires

  1. Comment récupérer les valeurs d'un champ..
    Par KOTEKOI dans le forum MFC
    Réponses: 5
    Dernier message: 11/03/2011, 23h23
  2. [AC-2003] Comment stocker les valeurs d'un champ d'un recordset
    Par megdi dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/09/2009, 14h29
  3. Réponses: 3
    Dernier message: 13/01/2009, 17h55
  4. Réponses: 4
    Dernier message: 11/09/2006, 18h58
  5. Réponses: 2
    Dernier message: 04/05/2006, 12h34

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