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 :

Concaténer des données provenant de différents DATASET


Sujet :

BIRT

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 13
    Points
    13
    Par défaut Concaténer des données provenant de différents DATASET
    Bonjour,

    J'utilise BIRT depuis quelques jours, je commence à bien m'y faire.
    Mais je me pose une question.

    Dans un champ de texte (data), je souhaitais concaténer des données provenant de différents DATASET mais je n'ai toujours pas réussi.

    Ex : dataSetRow["dataset1.champ1"]+dataSetRow["dataset2.champ2"] ...

    Mais je n'arrive pas à récupérer la valeur d'un champ appartenant à un autre DATASET. J'imagine que c'est possible que c'est quand même quelquechose de basique mais je ne trouve pas.


    Dans le même principe, j'aimerai tester la valeur d'un champ provenant d'un autre DATASET pour afficher tel ou tel champ du DATASET de mon objet data.


    Merci d'avance.

  2. #2
    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 !

    C'est possible mais il faut faire des tableaux imbriqués.

    Tu récupères les données de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    row["champ_de_ton_dataset_le_plus_haut"]+" "+row._outer["champ_de_ton_dataset_parent"]
    Puisque chaque Dataset contient plusieurs lignes de données.

    PS : c'est row._out ou row._outer je ne me souviens plus.

    Bon courage !

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Pour concaténer des données ca marche très bien.
    Mais je voulais savoir s'il était possible d'utiliser ce row._outer["champ"] directement dans le Property Binding d'un DataSet ?

    J'ai essayé mais ca ne fonctionne pas...

  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
    Pourtant ca fonctionne à merveille

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    J'arrive bien à utiliser un row._outer["champ"] lorsque je veux afficher un champ du "table" supérieur dans un "table" inférieur mais lorsque je souhaite créer la requete d'un "table" inférieur à l'aide du row._outer["champ"] du "table" supérieur ca ne fonctionne pas.

    Voila ce que Birt me renvoie :

    OdaDataSet fact:
    + Error evaluating Javascript expression. Script engine error: TypeError: Cannot read property "NIVREL" from null
    Script source: property binding, line: 0, text:
    "select FACTURE.NUMFACT,TYPEFACT,DAT_FACT,TOTAL_TTC,DAT_ECH,TOTAL_HT,TOTAL_TTC-TOTAL_HT MTVA,DATE_PASS,rtrim(NOM) NOM "
    +"from FACTURE,RELANCE_TEMP,CAF "
    +"where FACTURE.NUMFACT=RELANCE_TEMP.NUMFACT "
    +"and FSELECTION='O' "
    +"and RELANCE_TEMP.NIVREL='"+row._outer["NIVREL"]+"' "
    +"and NUMREL="+params["numrel"]+" "
    +"and RELANCE_TEMP.COD_CLI="+row._outer["COD_CLI"]+" "
    +"and FACTURE.COD_CAF=CAF.CODCAF "
    +"order by FACTURE.NUMFACT"


    Les champs NIVREL et COD_CLI se trouvent bien dans la requete du "table" supérieur.

    Je ne comprend pas que je puisse afficher le row._outer["NIVREL"] mais pas l'utiliser dans le property binding.

  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
    Hum... tu devrais regarder du côté des propriétés filters dans les tableaux, sisi je t'assure. Et si tu tiens absolument à construire ta requête de cette manière, essaye d'abord d'afficher la requête elle-même et non ce qu'elle te renvoie.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut row._outer
    bonjour tout le monde,
    j'arrive pas a utiliser "row._outer"
    lorsque je l'utilise dans un filtre dans un tableau il me lance cet erreur dans la generation d'un rapport:

    Erreur 0 : data.engine.InvalidFieldName (11 fois)
    détails : org.eclipse.birt.data.engine.core.DataException: Nom de champ incorrect : _outer at org.eclipse.birt.data.engine.executor.ResultObject.getFieldValue(ResultObject.java:138) at org.eclipse.birt.data.engine.script.DataRow.getColumnValue(DataRow.java:90) at org.eclipse.birt.data.engine.script.JSRowObject.get(JSRowObject.java:243) at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1263) at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1332) at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1321)

Discussions similaires

  1. Comment enregistrer des données de DataGridView dans dataset
    Par hellspawn_ludo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/05/2007, 08h23
  2. Traitement des données provenant d'un formulaire
    Par captainflex dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 03/05/2007, 15h21
  3. Réponses: 2
    Dernier message: 21/02/2007, 11h22
  4. [MySQL] Affichage des données provenant du formulaire
    Par ciel65 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/12/2006, 18h35
  5. [MySQL] Inserer des donnée provenant d'un fichier
    Par agencep dans le forum PHP & Base de données
    Réponses: 48
    Dernier message: 20/02/2006, 17h30

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