Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2011, 16h17   #1
Futur Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 49
Points : 18
Points : 18
Par défaut Plusieurs questions/problèmes sur BIRT

Bonjour à tous,

Je suis nouveau dans l'utilisation de BIRT et je n'arrive pas à résoudre un problème depuis 2 jours...

Mon problème majeur c'est que je souhaiterai récupérer une donnée qui est retourné par une requête.

J'ai en fait, une requête A qui demande une table à la base de données. Cette table contient un seul champ. La BD lui fournit, je l'affiche dans le diaporama. Jusqu'ici, pas de problème.

Maintenant, je voudrai utiliser le résultat de cette requête A pour l'insérer dans une autre requête que j'appellerai requête B (comme un paramètre). J'ai réussi à créer le paramètre, je suis donc entrain de chercher comment lui affecter la valeur retournée par la requête précédente (requete A).

J'ai essayé plein de choses comme getElementById(X) en ayant identifié l'id de la table mais sans résultat... J'avais aussi l'idée d'écrire l'arborescence toute entière, quelque chose comme ça : row["requeteA"] [...... ??? .....] . Je ne sais pas trop comment m'y prendre avec les expressions javascript...

Vous avez une idée ?

Merci d'avance de votre réponse !
D4rkArthemis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 22h10   #2
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut Simple

La solution c'est beaucoup plus simple.

Il y a un mode "Dynamique" dans un paramètre.

Mode d'emploi : Créer un paramètre de type List Box P1 , cocher Dynamique , choisir source Dataset A.

Dans le Dataset B , rajouter une clause du type WHERE monchampB = ?
Aller dans Params et mapper le ? avec le P1.

P1 peut être un paramètre caché ( Hidden ) si vous ne souhaitez pas que l'utilisateur modifie cette valeur.
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 00h16   #3
Futur Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 49
Points : 18
Points : 18
Merci de ta réponse, j'essaierai en début de semaine !
Sinon pour les autres questions, aurait tu une idée de comment faire pour utiliser les champs dans les tables calculées suite à des requetes.
J'aimerai bien par exemple, savoir comment je peux accèder (de n'importe où) à un élément ou une table calculée. J'en aurai surement besoin après.
J'essaie de trouver la syntaxe javascript mais je m'y connais pas vraiment :

nomDataSET["colonne"].cells[?].value (un truc de ce genre là )
D4rkArthemis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 11h49   #4
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut Concept

ça c'est une autre histoire. Par ailleurs , à l'avenir poser une nouvelle question dans un nouveau thread et avec le bon intitulé svp

Exemple de comment je peux avoir la valeur de la Colonne X dans le Tableau Y

On code sur le Détail du Tableau Y sur le OnCreate ( onglet Script ) :

Code :
MaVariable = this.getRowData().getColumnValue("X");
Note , comme le Tableau c'est un type Iterator , je vais avoir toutes les valeurs de la colonne X successivement dans ma Variable.
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 09h49   #5
Futur Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 49
Points : 18
Points : 18
Entendu !

Je viens d'essayer plusieurs choses. J'ai bien réussi à obtenir un résultat correct en écrivant dans le script mais en revanche, je n'arrive pas à appliquer votre démarche sur le paramètre dynamique !

Je crée le paramètre, je lui précise le dataset A avec la selected value column et display text. Je lui donne également une valeur par défaut, je coche Hidden et is required.

J'ai voulu tester ce que ça donnait en visualisant par avance ce que le paramètre contenait : params["P1"] mais sans résultat. Il ne m'affiche que la valeur par défaut, j'ai l'impression qu'il y a un problème et qu'il n'arrive pas à accèder aux valeurs renvoyées par la dataset.

Quelqu'un a une solution ?
D4rkArthemis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 10h29   #6
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut Reflexion

Après Réflexion , pas besoin de paramètre dans votre cas.

Un simple sous select ferait l'affaire.

Select * from Commandes
.
.
.
Where Pays = (Select machin from ma table avec 1 valeur ).
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 10h40   #7
Futur Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 49
Points : 18
Points : 18
Je vais avoir besoin de paramètre je pense

Pour vous expliquer brièvement, j'ai un logiciel d'analyse d'application qui s'appelle CAST. Il stocke crée une base de données pour chaque application, dans chacune des BD, on peut trouver des informations comme la robustesse de l'application et j'en passe.
Mon but est de créer un rapport générique avec Birt. Je dois donc entrer une base de données de CAST et il me ressort un rapport avec les données de l'application.

Pour en revenir à mon problème que je vais concrétiser avec un exemple :
- j'ai une requête qui me retourne une technologie avec son ID dans la BD (exemple : -5 Java)
- je voudrais obtenir la valeur de cette requête pour l'utiliser plus tard
(la ligne renvoyée ne sera pas la même en fonction de l'application !)
- Je pourrais donc utiliser la valeur de cette requête pour les autres requêtes

C'est pour cela que je veux bien que tu me réexplique les paramètres dynamiques.

Je reste toujours également dans l'espoir de faire quelque chose de très simple avec l'ID de l'élément. Je ne sais pas du tout si c'est possible. A chaque fois que je crée un élement (tables, champ d'une table, label, texte, grid ...), dans l'onglet "general", j'ai un element ID. Ce ne serait pas possible de se servir de cet ID dans un script ?
D4rkArthemis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 10h48   #8
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut Join dataset

Si les données ont 2 sources différentes , il existe également le Join Dataset

Ceci permet de "filtrer" le Dataset 1 en fonction du résultat du Dataset 2.

Note : cette approche n'est pas bonne pour une grosse volumétrie de données car ça recupère tout avant de filtrer.
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 10h58   #9
Futur Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 49
Points : 18
Points : 18
Oui j'avais lu un point dans une FAQ sur "join data set". Je pense que cela peut marcher dans cet exemple et en théorie mais comme tu dis, c'est conséquent ! Je manipule des BD avec des centaines de tables qui contiennent chacunes des milliers de champs !

Autres solutions ?
D4rkArthemis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 11h04   #10
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut Proc Stoc / Fonction

Une belle Proc Stoc

Quel est votre besoin très précisement?

Ca reste un peu vague pour moi
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 11h13   #11
Futur Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 49
Points : 18
Points : 18
Je vais essayer d'être précis

Je possède une requête SQL qui me donne toutes les technologies de utilisées dans l'application. J'ai donc une data set (que j'appelle Data set A) qui est une table de deux colonnes : Object_Name et Object_type_id.
J'affiche cette data set dans mon rapport et j'applique un filtre sur cette table qui doit me renvoyer que la première ligne de la requete.

Maintenant, je souhaite récupérer cette ligne pour avoir accès à la valeur object_type_id. N'oublions pas que mon rapport est générique ! A chaque application analysée, je n'aurais que rarement les mêmes valeurs pour cette requete A.

Une fois que j'aurais récupéré cette ligne, je voudrais utiliser la valeur de la colonne object_type_id pour l'insérer dans un paramètre et utiliser ce paramètre pour, à son tour, l'insérer dans une nouvelle requête SQL (data set B).

Si vous ne comprenez pas jusqu'ici, je peux vous faire des screenshots, il n'y a pas de problème !

Le problème que je rencontre, c'est au niveau de la création du paramètre dynamique. J'ai essayé de stocker le résultat de la requête A filtrée dans une variable et j'ai envoyé la variable au paramètre en default value mais je pense que je m'y prends mal.

Encore une fois, n'y a t-il pas un moyen d'utiliser l'ID de l'élement de la requête A ?

Merci en tout cas de ton aide !
D4rkArthemis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 15h46   #12
Futur Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 49
Points : 18
Points : 18
J'ai réussi tout seul comme un grand

J'ai crée mon paramètre et j'ai utilisé la fonction que tu m'as donné pour lui affecter la valeur dans le onCreate !
Si bien que j'ai :
Citation:
params["objectidTSFW"] = this.getRowData().getColumnValue("OBJECT_ID");
Mon paramètre possède bien la valeur après vérification et je peux m'en servir pour le transmettre aux requêtes après

En fait, il fallait faire un mix de tes deux premiers postes
D4rkArthemis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 12h07   #13
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut Marquer

Note : un dataset qui n'est pas utilisé ( un Grid caché ou un Param caché ) ne sera pas exécuté. Donc pas de valeur.

D'ou mon astuce

Sinon , si vous voulez bien marquer Résolu ceux qui sont fermés svp.
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h16.


 
 
 
 
Partenaires

Hébergement Web